@charset "utf-8";


/*----------------------------------------------
	Overall settings
-----------------------------------------------*/

body{ min-width: 1100px; color: #111; text-align: center;}
body.ovh{ position: fixed; left: 0; top: 0; width: 100%; height: 100vh;}
a{ color: #111; text-decoration:none; -webkit-transition: all .2s; transition: all .2s;}
a:hover{ opacity: .7; text-decoration:none;}
.underline{ text-decoration: underline;}
/* font */
.gothic{ font-family: sans-serif,"Yu Gothic","游ゴシック体", YuGothic, "游ゴシック";}
.mincho{ font-family: serif,メイリオ,Meiryo,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E;}
/* bg */
.bg-white{ background: #fff;}
/* color */
.white{ color: #fff;}
.red{ color: #c00;}
.blue{ color: #1b1464;}

.fw-bold{ font-weight: bold;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	body{ min-width: inherit;}
	a:hover{ opacity: 1;}
}
@media screen and (max-width: 350px) {
	html{ font-size: 50%;}
}



/*----------------------------------------------
	header
-----------------------------------------------*/

header{
	width: 100%;
	height: 100px;
	margin: 0 auto;
	position: fixed;
	z-index: 99;
	top: 0;
	left: 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 0 4%;
	-webkit-transition: all .2s; transition: all .2s;
}
header.bg-white{ background: #fff;}
header .headerwrap{
	display: flex;
	position: relative;
	z-index: 999;
}
header .logo{
	width: 400px;
	height: 100px;
}
header.top-header .logo{
	width: 0;
	height: 0;
}
header .logo img{ vertical-align: top;}
header .spmenu{ display: none;}
/* nav */
header nav{
	font-family: serif;
	font-weight: bold;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 30px;
}
header nav ul{ display: flex;}
header nav ul li{
	width: 140px;
	margin-left: 10px;
}
header nav ul li a{
	display: block;
	padding: 5px;
	border-bottom: 4px solid #f2f2f2;
}
header nav ul li.active a,header nav ul li a:hover{ border-bottom: 4px solid #00a99d; opacity: 1;}
header nav .header-sns{
	display: flex;
	margin-left: 45px;
}
header nav .header-sns a{
	display: block;
	margin-left: 5px;
	width: 32px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 1650px) {
	header{ padding: 0 1%;}
	header .logo{ width: 300px; height: 75px;}
	header nav ul li{ width: 125px;}
	header nav .header-sns{ margin-left: 15px;}
}
@media screen and (max-width: 540px) {
	header{
		height: 100px;
		padding: 0;
	}
	img {
		width: 100%;
	}
	header .headerwrap{
		width: 100%;
		justify-content: space-between;
	}
	header .logo{ width: 240px; height: 60px;}
	header .spmenu{
		color: #fff;
		display: block;
		float: right;
		width: 30px;
		height: 30px;
		cursor: pointer;
		z-index: 101;
		position: relative;
		margin: 10px 10px 0 0;
		border: 1px solid #00a99d;
	}
	header .spmenu span,
	header .spmenu span:before,
	header .spmenu span:after{
		position: absolute;
		display: block;
		background: #00a99d;
		width: 13px;
		height: 1px;
		transition: all .5s;
	}
	header .spmenu span{
		top: 11px;
		left: 8px;
	}
	header .spmenu span:before,header .spmenu span:after{
		content: "";
		left: 0;
	}
	header .spmenu span:before{ top: 3px;}
	header .spmenu span:after{ top: 6px;}
	header.open .spmenu span{
		top: -6px;
		-webkit-transform: translateY(20px) rotate(-45deg);
		transform: translateY(20px) rotate(-45deg);
	}
	header.open .spmenu span:before{
		opacity: 0;
	}
	header.open .spmenu span:after{
		-webkit-transform: translateY(-20px) rotate(90deg);
		transform: translateY(-20px) rotate(90deg);
		top: 20px;
	}
	/* nav */
	header nav{
		top: 0;
		right: 0;
		width: 100%;
		background: #fff;
		text-align: left;
	}
	header nav{
		overflow: auto;
		display: block;
		position: absolute;
		z-index: 1;
		top: 40px;
		width: 100%;
		left: 0;
		-webkit-transform: scale(1, 0);
		transform: scale(1, 0);
		-webkit-transform-origin: center top;
		transform-origin: center top;
		opacity: 0;
		transition-property: opacity, transform, -webkit-transform;
		transition-duration: .5s, 0s, 0s;
		transition-delay: 0s, .5s, .5s;
		box-shadow: 0 0 0 100vh #fff;
		background: #fff;
		height: calc(100vh - 80px);
	}
	header.open nav{
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
		transition-delay: 0s, 0s, 0s;
	}
	header nav ul{ display: block; padding: 0 20px 20px;}
	header nav ul li{
		width: auto;
		margin-left: 0;
	}
	header nav ul li a{
		padding: 5px;
		border-bottom: 2px solid #f2f2f2;
	}
	header nav ul li.active a,header nav ul li a:hover{ border-bottom: 2px solid #00a99d; opacity: 1;}
	header nav .header-sns{
		justify-content: center;
		margin-left: 0;
	}
	header nav .header-sns a{ margin: 0 10px;}
}

/*----------------------------------------------
	section
-----------------------------------------------*/

section{}
.wrap{ clear: both; box-sizing: content-box; max-width: 1160px; margin-left: auto; margin-right: auto; padding-left: 5%; padding-right: 5%;}
.wrap.maxw800{ max-width: 800px;}
.wrap.maxw1000{ max-width: 1000px;}
.wrap.maxw1200{ max-width: 1200px;}
/* wpeditor */
.wpeditor{ text-align: left; clear: both; margin-bottom: 100px;}
.wpeditor *:first-child{ margin-top: 0!important;}
.wpeditor h1,.wpeditor h2,.wpeditor h3,.wpeditor h4,.wpeditor h5,.wpeditor h6,.wpeditor a{ color: #0F3286; line-height: 1.4; margin-top: 2em;}
.wpeditor a{ text-decoration: underline;}
.wpeditor h1{ font-size: 32px;}
.wpeditor h2{ font-size: 30px;}
.wpeditor h3{ font-size: 28px;}
.wpeditor h4{ font-size: 24px;}
.wpeditor h5{ font-size: 20px;}
.wpeditor h6{ font-size: 18px;}
/* .wpeditor p, .wpeditor ul, .wpeditor ol, .wpeditor table{ margin-top: 2em;} */
.wpeditor figure{ text-align: center; margin-top: 4em;}
.wpeditor img{ display: block; margin: 1em auto;}
.wpeditor p.date{ text-align: right;}
.wpeditor em{ font-style: italic;}
.wpeditor iframe {
  display: block;
  width: 100%;  
  height: 100%;
  aspect-ratio: 16 / 9;
  border: none;
}
@media screen and (max-width: 540px){
	.wpeditor{ margin-bottom: 50px;}
	.wpeditor h1{ font-size: 20px;}
	.wpeditor h2{ font-size: 18px;}
	.wpeditor h3{ font-size: 16px;}
	.wpeditor h4{ font-size: 15px;}
	.wpeditor h5{ font-size: 14px;}
	.wpeditor h6{ font-size: 13px;}
}

.subt1{
	font-size: 30px;
	line-height: 1.2;
	font-weight: bold;
	text-align: center;
	font-family: serif,メイリオ,Meiryo,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E;
	letter-spacing: .02em;
	padding-bottom: 20px;
	position: relative;
}
.subt1:after{
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
	background: url("../img/subt1.svg") center no-repeat;
	width: 59px;
	height: 11px;
	display: block;
}
.btn1{
	font-size: 14px;
	text-align: center;
	display: inline-block;
	padding: 15px 40px;
	min-width: 360px;
	position: relative;
	border: 1px solid #00a99d;
	background: #fff;
}
.btn1:after{
	content: "";
	position: absolute;
	top: 0;
	right: 15px;
	bottom: 0;
	margin: auto 0;
	background: url("../img/arrow.svg") center no-repeat;
	width: 25px;
	height: 25px;
	display: block;
	-webkit-transition: all .2s; transition: all .2s;
}
.btn1:hover{ opacity: 1;}
.btn1:hover:after{ right: 7px;}
.btn2{
	text-align: center;
	width: 100%;
	display: inline-block;
	background: #f2f2f2;
	padding: 15px;
}
.btn3{
	text-align: center;
	display: inline-block;
	padding: 8px 65px 8px 25px;
	border-radius: 99px;
	position: relative;
	border: 1px solid #1b1464;
	background: #fff;
}
.btn3:after{
	content: "";
	position: absolute;
	top: 0;
	right: 15px;
	bottom: 0;
	margin: auto 0;
	background: url("../img/arrow-blue.svg") center no-repeat;
	width: 25px;
	height: 25px;
	display: block;
	-webkit-transition: all .2s; transition: all .2s;
}
.btn3:hover{ opacity: 1;}
.btn3:hover:after{ right: 7px;}
.tag{
	color: #fff;
	font-size: 12px;
	text-align: center;
	background: #00a99d;
	display: inline-block;
	padding: 2px;
	min-width: 80px;
}
.pagettl{
	margin-top: 130px;
	height: 160px;
	padding-top: 50px;
	background: url("../img/ttl-bg2.png") center no-repeat,
				url("../img/ttl-bg1.png") center repeat-x;
}
.tb1{
	line-height: 1.4;
	text-align: left;
	width: 100%;
	border-top: 1px dashed #ccc;
}
.tb1 th,.tb1 td{
	padding: 15px 20px;
	border-bottom: 1px dashed #ccc;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.subt1{
		font-size: 22px;
		padding-bottom: 10px;
	}
	.subt1:after{
		bottom: 0;
		background: url("../img/subt1.svg") center / 30px auto no-repeat;
		width: 30px;
		height: 6px;
	}
	.btn1{
		font-size: 12px;
		padding: 5px 40px;
		min-width: 180px;
	}
	.btn1:after{
		right: 10px;
		background: url("../img/arrow.svg") center / 16px auto no-repeat;
		width: 16px;
		height: 16px;
	}
	.btn2{ padding: 10px;}
	.btn3{ padding: 5px 35px 5px 20px;}
	.btn3:after{
		right: 10px;
		background: url("../img/arrow-blue.svg") center / 16px auto no-repeat;
		width: 16px;
		height: 16px;
	}
	.btn3 img{ max-width: 180px;}
	.tag{
		font-size: 10px;
		padding: 1px;
		min-width: 60px;
	}
	.pagettl{
		margin-top: 100px;
		height: 100px;
		padding-top: 25px;
		background: url("../img/ttl-bg2.png") center / auto 100px no-repeat,
					url("../img/ttl-bg1.png") center / auto 100px repeat-x;
	}
	.pagettl img{ max-width: 160px;}
	.tb1 th,.tb1 td{ padding: 8px 0;}
}



/*----------------------------------------------
	footer
-----------------------------------------------*/

footer{
	font-size: 14px;
	position: relative;
	margin-top: 60px;
}
footer:before{
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 2px;
	display: block;
	background: #e6e6e6;
}
footer .wrap{
	max-width: 890px;
	position: relative;
}
footer nav ul{
	display: flex;
	justify-content: center;
	position: relative;
	width: 898px;
	margin-right: auto;
	margin-left: auto;
}
footer nav ul li{
	width: 160px;
	margin: 0 4px;
}
footer nav ul:after{
	content: "";
	display: block;
	width: calc(100% + 8px);
	height: 4px;
	background: #fff;
	position: absolute;
	z-index: -1;
	top: -1px;
	right: -4px;
}
footer nav ul li a{
	display: block;
	border-top: 3px solid #ccc;
	padding: 25px 0 30px;
}
footer nav ul li.active a,footer nav ul li:hover a{ border-top: 3px solid #00a99d; opacity: 1;}
footer nav .footer-sns{
	position: absolute;
	bottom: -75px;
	left: 7%;
	display: flex;
}
footer nav .footer-sns a{
	display: block;
	margin-right: 10px;
}
footer .copy{
	color: #fff;
	padding: 40px;
	background: #666;
}
footer .copy div{
	text-align: right;
	max-width: 890px;
	margin: 0 auto;
}
footer .copy div p{
	display: inline-block;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	footer{
		font-size: 12px;
		margin-top: 25px;
	}
	footer:before{ content: none;}
	footer .wrap{ padding: 0;}
	footer nav ul{
		text-align: left;
		flex-wrap: wrap;
		width: auto;
		border-bottom: 1px solid #ccc;
	}
	footer nav ul li{
		width: 50%;
		margin: 0;
	}
	footer nav ul:after{ content: none;}
	footer nav ul li a{
		border-top: 1px solid #ccc;
		padding: 5px 10px;
	}
	footer nav ul li.active a,footer nav ul li:hover a{ border-top: 1px solid #ccc;}
	footer nav ul li:nth-child(2n) a{ border-left: 1px solid #ccc;}
	footer nav .footer-sns{
		position: static;
		justify-content: center;
		padding: 20px 5px;
	}
	footer nav .footer-sns a{
		display: block;
		width: 25px;
		margin: 0 3px;
	}
	footer .copy{ padding: 15px 5px; font-size: 8px;}
	footer .copy div{ text-align: center;}
}



/* top */
.main{ padding: 60px 5% 90px;}
.main h2{ position: relative;}
.main h2 .abs{
	position: absolute;
	right: 0;
	bottom: 0;
}
.top-instagram{ margin-bottom: 85px;}
.top-instagram ul.insta{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
}
.top-instagram ul.insta li{
	width: 280px;
	margin: 0 5px 10px;
}
.top-profile{
	padding: 5%;
	margin-bottom: 110px;
}
.top-profile div{
	display: inline-block;
	position: relative;
}
.top-profile div a{
	position: absolute;
	width: 200px;
	right: -90px;
	bottom: -20px;
}
.top-blog{ margin-bottom: 160px;}
.blog-list{
	text-align: left;
	display: flex;
	flex-wrap: wrap;
}
.blog-list a{
	display: block;
	width: 31%;
	margin: 0 3.448% 20px 0;
}
.blog-list a:nth-child(3n){ margin-right: 0;}
.blog-list a .photo-tag{
	text-align: center;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	position: relative;
	margin-bottom: 15px;
}
.blog-list a .photo-tag figure{ 
	width: 100%;
	height: 100%;
}
.photo-tag img {
	width: 100%;
	height: 100%;
	object-fit: contain; /* 全体を表示して収める */
	object-position: center;
	display: block;
	background-color: #f2f2f2; /* 画像の余白も黒に */
}
.blog-list a .photo-tag .tag{
	position: absolute;
	top: 0;
	right: 0;
}
.blog-list a .date{
	color: #00a99d;
	font-size: 12px;
	line-height: 1.5;
}
.top-thought{
	text-align: left;
	position: relative;
	margin-bottom: 120px;
}
.top-thought h2{ margin-left: -25px;}
.top-thought:before{
	content: "";
	background: url("../img/top-thought-bg.svg") center repeat-x;
	width: 75%;
	height: 398px;
	display: block;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	margin: auto 0;
}
.top-thought .wrap{
	padding-top: 50px;
	padding-bottom: 60px;
	position: relative;
}
.top-thought .wrap figure{
	position: absolute;
	top: -40px;
	right: -3.33%;
	margin: auto 0;
}
.top-policy{
	text-align: left;
	position: relative;
	margin-bottom: 110px;
}
.top-policy h2{ margin-left: -25px;}
.top-policy:before{
	content: "";
	background: url("../img/top-policy-bg.svg") center repeat-x;
	width: 78%;
	height: 398px;
	display: block;
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
	margin: auto 0;
}
.top-policy .wrap{
	padding-top: 50px;
	padding-bottom: 60px;
	position: relative;
}
.top-policy .wrap div{ margin-left: 450px;}
.top-policy .wrap figure{
	position: absolute;
	top: 0;
	left: 2%;
	margin: auto 0;
}
.top-policy .wrap figure img{ border-radius: 400px;}
.bnr-list{
	display: flex;
	justify-content: center;
	align-items: flex-end;
	padding: 0 3%;
	margin-bottom: 50px;
}
.bnr-list a{
	display: block;
	margin: 0 20px 40px;
}
.top-sns{ margin-bottom: 160px;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.main{ padding: 0 0 15px;}
	.main h2 .abs{
		margin: 0 5%;
	}
	.top-instagram{ margin-bottom: 45px;}
	.top-instagram ul.insta li{
		width: 35vw;
		margin: 0 .7vw 1vw;
	}
	.top-profile{
		padding: 3%;
		margin-bottom: 50px;
	}
	.top-profile div a{
		right: 0;
		bottom: -15px;
		left: 0;
		margin: 0 auto;
	}
	.top-blog{ margin-bottom: 80px;}
	.blog-list a{
		width: 49.2%;
		margin: 0 1.6% 10px 0;
	}
	.blog-list a:nth-child(3n){ margin-right: 1.6%;}
	.blog-list a:nth-child(2n){ margin-right: 0;}
	.blog-list a .photo-tag{ margin-bottom: 10px;}
	.blog-list a .date{ font-size: 10px;}
	.blog-list a .fw-bold{ font-size: 11px;}
	.top-thought{
		font-size: 11px;
		text-align: center;
		margin-bottom: 50px;
	}
	.top-thought h2{
		width: 45%;
		margin: 0 auto 20px;
	}
	.top-thought:before{
		background: url("../img/top-thought-bg.svg") center / auto 100% repeat-x;
		width: 100%;
		height: 65vw;
		top: inherit;
		bottom: 0;
		margin: 0;
		padding-top: 30vw;
	}
	.top-thought .wrap{
		padding-top: 55vw;
		padding-bottom: 0;
	}
	.top-thought .wrap figure{
		position: absolute;
		top: -5vw;
		right: 0;
		left: 0;
		margin: auto 0;
		padding: 0 3%;
	}
	.top-policy{
		font-size: 11px;
		margin-bottom: 90px;
	}
	.top-policy h2{
		margin-left: -15px;
		margin-bottom: 10px;
		width: 20vw;
	}
	.top-policy:before{
		background: url("../img/top-policy-bg.svg") center / auto 100% repeat-x;
		width: 100%;
		height: 50vw;
		top: 0;
		right: 0;
		margin: auto 0;
	}
	.top-policy .wrap{
		padding-top: 50px;
		padding-bottom: 0;
	}
	.top-policy .wrap div{
		position: relative;
		margin-left: 59%;
	}
	.top-policy .wrap div .t-right{
		position: absolute;
		bottom: -55px;
		right: 1vw;
	}
	.top-policy .wrap figure{
		margin: auto 0;
		width: 45%;
		top: 3vw;
	}
	.bnr-list{
		display: block;
		padding: 0 3%;
		margin-bottom: 50px;
	}
	.bnr-list a{ margin: 0 20px 20px;}
	.top-sns{ margin-bottom: 80px;}
}



/* profile */
.profile1{ padding: 90px 0 100px;}
.profile1 .imgleft{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.profile1 .imgleft figure{ width: 40%;}
.profile1 .imgleft div{
	text-align: left;
	width: 53.3%;
}
.profile1 .imgleft div p{ margin: .5em 0;}
.profile2{ margin-bottom: 150px;}
.profile2 .tb1{
	max-width: 800px;
	margin-right: auto;
	margin-left: auto;
}
.profile2 .tb1 th{ width: 260px;}
.profile3 .btn-policy-blog{
	display: flex;
	justify-content: center;
}
.profile3 .btn-policy-blog a{
	display: flex;
	align-items: center;
	border: 1px solid #00a99d;
	padding: 20px 40px 20px 20px;
	position: relative;
	max-width: 500px;
	width: 100%;
	margin: 0 20px 40px;
}
.profile3 .btn-policy-blog a:after{
	content: "";
	position: absolute;
	top: 0;
	right: 15px;
	bottom: 0;
	margin: auto 0;
	background: url("../img/arrow.svg") center no-repeat;
	width: 25px;
	height: 25px;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.profile3 .btn-policy-blog a:hover{ opacity: 1;}
.profile3 .btn-policy-blog a:hover:after{ right: 8px;}
.profile3 .btn-policy-blog a figure{
	width: 120px;
	margin-right: 80px; 
}
.profile3 .btn-policy-blog a p{ text-align: left;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.profile1{ padding: 40px 0 50px;}
	.profile1 .imgleft{
		display: block;
	}
	.profile1 .imgleft figure{
		width: 100%;
		max-width: 240px;
		margin: 0 auto 1.5em;
	}
	.profile1 .imgleft div{ width: 100%;}
	.profile2{ margin-bottom: 80px;}
	.profile2 .tb1 th,.profile2 .tb1 td{ display: block;}
	.profile2 .tb1 th{
		width: auto;
		border-bottom: none;
		padding-bottom: 0;
	}
	.profile2 .tb1 td{ width: auto;}
	.profile3 .btn-policy-blog{ display: block;}
	.profile3 .btn-policy-blog a{
		font-size: 13px;
		padding: 10px 25px 10px 10px;
		margin: 0 0 20px;
	}
	.profile3 .btn-policy-blog a:after{
		right: 8px;
		background: url("../img/arrow.svg") center / 16px auto no-repeat;
		width: 16px;
		height: 16px;
	}
	.profile3 .btn-policy-blog a:hover:after{ right: 4px;}
	.profile3 .btn-policy-blog a figure{
		width: 80px;
		margin-right: 20px; 
	}
}



/* blog */
.blog1{
	padding-top: 100px;
	margin-bottom: 90px;
}
.btn-category{
	text-align: center;
	display: flex;
	justify-content: center;
	padding: 10px;
	background: #f2f2f2;
}
.btn-category a{
	color: #666;
	padding: 5px;
	margin: 0 5px;
	background: #fff;
	display: block;
	min-width: 120px;
}
.btn-category a.active{
	color: #fff;
	font-weight: bold;
	background: #00a99d;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.blog1{
		padding-top: 50px;
		margin-bottom: 40px;
	}
	.btn-category{ flex-wrap: wrap; padding-bottom: 1px;}
	.btn-category a{
		padding: 5px;
		margin: 0 5px 10px;
		min-width: 120px;
	}
}



/* blog-detail */
.blog-detail{
	text-align: left;
	padding-top: 160px;
	padding-bottom: 160px;
}
.date-tag{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.date-tag .date{
	color: #00a99d;
	margin-bottom: 5px;
}
.date-tag .tag{ margin-bottom: 5px;}
.blog-detail .blog-detail-ttl{
	font-size: 24px;
	line-height: 1.6;
	margin-bottom: 25px;
}
.blog-detail .single-pager{
	display: flex;
	justify-content: center;
	gap: 10px;
}
.blog-detail .single-pager a{ display: block;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.blog-detail{
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.blog-detail .blog-detail-ttl{
		font-size: 20px;
		margin-bottom: 15px;
	}
	.blog-detail .single-pager{ display: block;}
	.blog-detail .single-pager a{ margin-bottom: 10px;}
}



/* pager */
.pager{
	clear: both;
	text-align: center;
	margin-bottom: 50px;
}
.pager li{
	display: inline-block;
	margin: 0 5px;
}
.pager li a{
	display: block;
	line-height: 2;
	width: 2em;
	color: #fff;
	font-size: 16px;
	background: #4cc3ba;
	border: 1px solid #4cc3ba;
}
.pager li.active a{
	color: #4cc3ba;
	background: #fff;
	border: 1px solid #4cc3ba;
}

@media screen and (max-width:768px){
	/* pager */
	.pager li a{
		font-size: 14px;
	}
}



/* thought */
.thought1{
	text-align: left;
	padding: 90px 0 34vw;
	background: url("../img/thought-bg.jpg") center bottom / 100% auto no-repeat;
}
.thought1 ul.photo-cont{
	display: flex;
	justify-content: space-between;
}
.thought1 ul.photo-cont li{ width: 15%;}

@media screen and (max-width:768px){
	.thought1{
		padding: 40px 0 34vw;
		background: url("../img/thought-bg.jpg") center bottom / 100% auto no-repeat;
	}
	.thought1 ul.photo-cont{
		flex-wrap: wrap;
		justify-content: center;
		padding: 0 10%;
	}
	.thought1 ul.photo-cont li{
		width: 25%;
		margin: 0 2% 5px 0;
	}
	.thought1 ul.photo-cont li:nth-child(3n){ margin-right: 0;}
}



/* policy */
.policy1{
	text-align: left;
	padding-top: 110px;
	margin-bottom: 120px;
}
.policy1 .ambition{
	max-width: 640px;
	display: flex;
	align-items: center;
	padding: 20px 20px 20px 45px;
	background: #f2f2f2;
	margin: 0 auto;
}
.policy1 .ambition p{
	width: 1em;
	line-height: 1.1;
	font-weight: 600;
	margin-right: 40px;
}
.policy1 .ambition ol{ flex: 1;}
.policy1 .ambition ol li{
	padding: 7px 15px;
	background: #fff;
	border-radius: 3px;
	margin-bottom: 10px;
}
.policy1 .ambition ol li:last-child{ margin-bottom: 0;}
.policy2{
	text-align: left;
	margin-bottom: 70px;
}
.policy2 h3{
	color: #fff;
	font-weight: 600;
	padding: 30px;
	border-radius: 5px;
	background: #00a99d;
	margin-bottom: 35px;
}
.policy2 h3 span{
	text-align: center;
	background: #fff;
	border-radius: 5px;
	display: inline-block;
	padding: 10px;
	vertical-align: middle;
	margin-right: 50px;
	min-width: 300px;
}
.policy2 .imgleft{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 45px;
}
.policy2 .imgleft .leftcol{
	font-size: 18px;
	line-height: 1.4;
	font-weight: 600;
	width: 48%;
}
.policy2 .imgleft .leftcol figure{ margin-bottom: 30px;}
.policy2 .imgleft .leftcol ul li{ margin-bottom: 3px;}
.policy2 .imgleft .leftcol ul li span{ color: #00a99d;}
.policy2 .imgleft .rightcol{
	width: 48%;
	padding: 15px 16px;
	background: #f2f2f2;
}
.policy3{
	text-align: left;
	margin-bottom: 70px;
}

@media screen and (max-width:768px){
	.policy1{
		padding-top: 50px;
		margin-bottom: 60px;
	}
	.policy1 .ambition{ padding: 10px 10px 10px 20px;}
	.policy1 .ambition p{ margin-right: 20px;}
	.policy1 .ambition ol li{
		line-height: 1.4;
		padding: 7px 10px;
		margin-bottom: 5px;
	}
	.policy2{ margin-bottom: 40px;}
	.policy2 h3{
		line-height: 1.3;
		padding: 15px;
		margin-bottom: 20px;
	}
	.policy2 h3 span{
		padding: 5px;
		margin: 0 0 10px;
		display: block;
		min-width: inherit;
	}
	.policy2 .imgleft{
		display: block;
		margin-bottom: 40px;
	}
	.policy2 .imgleft .leftcol{
		font-size: 16px;
		width: 100%;
		margin-bottom: 20px;
	}
	.policy2 .imgleft .leftcol figure{ margin-bottom: 20px;}
	.policy2 .imgleft .rightcol{
		width: 100%;
		padding: 10px 15px;
	}
	.policy3{ margin-bottom: 40px;}
}



/* connect */
.connect1{
	padding-top: 100px;
	margin-bottom: 110px;
}
.connect2{
	text-align: left;
	margin-bottom: 110px;
}
.connect3{
	text-align: left;
	margin-bottom: 230px;
}
.sns{
	display: flex;
	justify-content: center;
	gap: 20px;
}
.sns a{ display: block;}

@media screen and (max-width:768px){
	.connect1{
		padding-top: 50px;
		margin-bottom: 60px;
	}
	.connect2{ margin-bottom: 60px;}
	.connect3{ margin-bottom: 60px;}
	.sns{ gap: 10px;}
}



