@charset "UTF-8";
/* CSS Document */

@font-face {
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

/*フォントサイズを変更しやすくするための設定*/
html{
	font-size: 62.5%; /*16px x 62.5% =10px*/
}

/*フォント種類・フォントカラー・フォントサイズの指定*/
body{
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	color: #111111;
	font-size: 1.6rem;
	line-height: 1.7;
	font-feature-settings: "palt";
	letter-spacing: 1.5px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background-image: url("../img/common/img_bg.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

/*画像のレスポンシブ対応*/
img{
  max-width: 100%;
  height: auto; 
}
a{
	color: #111111;
}
a:hover{
	text-decoration: none;
}
li{
	list-style: none;
}
.inner{
	max-width: 1140px;
	margin: 0 auto;
}
.text-center{
	text-align: center;
}
.pcOnly{
	display: block;
}
.spOnly{
	display: none;
}
.flexWrapper{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
h2{
	font-size: 3.5rem;
	letter-spacing: 3px;
	line-height: 1.5;
	text-align: center;
}
h3{
	font-size: 2.5rem;
	letter-spacing: 3px;
	text-align: center;
}

/*section start*/
.section{
	padding: 120px 0;
}
/*section end*/

/* secHeader start */
.secHeader{
	margin-bottom: 100px;
}
.secHeader-inner{
	max-width: 1140px;
	margin: 0 auto;
}
.secHeader .wrapper{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.secHeader h2{
	text-align: left;
	margin-bottom: 10px;
}
.secHeader h2 span{
	color: #2B7DD6;
}
/* secHeader end */

/* btn start */
.btn{
	display: inline-block;
	padding: 20px 60px 20px 25px;
	border: solid 1px #000;
	position: relative;
	border-radius: 10px;
}
.btn::before{
	content: url("../img/common/btn_arrow.svg");
	display: inline-block;
	width: 22px;
	height: 23px;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
}
.btn:hover{
	background-color: #f9f9f9;
	transition: 0.3s;
}
.btn:hover::before{
	right: 10px;
	transition: 0.3s;
}
/* btn end */

/* pcHeader start */
.pcHeader{
	box-sizing: border-box;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	padding: 10px 30px;
	transition: 0.5s;
}
.pcHeader.action{
	background-color: #fff;
}
.pcHeader .inner{
	max-width: 100%;
}
.pcHeader .wrapper{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.pcHeader .left h1,
.pcHeader .left p{
	letter-spacing: 2.5px;
}
.pcHeader .left h1 span,
.pcHeader .left p span{
	display: block;
	font-size: 2.8rem;
	letter-spacing: 5px;
}
.pcHeader .right nav ul{
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.pcHeader .right nav ul li{
	margin-left: 20px;
}
.pcHeader .right nav ul li a:hover{
	opacity: 0.7;
	transition: 0.3s;
}
.pcHeader .right nav ul li.contact a{
	display: block;
	background-color: #2B7DD6;
	padding: 10px 15px;
	border-radius: 5px;
}
/* pcHeader end */

/* pageHeader start */
.pageHeader{
	padding: 12vw 0;
	background-color: #f2f2f2;
	margin-top: 95px;
	position: relative;
}
.pageHeader h1{
	font-size: 4rem;
	letter-spacing: 10px;
	text-align: center;
}
.pageHeader .item01{
	width: 35vw;
	position: absolute;
	top: 0;
	right: 0;
	text-align: right;
}
.pageHeader .item02{
	width: 45vw;
	position: absolute;
	bottom: 0;
	left: 0;
}
/* pageHeader end */

/* archive start */
.archive ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	padding: 0 25px;
}
.archive ul li{
	box-sizing: border-box;
	width: 33.3333%;
	padding: 0 25px;
	margin-bottom: 80px;
}
.archive ul li .eyecatch{
	height: 18vw;
	padding: 10px;
	background-color: #f2f2f2;
	overflow: hidden;
	border-radius: 10px;
}
.archive ul li .eyecatch img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 8px;
}
.archive ul li .info{
	padding-top: 10px;
}
.archive ul li .info time{
	text-align: left;
}
.archive ul li .info h3{
	font-size: 1.5vw;
	text-align: left;
}
.archive .noPost{
	font-size: 1.8rem;
	letter-spacing: 3px;
	text-align: center;
}
#front .archive .noPost{
	margin-bottom: 70px;
}
/* archive end */

/*footer start*/
.footer{
	background-image: url("../img/common/img_01.jpg");
	background-size: cover;
}
.footer .inner{
	max-width: 100%;
	padding: 70px 0 0;
	text-align: center;
}
.footer .logo{
	margin-bottom: 50px;
}
.footer .navigation nav ul{
	display: flex;
	justify-content: center;
	align-content: center;
}
.footer .navigation nav ul li{
	margin-right: 50px;
}
.footer .navigation nav ul li a:hover{
	opacity: 0.7;
	transition: 0.3s;
}
.footer .navigation nav ul li:last-of-type{
	margin-right: 0;
}
.footer .footer-item01{
	margin-top: 60px;
}
.footer .copyright{
	padding: 30px 0;
}
/*footer end*/

/* スクロールでフェードイン start */
.fadein {
	opacity: 0;
	transition : 1000ms;
}
.fadein.scrollin{
	opacity: 1;
}
/* スクロールでフェードイン end */

/* 読み込みでフェードイン start */
.fadein-ready {
	opacity: 0;
	transition : 1000ms;
}
.fadein-ready.scrollin{
	opacity: 1;
}
/* 読み込みでフェードイン end */

/*page404 start*/
.page404{
	padding: 100px 0 100px;
	background-color: #f9f9f9;
}
.page404 .upper{
	padding-bottom: 70px;
	margin-bottom: 70px;
	border-bottom: solid 1px #dedede;
}
.page404 .title{
	font-size: 100px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	margin-bottom: 30px;
}
.page404 .upper p{
	font-size: 3rem;
	font-weight: 500;
	line-height: 1;
	text-align: center;
}
.page404 .bottom{
	display: flex;
	justify-content: center;
	align-items: center;
}
.page404 .bottom .left{
	margin-right: 70px;
}
.page404 .bottom .right p{
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 2px;
	margin-bottom: 30px;
	line-height: 1.7;
}
.page404 .bottom .right .btn{
	display: inline-block;
}
/*page404 end*/

/*breadcrumbs start*/
.pageHeader .breadcrumbs{
	position: absolute;
	bottom: 10px;
	right: 25px;
}
#single .pageHeader .breadcrumbs{
	position: static;
	bottom: auto;
	right: auto;
	text-align: left;
}
.pageHeader .breadcrumbs .aioseo-breadcrumb{
	font-size: 1.4rem;
}
/*breadcrumbs end*/


@media screen and (max-width:767px){
	
	body{
      font-size: 1.4rem;
  }
  .inner{
		box-sizing: border-box;
		max-width: 100%;
		padding: 0 20px;
  }
  img{
      width: 100%;
      height: auto;
  }
  .pcOnly{
		display: none;
  }
  .spOnly{
		display: block;
  }
	h2{
		font-size: 2.5rem;
		font-weight: 500;
		letter-spacing: 2px;
		text-align: center;
	}
	h3{
		font-size: 1.8rem;
		font-weight: 500;
		letter-spacing: 2px;
		text-align: center;
	}
	
	/*section start*/
	.section{
		padding: 50px 0;
	}
	/*section end*/

	/* secHeader start */
	.secHeader{
		margin-bottom: 50px;
	}
	/* secHeader end */

	/* btn start */
	.btn{
		padding: 10px 15px;
		text-align: center;
		border-radius: 10px;
		background-color: #f9f9f9;
	}
	.btn::before{
		content: none;
	}
	/* btn end */

	/* spHeader start*/
	.spHeader{
		box-sizing: border-box;
		position: fixed;
		top: 10px;
		right: 10px;
		z-index: 10;
	}
	.triggerBtn-wrapper{
		background: #2B7DD6;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 1px;
		border-radius: 5px;
		overflow: hidden;
	}
	.triggerBtn-line {
		display: inline-block;
		width:40px;
		height:30px;
		margin: 0 auto;
		position: relative;
		background-color: #2B7DD6;
		border-radius: 50px;
	}
	.triggerBtn-line span {
		display: block;
		width: 20px;
		height: 1px;
		position: absolute;
		transition: all 0.5s;
	}    
	.triggerBtn-line span:first-of-type{
		background-color: white;
		top: 11px;
		left: 50%;
		transform: translateX(-50%);
	}
	.triggerBtn-line span:last-of-type{
		background-color: white;
		top: 18px;
		left: 50%;
		transform: translateX(-50%);
	}
	.triggerBtn-line.active span:first-of-type{
		top: 14px;
		transform: translateX(-50%) rotate(45deg);
	}
	.triggerBtn-line.active span:last-of-type{
		top: 14px;
		transform: translateX(-50%) rotate(-45deg);
	}
	/* spHeader end*/

	/*drawer start*/
	.drawer{
		opacity: 0;
		box-sizing: border-box;
		width: 70%;
		margin-left: 30%;
		background: #f2f2f2;
		position: fixed;
		top: 0;
		left: 0;
		transition: 0.1s;
		z-index: -15;
		padding: 10px;
	}
	.drawer.open{
		opacity: 1;
		z-index: 9;
	}
	.drawer .inner{
		box-sizing: border-box;
		width: 100%;
		padding: 0;
		background-color: #fff;
	}
	.drawer-logo{
		width: 180px;
		padding-top: 80px;
		margin: 0 auto;
	}
	.drawer .menu{
		box-sizing: border-box;
		text-align: center;
		padding-top: 40px;
		padding-bottom: 50px;
	}
	.drawer .menu ul li a{
		display: block;
		padding: 10px 0;
	}
	.drawer .menu ul li a span{
		margin-left: 10px;
	}
	.drawer .menu ul li.contact{
		display: inline-block;
		margin-top: 25px;
	}
	.drawer .menu ul li.contact a{
		display: block;
		width: 120px;
		font-size: 1.6rem;
		color: white;
    padding: 10px 30px;
    background-color: #2B7DD6;
    margin: 0 auto;
		border-radius: 5px;
	}
	.drawer .menu ul li.contact a img{
		width: 28%;
		margin-right: 15px;
	}
	/*drawer end*/
	
	/* archive start */
	.archive ul{
		display: block;
		padding: 0;
	}
	.archive ul li{
		width: 100%;
		margin-bottom: 30px;
		padding: 0;
	}
	.archive ul li:last-of-type{
		margin-bottom: 0;
	}
	.archive ul li .eyecatch{
		height: 54vw;
		padding: 7px;
	}
	.archive ul li .info time{
		font-size: 1.3rem;
	}
	.archive ul li .info h3{
		font-size: 1.5rem;
	}
	.archive .noPost{
		font-size: 1.5rem;
		letter-spacing: 3px;
		text-align: center;
	}
	#front .archive .noPost{
		margin-bottom: 30px;
	}
	/* archive end */
	
	/* pageHeader start */
	.pageHeader{
		margin-top: 0;
		padding: 18vw 0;
	}
	.pageHeader h1 {
    font-size: 2.5rem;
    letter-spacing: 7px;
    text-align: center;
	}
	.pageHeader .item01 {
    width: 45vw;
    position: absolute;
		top: auto;
    bottom: 0;
    right: 0;
    text-align: right;
	}
	.pageHeader .item02 {
    width: 55vw;
    position: absolute;
    top: 0;
		bottom: auto;
    left: 0;
	}
	/* pageHeader end */

	/*footer start*/
	.footer .inner{
		padding: 50px 0 0;
	}
	.footer .logo{
		width: 60%;
		margin: 0 auto;
	}
	.footer .navigation{
		padding: 30px 0;
	}
	.footer .navigation nav ul{
		display: block;
	}
	.footer .navigation nav ul li{
		margin-right: 0;
	}
	.footer .navigation nav ul li a{
		display: block;
		padding: 10px 0;
	}
	.footer .copyright{
		padding: 20px 0;
		margin-top: 0;
	}
	.footer .copyright small{
		font-size: 1.2rem;
	}
	.footer .footer-item01{
		margin-top: 0;
	}
	/*footer end*/

	/* スクロールでフェードイン start */
	.fadein {
		opacity: 0;
		transition : 1000ms;
	}
	.fadein.scrollin{
		opacity: 1;
	}
	/* スクロールでフェードイン end */
	
	/*page404 start*/
	.page404{
		padding: 40px 0;
	}
	.page404 .upper{
		padding-bottom: 35px;
		margin-bottom: 30px;
	}
	.page404 .upper div{
		width: 70%;
		margin: 0 auto 30px;
	}
	.page404 .title{
		font-size: 30px;
		margin-bottom: 20px;
	}
	.page404 .upper p{
		font-size: 1.8rem;
	}
	.page404 .bottom .right{
		width: 100%;
		text-align: center;
	}
	.page404 .bottom .right p{
		font-size: 1.6rem;
		text-align: center;
	}
	.page404 .bottom .right .btn{
		margin: 0 auto;
	}
	/*page404 end*/
  
	
	
}

