@charset "utf-8";

/* reset
-------------------------------------------------------*/
/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
box-sizing: border-box;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, main, menu, nav, section, small {
display: block;
}
body {
/*font-family: 'Noto Sans JP', sans-serif;*/
font-family: 'Noto Sans JP', sans-serif;
font-size: 16px;
line-height: 1.6;
color: #333;
background: #fff;
height: 100%;
-webkit-text-size-adjust: none;
-webkit-overflow-scrolling: touch;/*iOSスクロールを滑らかにする*/
}
a {
color: #1F51A2;
text-decoration: underline;
transition: .2s;
}
a:hover {
/*opacity: 0.7;*/
}
b {
font-weight: bold;
}
img {
width: 100%;
width: auto;
max-width: 100%;
vertical-align: top;
}
ol, ul {
list-style: none;
}
dl::before, dl::after,
ol::before, ul::before,
ol::after, ul::after {
display: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
@media screen and (max-width: 768px) {
	body {
	}
	img {
		width: 100%;
	}
}
@media screen and (max-width: 500px) {
	body {
	font-size: 90%;
	}
}

/* common
-------------------------------------------------------*/
#wrapper {
overflow: hidden;
min-width: 320px;
font-weight: 500;
}
.sp {
display: none;
}
@media screen and (max-width: 768px) {
	.pc {
	display: none;
	}
	.sp {
	display: block;
	}
}
/* page_top
-------------------------------------------------------*/
#page_top {
position: fixed;
bottom: 0;
left: 0;
z-index: 999;
width: 100%;
}
#page_top a {
position: absolute;
right: -60px;
bottom: -300px;
width: 200px;
height: 100px;
padding-top: 15px;
cursor: pointer;
background: #275CAB;
border-radius: 100px 100px 0 0;
z-index: 1;
line-height: 1.2;
font-weight: 500;
display: flex;
justify-content: center;
align-items: center;
color: #fff;
text-align: center;
text-decoration: none;
border: 3px solid rgba(255,255,255,0.5);
border-bottom: none;
transition: .3s;
transform-origin: bottom;
font-size: 130%;
}
#page_top.a a {
bottom: 0;
}
@media screen and (min-width:768px){
#page_top a:hover {
transform: scale(1.1);
opacity: 0.7;
}
}
@media screen and (max-width:1100px){
#page_top a {
right: -20px;
}
}
@media screen and (max-width:768px){
	#page_top {
    left: 50%;
    transform: translate(-50%,0);
	width: 80%;
	}
	#page_top br {
	display: none;
	}
	#page_top a {
	position: relative;
	right: inherit;
	width: 100%;
	height: 60px;
	padding-top: 0;
	border-radius: 30px 30px 0 0;
	border: 5px solid #93A8C3;
	border-bottom: none;
	font-size: 140%;
	}
	#footer {
	padding-bottom: 120px!important;
	}
}

/* common cont
----------------------------------------------- */
.area {
position: relative;
padding: 0;
z-index: 1;
}
.inner {
max-width: 980px;
margin: 0 auto;
padding: 0 20px;
position: relative;
}
.bold_yellow {
font-weight: 700;
background: #fff3c6;
}
@media screen and (max-width: 768px) {

}
/* header 
----------------------------------------------- */
#header {
background: #fff;
height: 100px;
display: flex;
align-items: center;
}
#header .logo {
display: flex;
height: 100%;
flex-flow: row nowrap;
align-items: center;
justify-content: center;
}
#header .txt {
text-align: center;
font-size: 80%;
font-weight: bold;
}
@media screen and (max-width: 768px) {
	#header {
	height: 60px;
	}
	#header .logo img {
	width: auto;
	height: 40px;
	}
	#header .logo {
	height: 50px;
	}
	#header .txt {
	}
}
@media screen and (max-width: 500px) {
	#header .logo img {
	width: 60%;
	height: auto;
	}
	#header .logo {
	height: auto;
	}
	#header .txt {
	}
}
/* wrap end */

/* visual
----------------------------------------------- */
#visual {
position: relative;
background: url(../images/visual_bg.png) no-repeat center top /cover;
padding: 0;
}
#visual .inner {
max-width: 1200px;
padding: 0;
}
#visual .ttl img {
width: 100%;
height: auto;
}
@media screen and (max-width: 1200px) {
	#visual .ttl img {
	height: calc(100vw * (700 / 1200));
	}
}
@media screen and (max-width: 768px) {
	#visual .ttl {
	background: url(../images/visual_sp.png) no-repeat center / cover;
	}
	#visual .ttl img {
	height: calc(100vw * (1000 / 800));
	opacity: 0;
	}
}
#visual::before {
content: "";
display: block;
width: 100%;
height: 50px;
background: url("../images/bg01.png") no-repeat center bottom / 100% 100%;
position: absolute;
left: 0;
bottom: 0;
z-index: 1;
}
@media screen and (max-width: 768px) {
#visual::before {
height: 20px;
}
}
/* about
----------------------------------------------- */
#about {
position: relative;
background: linear-gradient(to right,#f1f8f3,#e5edfa);
}
#about::before {
content: "";
display: block;
width: 100%;
height: 50px;
background: url("../images/bg03.png") no-repeat center bottom / 100% 100%;
position: absolute;
left: 0;
bottom: 0;
}
@media screen and (max-width: 768px) {
#about::before {
height: 20px;
}
}
#about .inner {
padding: 100px 20px;
max-width: 1340px;
}
#about .title {
margin-bottom: 30px;
text-align: center;
}
#about .title img {
max-width: 734px;
}
#about .top_txt {
text-align: center;
font-size: 150%;
margin-bottom: 60px;
line-height: 1.8;
}
.list_about {
display: flex;
flex-flow: row nowrap;
align-items: stretch;
justify-content: space-between;
margin-bottom: 50px;
}
.list_about li {
width: 49%;
background: #fff;
border-radius: 50px;
padding: 20px 40px 40px;
}
.list_about li .ttl {
font-size: 180%;
text-align: left;
line-height: 1.4;
margin-bottom: 10px;
background: url(../images/check01.png)no-repeat left center/61px 50px;
padding: 0 0 0 80px;
height: 100px;
display: flex;
align-items: center;
justify-content: flex-start;
}
.list_about li:last-child .ttl {
background: url(../images/check02.png)no-repeat left center/61px 50px;
}
.list_about .box {
display: flex;
flex-wrap: row nowrap;
align-items: flex-start;
justify-content: flex-start;
}
.list_about .box .img {
width: 40%;
margin-right: 30px;
}
.list_about .box .txt {
font-size: 110%;
text-align: left;
width: 60%;
padding-top: 10px;
}
.about_box_ttl {
text-align: center;
background: linear-gradient(to right,#84c792,#67c5ce);
border-radius: 100px;
font-size: 180%;
font-weight: 700;
max-width: 900px;
margin: 0 auto;
padding: 5px;
position: relative;
z-index: 5;
}
.about_box_ttl span {
background: #fff;
border-radius: 100px;
display: block;
padding: 15px;
}
.about_box {
max-width: 960px;
background: #fff;
border-radius: 50px;
padding: 70px 60px 40px;
margin: -40px auto 0;
}
.about_box dl {
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: flex-start;
}
.about_box dl:not(:last-child) {
margin-bottom: 10px;
}
.about_box dl dt {
background: #eaf4ec;
width: 260px;
border-radius: 100px;
text-align: center;
color: #84c792;
font-size: 210%;
margin-right: 30px;
}
.about_box dl dd {
font-size: 180%;
}
	@media screen and (max-width: 768px) {
	#about .inner {
	padding: 50px 20px;
	}
	#about .title {
	margin-bottom: 20px;
	}
	#about .top_txt {
	font-size: 110%;
	margin-bottom: 40px;
	}
	.list_about {
	flex-flow: column;
	align-items: center;
	justify-content: center;
	margin-bottom: 30px;
	}
	.list_about li {
	width: 100%;
	border-radius: 30px;
	padding: 20px;
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	}
	.list_about li:not(:last-child) {
	margin-bottom: 20px;
	}
	.list_about li .ttl {
	font-size: 120%;
	margin-bottom: 15px;
	background: url(../images/check01.png)no-repeat left center/30px 25px;
	padding: 0 0 0 40px;
	height: 50px;
	}
	.list_about li:last-child .ttl {
	background: url(../images/check02.png)no-repeat left center/30px 25px;
	}
	.list_about .box {
	flex-flow: column;
	align-items: center;
	justify-content: center;
	}
	.list_about .box .img {
	width: 50%;
	margin-right: 0;
	margin-bottom: 15px;
	}
	.list_about .box .txt {
	font-size: 100%;
	width: 100%;
	padding-top: 0;
	}
	.about_box_ttl {
	font-size: 130%;
	}
	.about_box_ttl span {
	padding: 10px;
	}
	.about_box {
	border-radius: 30px;
	padding: 50px 20px 30px;
	margin: -30px auto 0;
	}
	.about_box dl {
	flex-flow: column;
	align-items: flex-start;
	align-items: center;
	text-align: center;
	justify-content: flex-start;
	}
	.about_box dl:not(:last-child) {
	margin-bottom: 25px;
	}
	.about_box dl dt {
	width: 150px;
	font-size: 150%;
	margin-right: 0;
	margin-bottom: 5px;
	}
	.about_box dl dd {
	font-size: 130%;
	}
			
	}

/* learning
----------------------------------------------- */
#learning .inner {
position: relative;
padding: 100px 20px;
}
#learning .title {
text-align: center;
margin-bottom: 20px;
}
#learning .title img {
max-width: 424px;
}
.list_learning li:not(:last-child) {
margin-bottom: 30px;
}
.list_learning li .ttl_box {
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: flex-start;
background: #529ea5;
border-radius: 50px 50px 0 0;
color: #fff;
padding: 10px 0 10px 60px;
}
.list_learning li .ttl_box .icon {
max-width: 208px;
margin-right: 40px;
}
.list_learning li .ttl {
font-size: 250%;
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: flex-start;
line-height: 1;
height: 100px;
}
.list_learning li .ttl small {
font-size: 75%;
display: inline-block;
}
.list_learning li .ttl .num {
margin-right: 15px;
}
.list_learning li .cont_box {
background: #f0f9fa;
border-radius: 0 0 50px 50px;
padding: 30px 80px 40px;
}
.list_learning li .box01 {
background: #fff;
border-radius: 20px;
border: 2px solid #cccccc;
padding: 10px 50px;
margin-bottom: 30px;
}
.list_learning li .box02 {
display: flex;
flex-flow: row nowrap;
}
.list_learning li .box02 .img {
width: 30%;
}
.list_learning li .box02 .box_in {
width: 70%;
margin-left: 30px;
}
.list_learning li .box02.text_book .img {
width: 40%;
}
.list_learning li .box02.text_book .box_in {
width: 60%;
margin-left: 40px;
}
.list_learning li .box02 .box_in .txt {
line-height: 1.7;
font-size: 110%;
}
.list_learning li .box02 .btn_box {
padding: 20px 0 0;
}
.list_learning li .box02 .btn_box .btn span {
font-size: 130%;
height: 70px;
line-height: 1.2;
}
.list_learning li .sub_ttl {
background: #fff;
border: 2px solid #cccccc;
border-radius: 10px;
text-align: center;
padding: 10px;
font-size: 210%;
font-weight: 700;
margin-bottom: 30px;
}
.list_learning li .sub_ttl span {
color: #ccc;
}
	@media screen and (max-width: 768px) {
	#learning .inner {
	padding: 50px 20px;
	}
	#learning .title img {
	max-width: 70%;
	}
	.list_learning li:not(:last-child) {
	margin-bottom: 20px;
	}
	.list_learning li .ttl_box {
	flex-flow: column;
	align-items: center;
	justify-content: center;
	border-radius: 30px 30px 0 0;
	padding: 10px 0 15px;
	}
	.list_learning li .ttl_box .icon {
	max-width: 120px;
	margin-right: 0;
	margin-bottom: 10px;
	}
	.list_learning li .ttl {
	font-size: 140%;
	height: inherit;
	}
	.list_learning li .ttl .num {
	margin-right: 10px;
	}
	.list_learning li .cont_box {
	padding: 20px 20px 30px;
	border-radius: 0 0 30px 30px;
	}
	.list_learning li .box01 {
	padding: 10px 30px;
	margin-bottom: 20px;
	}
	.list_learning li .box02 {
	flex-flow: column;
	align-items: center;
	}
	.list_learning li .box02 .img {
	width: 60%;
	text-align: center;
	}
	.list_learning li .box02 .box_in {
	width: 100%;
	margin-left: 0;
	margin-top: 20px;
	}
	.list_learning li .box02.text_book .img {
	width: 60%;
	}
	.list_learning li .box02.text_book .box_in {
	width: 100%;
	margin-left: 0;
	}
	.list_learning li .box02 .box_in .txt {
	font-size: 100%;
	}
	.list_learning li .box02 .btn_box {
	padding: 10px 0 10px;
	}
	.list_learning li .box02 .btn_box a {
	font-size: 80%;
	}
	.list_learning li .box02 .btn_box .btn span {
	font-size: 120%;
	height: 60px;
	}
	.list_learning li .sub_ttl {
	font-size: 130%;
	margin-bottom: 20px;
	}
	}

/* popup */
.mfp-bg {
opacity: 0.9;
background: #000;
}
.popup_contents {
display: none;
position: relative;
z-index: 999;
}
#popup_box {
max-width: 800px;
background: #fff;
padding: 40px;
border-radius: 10px;
text-align: center;
}
#popup_box .popup_ttl {
background: #2e5fae;
color: #fff;
padding: 10px;
font-size: 120%;
margin-bottom: 20px;
text-align: center;
}
#popup_box .txt {
color: #2e5fae;
font-size: 150%;
margin-bottom: 20px;
}
.mfp-content {
max-width: 700px!important;
max-width: inherit!important;
padding: 50px 50px;
}
.mfp-close {
position: fixed!important;
top: 15px!important;
right: 15px!important;
width: 30px!important;
height: 30px!important;
opacity: 1!important;
text-indent: -9999px;
position: relative;
}
.mfp-close:before,
.mfp-close:after {
position: absolute;
left: 0;
top: 50%;
content: "";
width: 30px;
height: 2px;
background: #fff;
}
.mfp-close:before {
transform: rotate(45deg);
}
.mfp-close:after {
transform: rotate(-45deg);
}
.mfp-close:hover {
opacity: 0.7!important;
}
button.mfp-arrow.mfp-arrow-left {
background: url(../js/prev_w.png) no-repeat center center / cover;
width: 50px;
height: 50px;
}
button.mfp-arrow.mfp-arrow-right {
background: url(../js/next_w.png) no-repeat center center / cover;
width: 50px;
height: 50px;
}
.mfp-arrow:after,
.mfp-arrow:before {
display: none;
}
.pop_prev,
.pop_next {
position: fixed;
top: 50%;
z-index: 100;
display: block;
width: 50px;
height: 50px;
cursor: pointer;
text-indent: -9999px;
transition: .3s;
}
.pop_prev {
left: 10px;
background: url(../js/prev_w.png) no-repeat center center / cover;
}
.pop_next {
right: 10px;
background: url(../js/next_w.png) no-repeat center center / cover;
}
.pop_prev:hover,
.pop_next:hover {
opacity: 0.7;
}
button.mfp-arrow.mfp-arrow-left,
button.mfp-arrow.mfp-arrow-right {
display: none;
}
.popup_box {
margin: 0 auto;
}
	@media screen and (max-width: 768px) {
	#popup_box {
	padding: 20px;
	}
	#popup_box .popup_ttl {
	padding: 5px;
	font-size: 110%;
	margin-bottom: 10px;
	}
	#popup_box .txt {
	font-size: 100%;
	margin-bottom: 15px;
	}	
	}
/* popup end */


/* voice
----------------------------------------------- */
#voice {
position: relative;
background: linear-gradient(to right, #ffefdc,#f1f8f3);
}
#voice::before {
content: "";
display: block;
width: 100%;
height: 50px;
background: url("../images/bg02.png") no-repeat center top / 100% 100%;
position: absolute;
left: 0;
top: 0;
}
@media screen and (max-width: 768px) {
#voice::before {
height: 20px;
}
}
#voice .inner {
max-width: 1050px;
padding: 0 20px 50px;
}
#voice .title {
text-align: center;
position: relative;
z-index: 5;
}
#voice .title img {
max-width: 314px;
}
.gra_ttl {
background: linear-gradient(to right,#b789c3,#f08c69);
padding: 5px;
border-radius: 50px;
margin: 0 auto;
text-align: center;
margin-bottom: 20px;
width: 400px;
position: relative;
z-index: 5;
}
.gra_ttl span.bg_w {
background: #fff;
display: block;
border-radius: 50px;
}
.gra_ttl span.text {
background: linear-gradient(to right,#b789c3,#f08c69);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
display: block;
font-size: 250%;
text-align: center;
font-weight: 700;
padding: 10px 0;
}
.gra_ttl span.text.black {
background: none;
-webkit-background-clip: inherit;
-webkit-text-fill-color: inherit;
color: #333;
}
.box_profile {
display: flex;
flex-flow: row nowrap;
align-items: flex-end;
justify-content: space-between;
max-width: 960px;
margin: -17% auto 40px;
}
.box_profile .img {
width: 45%;
margin-right: 50px;
}
.box_profile dl {
width: 55%;
}
.box_profile dl dt {
font-size: 250%;
line-height: 1.2;
margin-bottom: 20px;
}
.box_profile dl dt span {
font-size: 75%;
}
.box_profile dl dd {
font-size: 110%;
}
.list_voice
{
max-width: 960px;
margin: 0 auto;
}
.list_voice li {
margin-bottom: 35px;
}
.list_voice li .ttl {
font-size: 180%;
border-bottom: 4px solid #f08c69;
border-image: linear-gradient(to right,#b789c3,#f08c69) 1;
padding-bottom: 20px;
margin-bottom: 30px;
}
.list_voice li .txt {
background: #fff;
border-radius: 40px;
padding: 40px;
font-size: 110%;
line-height: 1.7;
}
.list_graph {
display: flex;
flex-flow: row nowrap;
align-items: stretch;
justify-content: space-between;
}
.list_graph li {
width: 48%;
}
.list_graph li .ttl {
background: #b789c3;
color: #fff;
text-align: center;
font-size: 180%;
line-height: 1.2;
border-radius: 40px 40px 0 0;
padding: 20px 0;
}
.list_graph li .ttl span {
color: #fff3c6;
}
.list_graph li .img {
background: #fff;
padding: 30px 10px;
border-radius: 0 0 40px 40px;
}
	@media screen and (max-width: 768px) {
	#voice .inner {
	padding: 0 20px 40px;
	}
	#voice .title img {
	max-width: 50%;
	}
	.gra_ttl {
	padding: 3px;
	margin-bottom: 20px;
	width: 80%;
	}
	.gra_ttl span.text {
	font-size: 150%;
	padding: 5px 0;
	}
	.box_profile {
	flex-flow: column;
	align-items: center;
	justify-content: center;
	margin: 0 auto 40px;
	}
	.box_profile .img {
	width: 50%;
	margin-right: 0;
	margin-bottom: 15px;
	}
	.box_profile dl {
	width: 100%;
	}
	.box_profile dl dt {
	font-size: 170%;
	margin-bottom: 15px;
	}
	.box_profile dl dt span {
	font-size: 75%;
	}
	.box_profile dl dd {
	font-size: 100%;
	}
	.list_voice li {
	margin-bottom: 30px;
	}
	.list_voice li .ttl {
	font-size: 120%;
	}
	.list_voice li .txt {
	border-radius: 20px;
	padding: 20px;
	font-size: 100%;
	}
	.list_graph {
	flex-flow: column;
	align-items: center;
	justify-content: center;
	}
	.list_graph li {
	width: 100%;
	}
	.list_graph li:not(:last-child) {
	margin-bottom: 20px;
	}
	.list_graph li .ttl {
	font-size: 150%;
	border-radius: 20px 20px 0 0;
	padding: 10px 0;
	}
	.list_graph li .img {
	padding: 20px;
	border-radius: 0 0 20px 20px;
	}
	}

/* advisor
----------------------------------------------- */
#advisor {
background: url(../images/bg_sky.png)no-repeat center/cover;
}
#advisor.area {
padding: 80px 0;
}
#advisor .sub_ttl {
text-align: center;
background: #fff3c6;
border: 5px solid #2e5eac;
color: #2e5eac;
font-size: 210%;
font-weight: 700;
padding: 5px 0;
border-radius: 100px;
max-width: 760px;
margin: 0 auto;
position: relative;
z-index: 5;
}
.advisor_box {
background: #fff;
border-radius: 30px;
padding: 60px 40px 50px;
margin-top: -4%;
}
.advisor_box .title {
text-align: center;
margin-bottom: 10px;
}
.advisor_box .title img {
max-width: 634px;
}
.advisor_box .box {
display: flex;
flex-flow: row nowrap;
align-items: flex-start;
justify-content: flex-start;
}
.advisor_box .box .img {
width: 30%;
}
.advisor_box .box .img img {
width: 100%;
}
.advisor_box .box .txt {
width: 70%;
margin-left: 30px;
font-size: 110%;
}
	@media screen and (max-width: 768px) {
	#advisor.area {
	padding: 40px 0;
	}
	#advisor .sub_ttl {
	border: 3px solid #2e5eac;
	font-size: 150%;
	line-height: 1.2;
	padding: 10px 0;
	}
	.advisor_box {
	background: #fff;
	border-radius: 20px;
	padding: 40px 20px 30px;
	margin-top: -4%;
	}
	.advisor_box .box {
	flex-flow: column-reverse;
	align-items: center;
	justify-content: center;
	}
	.advisor_box .box .img {
	width: 60%;
	max-width: 200px;
	margin-top: 15px;
	}
	.advisor_box .box .img img {
	width: 100%;
	}
	.advisor_box .box .txt {
	width: 100%;
	margin-left: 0;
	font-size: 100%;
	}	
	}

/* info_area
----------------------------------------------- */
#info_area.area {
padding: 70px 0;
}
.list_info li:not(:last-child) {
margin-bottom: 60px;
}
.list_info li .ttl {
text-align: center;
color: #fff;
font-weight: 700;
padding: 20px 0;
background: #7497d0;
font-size: 200%;
border-radius: 30px 30px 0 0;
}
.list_info li .txt_box {
background: #e3ebf8;
border-radius: 0 0 30px 30px;
padding: 20px;
position: relative;
}
.list_info li .txt_box .txt {
text-align: center;
font-weight: 700;
font-size: 180%;
}
.list_info li .txt_box .btn_box {
padding: 20px 0;
position: relative;
z-index: 5;
}
.list_info li .txt_box .img {
position: absolute;
bottom: -10px;
z-index: 1;
}
.list_info li .txt_box .img01 {
left: 10px;
}
.list_info li .txt_box .img01 img {
max-width: 211px;
}
.list_info li .txt_box .img02 {
right: 10px;
}
.list_info li .txt_box .img02 img {
max-width: 204px;
}
.list_info li .txt_box .img03 {
left: -50px;
bottom: -15px;
}
.list_info li .txt_box .img03 img {
max-width: 299px;
}
.list_info li .txt_box .img04 {
right: 10px;
}
.list_info li .txt_box .img04 img {
max-width: 157px;
}
	@media screen and (max-width: 768px) {
	#info_area.area {
	padding: 40px 0;
	}
	#info_area.area .btn span {
	line-height: 1.2;
	}
	.list_info li:not(:last-child) {
	margin-bottom: 30px;
	}
	.list_info li .ttl {
	padding: 10px 0;
	background: #7497d0;
	font-size: 140%;
	line-height: 1.4;
	}
	.list_info li .txt_box .txt {
	font-size: 120%;
	}
	.list_info li .txt_box .btn_box {
	padding: 10px 0 0;
	}
	.list_info li .txt_box .img01 {
	left: -20px;
	}
	.list_info li .txt_box .img01 img {
	max-width: 105px;
	}
	.list_info li .txt_box .img02 {
	right: -20px;
	}
	.list_info li .txt_box .img02 img {
	max-width: 102px;
	}
	.list_info li .txt_box .img03 {
	left: -55px;
	bottom: -10px;
	}
	.list_info li .txt_box .img03 img {
	max-width: 149px;
	}
	.list_info li .txt_box .img04 {
	right: -20px;
	bottom: -5px;
	}
	.list_info li .txt_box .img04 img {
	max-width: 78px;
	}
	}


/* btn
----------------------------------------------- */
.btn_box {
display: flex;
justify-content: center;
padding: 50px 0;
}
.btn_box .btn {
position: relative;
display: block;
text-decoration: none;
height: 80px;
padding: 5px;
border-radius: 55px;
width: 100%;
max-width: 600px;
}
.btn_box .btn span {
position: relative;
border: 4px solid #fff;
background: #f08c69;
height: 80px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50px;
color: #fff;
font-size: 170%;
width: 100%;
max-width: 600px;
box-shadow: 0px 10px 0px 0px rgba(0,0,0,0.1);
}
.btn_box .btn span::before {
content: "";
position: absolute;
right: 20px;
top: 50%;
width: 30px;
height: 30px;
background: url("../images/btn_ico.png")no-repeat right center/30px 30px;
transform: translate(0,-50%);
}
	@media screen and (max-width: 768px) {
	.btn_box {
	padding: 40px 0 0;
	}
	.btn_box .btn {
	height: 60px;
	padding: 5px;
	border-radius: 30px;
	}
	.btn_box .btn span {
    height: 50px;
    border-radius: 25px;
    font-size: 110%;
	}
	.btn_box .btn span::before {
	right: 10px;
	width: 20px;
	height: 20px;
	background-size: contain;
	}
	}

/* footer
----------------------------------------------- */
#footer {
padding-bottom: 120px;
}
.footer_info {
display: flex;
max-width: 700px;
margin: 0 auto;
padding: 50px 0;
}
.footer_info .footer_logo {
flex: 0 1 50%;
}
.footer_info .txt {
flex: 1 0 0%;
text-align: left;
}
.copy {
text-align: center;
}
	@media screen and (max-width: 768px) {
	#footer {
	padding-bottom: 90px!important;
	}
	.footer_info {
	flex-flow: column nowrap;
	align-items: center;
	padding-top: 0;
	padding-bottom: 20px;
	}
	.footer_info .footer_logo img {
	width: 70%;
	}
	.footer_info .txt {
	font-size: 90%;
	}
	}

/* scroll_btn
----------------------------------------------- */	
.scroll_btn {
position: relative;
position: fixed;
display: flex;
justify-content: center;
left: 0;
bottom: 0;
z-index: 998;
width: 100%;
min-width: 320px;
overflow: hidden;
height: 100px;
}
.scroll_btn * {
box-sizing: border-box;
}
.scroll_btn_box {
display: flex;
justify-content: space-between;
width: 80%;
max-width: 960px;
}
.scroll_btn_box .btn {
padding: 5px 5px 0 5px;
border-radius: 32px 32px 0 0;
width: 49%;
transition: .3s;
}
.scroll_btn_box .btn:hover {
opacity: 0.7;
}
.scroll_btn_box .btn a {
display: flex;
border: 5px solid #fff;
border-bottom: none;
background: #ff0d8a;
overflow: hidden;
border-radius: 30px 30px 0 0;
text-decoration: none;
font-weight: bold;
height: 100%;
color: #fff;
font-size: 310%;
line-height: 1;
padding-right: 20px;
box-shadow: 10px 0px 0px 0px rgba(0,0,0,0.1);
font-weight: 400;
}
.scroll_btn_box .btn:nth-child(2) a {
background: #ff7e00;
}
.scroll_btn_box .btn .ico {
padding: 0 0 0 30px;
display: flex;
align-items: center;
justify-content: center;
}
.scroll_btn_box .btn .ico img {
max-width: 50px;
padding-top: 10px;
}
.scroll_btn_box .btn .txt {
flex: 1 0 0%;
display: flex;
height: 100%;
align-items: center;
justify-content: center;
padding: 10px 50px 10px 20px;
background: url("../images/btn_ico02.png") no-repeat center right/30px 30px;
text-shadow: 5px 0px 0px rgba(0, 0, 0, 0.1);
}
.scroll_btn_box .btn:nth-child(2) .txt {
background: url("../images/btn_ico03.png") no-repeat center right/30px 30px;
}
	@media screen and (max-width: 1150px) {
	.scroll_btn_box .btn a {
	font-size: 230%;
	}
	}
	@media screen and (max-width: 1000px) {
	.scroll_btn {
	height: 80px;
	}
	.scroll_btn_box .btn {
	border-radius: 22px 22px 0 0;
	}
	.scroll_btn_box .btn a {
	border-radius: 20px 20px 0 0;
	font-size: 170%;
	}
	.scroll_btn_box .btn .txt {
	padding: 5px 30px 5px 10px;
	background-size: 20px;
	}
	.scroll_btn_box .btn:nth-child(2) .txt{
	background-size: 20px;
	}
	}
	@media screen and (max-width: 768px) {
	.scroll_btn {
	height: 60px;
	}
	.scroll_btn_box .btn {
	border-radius: 12px 12px 0 0;
	}
	.scroll_btn_box .btn a {
	border-radius: 10px 10px 0 0;
	font-size: 120%;
	box-shadow: 5px 0px 0px 0px rgba(0,0,0,0.1);
	}
	.scroll_btn_box .btn .ico img {
	max-width: 30px;
	padding-top: 10px;
	}
	.scroll_btn_box .btn .txt {
	padding: 5px;
	background: none;
	text-align: center;
	background: url("../images/btn_ico02.png") no-repeat center right/20px 20px;
	}
	.scroll_btn_box .btn:nth-child(2) .txt {
	background: url("../images/btn_ico03.png") no-repeat center right/20px 20px;
	}
	}
	@media screen and (max-width: 640px) {
	.scroll_btn_box {
	padding-left: 5px;
	padding-right: 5px;
	width: 100%;
	}
	.scroll_btn_box .btn {
	width: 50%;
	}
	.scroll_btn_box .btn a {
	font-size: 100%;
	padding-right: 10px;
	}
	.scroll_btn_box .btn .txt {
	text-shadow: 2px 0px 0px rgba(0, 0, 0, 0.1);
	background: none;
	}
	.scroll_btn_box .btn:nth-child(2) .txt {
	background: none;
	}
	.scroll_btn_box .btn .ico {
	padding: 0 0 0 10px;
	}
	.scroll_btn_box .btn .ico img {
	max-width: 25px;
	padding: 0;
	}
	}



/* pagetop
----------------------------------------------- */	
.pagetop {
position: absolute;
right: 0;
bottom: 0;
display: block;
width: 100px;
height: 100%;
}
.pagetop a {
display: block;
width: 100px;
height: 100%;
background: url("../images/pagetop.png") no-repeat center / 80%;
text-indent: -9999px;
transition: .3s;
}
.pagetop a:hover {
opacity: 0.7;
}
	@media screen and (max-width: 1200px) {
	.pagetop {
	width: 60px;
	}
	.pagetop a {
	width: 60px;
	background-size: 50%;
	}
	}
	@media screen and (max-width: 500px) {
	.pagetop {
	display: none;
	width: 40px;
	}
	.pagetop a {
	width: 40px;
	background-size: 50%;
	}
	}	

/* animation
----------------------------------------------- */	
.scroll_btn_box .btn a,
.scroll_btn_box .btn .ico,
.btn_box .btn,
.btn_box .btn span {
transition: .3s;
}
	@media screen and (min-width: 768px) {
	.btn_box .btn:hover {
	transform: scale(1.05);
	}
	.btn_box .btn:hover img {
	font-variant-position: 0.7;
	}
	}


.aco,
.close {
cursor: pointer;
}
.aco.open {
display: none;
}
.aco_contents {
}
.aco_box {
display: none;
padding: 30px 0;
}
.aco_box .popup_ttl {
background: #2e5fae;
color: #fff;
padding: 10px;
font-size: 120%;
margin-bottom: 20px;
text-align: center;
}
.aco_box .txt{
margin-bottom: 20px;
}
.aco_box .txt b {
color: #2e5fae;
font-size: 150%;
margin-bottom: 20px;
}

.aco_box .btn_box {
padding: 30px 0 0;
}
.aco_box .btn_box .btn {
height: 50px;
max-width: 300px;
}
.aco_box .btn_box .btn span {
position: relative;
border: 4px solid #fff;
height: 50px;
border-radius: 25px;
font-size: 120%;
width: 100%;
max-width: 600px;
}
.btn_box .btn.aco span::before {
transform: translate(0,-50%) rotate(90deg);
}
.aco_box .btn_box .btn span::before {
content: "";
position: absolute;
right: 20px;
top: 50%;
width: 20px;
height: 20px;
background: url("../images/btn_ico.png")no-repeat right center/20px 20px;
transform: translate(0,-50%) rotate(-90deg);
}
	@media screen and (max-width: 768px) {
	.btn_box {
	padding: 40px 0 0;
	}
	.btn_box .btn {
	height: 60px;
	padding: 5px;
	border-radius: 30px;
	}
	.btn_box .btn span {
    height: 50px;
    border-radius: 25px;
    font-size: 110%;
	text-align: center;
	}
	.btn_box .btn span::before {
	right: 10px;
	width: 20px;
	height: 20px;
	background-size: contain;
	}
	}