@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&family=Noto+Serif+JP&display=swap');

body {
	font-family: 'Helvetica Neue', Helvetica, 'Noto Sans JP', sans-serif;
	font-size:16px;
	text-align:center;
	line-height:1.4;
	color:#3a3a3a;
}


a {
	transition : opacity 0.4s;
	-webkit-transition : opacity 0.4s;
	opacity:1;
	outline:none;
}
a:hover {
	opacity: 0.7;
}

img{
	max-width:100%;
}

.only_smart,
.only_smart_i{
	display:none !important;
}


#wrapper{
	min-width:1024px;
/* カウントダウンタイマー設定時に必要
	padding-top:50px;*/
}


/* #count_down */
#count_down{
	width:100%;
	min-width:1024px;
	line-height:50px;
	background-color:#ff0068;
	color:#fff;
	font-size:21px;
	position:fixed;
	top:0;
	z-index:100;
}


/* header */
header{
	padding:20px 0 8%;
	background:url(../images/head_bg.jpg)no-repeat center bottom;
	background-size:cover;
}
header p{
	max-width:1100px;
	margin:auto;
	padding:0 10px 100px;
	text-align:left;
}


/* article */
article{
}


/* .appli */
.appli{
	padding:40px 0 50px;
}
.appli.first{
	background:url(../images/appli_bg.png);
}

.appli p{
	font-size:18px;
	font-weight:bold;
}
.appli p .yellow{
	display:inline-block;
	vertical-align:middle;
	margin-right:10px;
	padding:3px 15px;
	font-size:18px;
	background-color:#ffde00;
	border-radius:20px;
}
.appli p .large{
	vertical-align:middle;
	font-size:36px;
}
.appli p .pink{
	vertical-align:middle;
	font-size:57px;
	font-weight:900;
	color:#ff0067;
}
.appli a{
	display:inline-block;
	width:700px;
	line-height:98px;
	background:linear-gradient(to right, #333366, #0087cc);
	font-size:40px;
	font-weight:900;
	border-radius:49px;
	color:#fff;
	position:relative;
}
.appli a img{
	position:absolute;
	left:50px;
	top:50%;
	transform:translateY(-55%);
}


.appli a.active {
  visibility: visible !important;
  animation-fill-mode: both !important;
  -webkit-animation-fill-mode: both !important;
  -webkit-animation-iteration-count: infinite !important;
  animation-iteration-count: infinite !important;
  -webkit-animation: bounceBtn 1.8s;
  animation: bounceBtn 1.8s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
}

@-webkit-keyframes bounceBtn {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  25% {
    -webkit-transform: scale(1.015);
    transform: scale(1.015);
  }
  40% {
    -webkit-transform: scale(0.94);
    transform: scale(0.94);
  }
  50% {
    -webkit-transform: scale(1.015);
    transform: scale(1.015);
  }
  60% {
    -webkit-transform: scale(0.97);
    transform: scale(0.97);
  }
  70% {
    -webkit-transform: scale(1.01);
    transform: scale(1.01);
    opacity: 1;
  }
  80% {
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
  }
  90% {
    -webkit-transform: scale(1.005);
    transform: scale(1.005);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes bounceBtn {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  25% {
    -webkit-transform: scale(1.015);
    transform: scale(1.015);
  }
  40% {
    -webkit-transform: scale(0.94);
    transform: scale(0.94);
  }
  50% {
    -webkit-transform: scale(1.015);
    transform: scale(1.015);
  }
  60% {
    -webkit-transform: scale(0.97);
    transform: scale(0.97);
  }
  70% {
    -webkit-transform: scale(1.01);
    transform: scale(1.01);
    opacity: 1;
  }
  80% {
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
  }
  90% {
    -webkit-transform: scale(1.005);
    transform: scale(1.005);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}




/* .cont */
.cont{
}
.cont h2{
	line-height:1.2;
 font-size:43px;
 font-weight:900;
	letter-spacing:-0.03em;
}


/* #cont1 */
#cont1{
	padding:70px 0;
	background:url(../images/cont1_bg.jpg)no-repeat center center;
	background-size:cover;
}
#cont1 div{
	width:1000px;
	margin:auto;
	padding:70px 0 40px;
	background-color:rgba(255,255,255,0.7);
	position:relative;
}
#cont1 div > span{
	position:absolute;
	left:40px;
	top:-16px;
}
#cont1 div h2{
}
#cont1 div h2 span:first-of-type{
	font-size:34px;
	display:block;
}
#cont1 div h2 span:last-of-type{
	color:#3578c2;
}
#cont1 div ol{
	width:700px;
	margin:auto;
}
#cont1 div ol li{
	height:210px;
	margin:0;
	padding-left:150px;
	position:relative;
	 display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
#cont1 div ol li > span{
	display:block;
	width:136px;
	line-height:1.1;
	font-size:18px;
	font-weight:bold;
	color:#fff;
	position:absolute;
	left:0;
	top:50%;
	z-index:1;
	transform:translateY(-50%);
}
#cont1 div ol li:first-child > span:first-of-type:after{
	content:'';
	display:block;
	width:6px;
	height:450px;
	background:url(../images/cont1_line.png)no-repeat center top;
	position:absolute;
	top:68px;
	left:50%;
	transform:translateX(-50%);
	z-index:-1;
}
#cont1 div ol li > span:before{
	content:'';
	display:block;
	width:100%;
	padding-top:100%;
	background-color:#3578c2;
	border-radius:50%;
	z-index:-1;
	position:absolute;
	top:50%;
	transform:translateY(-50%);
}
#cont1 div ol li > span span{
	font-size:60px;
	display:block;
}
#cont1 div ol li p{
	line-height:1.8;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing:-0.05em;
}
#cont1 div ol li p span{
	font-weight:bold;
	color:#ff0067;
}


/* #cont2 */
#cont2{
	padding:70px 0 80px;
	background:
		url(../images/cont2_top.png)no-repeat left top,
		url(../images/cont2_bottom.png)no-repeat right bottom,
		url(../images/cont2_bg.png)no-repeat center center;
	background-size:30% auto,30% auto,cover;
}
#cont2 figure{
	margin:30px 0 50px;
}
#cont2 p{
	width:700px;
	line-height:1.7;
	margin:auto;
	font-size:18px;
	font-weight:bold;
	color:#fff;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing:-0.05em;
}
#cont2 p span{
	color:#ffff00;
}
#cont2 ul{
	width:800px;
	margin:auto;
}
#cont2 ul li{
	width:210px;
	display:inline-block;
	vertical-align:middle;
	margin:100px 20px 40px;
	font-size:26px;
	font-weight:bold;
	position:relative;
	z-index:1;
}
#cont2 ul li:before{
	content:'';
	display:block;
	width:100%;
	padding-top:100%;
	background:url(../images/cont2_list.png)no-repeat center top;
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	z-index:-1;
}
#cont2 ul li span{
	color:#b19753;
}


/* #cont3 */
#cont3{
	padding:100px 0 80px;
	background-color:#f4f2e6;
}
#cont3 h2 span{
	display:block;
	color:#3578c2;
}
#cont3 ul{
	width:1024px;
	margin:20px auto 0;
}
#cont3 ul li{
	width:206px;
	height:206px;
	padding-top:10px;
	display:inline-block;
	vertical-align:top;
	margin:40px 22px 0;
	background-color:#fff;
	border-radius:16px;
}
#cont3 ul li figure figcaption{
	font-size:22px;
	font-weight:bold;
}


/* #cont4 */
#cont4{
	height:800px;
	padding:50px 0;
	background:
		url(../images/cont4_bg.jpg)no-repeat center top,
		url(../images/cont4_base.png)no-repeat center top;
}
#cont4 ul{
	width:1024px;
	margin:70px auto 0;
}
#cont4 ul li{
	display:inline-block;
	vertical-align:top;
}
#cont4 ul li:nth-child(n+4){
	margin-top:220px;
}


/* #cont5 */
#cont5{
	padding:90px 0;
	background:url(../images/cont5_bg.jpg)no-repeat center center;
	background-size:cover;
}
#cont5 div{
	width:1000px;
	margin:auto;
	padding:70px 0 70px;
	background-color:rgba(255,255,255,0.7);
	position:relative;
}
#cont5 div > span{
	position:absolute;
	right:-13px;
	top:-13px;
}
#cont5 div p{
	width:700px;
	margin:30px auto;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing:-0.05em;
	line-height:1.8;
}


/* #cont6 */
#cont6{
	padding:100px 0 0;
}
#cont6 section{
	padding:180px 0 30px;
}
#cont6 section:first-of-type{
	margin-top:-60px;
	background:url(../images/cont6_1_1.jpg)no-repeat center top;
}
#cont6 section:last-of-type{
	background:url(../images/cont6_2_1.jpg)no-repeat center top;
}
#cont6 section div{
	width:1000px;
	margin:auto;
	text-align:left;
}
#cont6 section:last-of-type div{
	padding-left:350px;
}
#cont6 section div h3{
	margin-bottom:30px;
}
#cont6 section:first-of-type div p{
	padding-right:310px;
}
#cont6 section div h4{
	margin:25px 0 10px;
	font-size:20px;
	font-weight:900;
}
#cont6 section div .scroll{
	width:100%;
	height:400px;
	overflow:auto;
	-webkit-overflow-scrolling: touch;
	padding:40px 50px;
	background-color:#f7f7f7;
}


/* #cont7 */
#cont7{
	padding:0 0 350px;
	background:
		url(../images/cont7_bg_bottom.png)no-repeat center bottom,
		url(../images/cont7_bg.png);
}
#cont7 h2{
	padding:30px 0;
	background-color:#318fbb;
	position:relative;
	color:#fff;
}
#cont7 h2:after{
	content:'';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 100px 40px 0 0;
	border-color: #318fbb transparent transparent transparent;
	position:absolute;
	top:80%;
	left:68%;
	transform:rotate(40deg);
}
#cont7 ul{
	width:700px;
	margin:60px auto 0;
}
#cont7 ul li{
	margin-top:35px;
	padding:20px 0;
	background-color:#fff;
	border:1px solid #318fbb;
	position:relative;
	font-size:26px;
	font-weight:bold;
	border-radius:12px;
}
#cont7 ul li:nth-child(odd) img:first-of-type{
	position:absolute;
	left:0;
	bottom:0;
}
#cont7 ul li:nth-child(odd) img:last-of-type{
	position:absolute;
	right:0;
	top:50%;
	transform:translateY(-50%);
}
#cont7 ul li:nth-child(even) img:first-of-type{
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);
}
#cont7 ul li:nth-child(even) img:last-of-type{
	position:absolute;
	right:0;
	bottom:0;
}
#cont7 ul li span{
	color:#3578c2;
}



/* #cont8 */
#cont8{
	padding-bottom:60px;
	background:url(../images/cont8_bg.png) center top;
}
#cont8 h2{
	width:800px;
	display:inline-block;
	margin:-310px 0 30px;
}
#cont8 h2 + p{
	width:700px;
	margin: auto;
	font-size:18px;
	font-weight:bold;
	color:#fff;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing:-0.05em;
	line-height:1.7;
}
#cont8 > ul{
	width:1024px;
	margin:0 auto 100px;
}
#cont8 > ul > li{
	display:inline-block;
	vertical-align:top;
	width:480px;
	min-height:580px;
	margin:40px 12px 0;
	background-color:#fff;
	box-shadow:0 0 8px rgba(0,0,0,0.6);
	border-radius:18px;
	position:relative;
	text-align:left;
}
#cont8 > ul > li:nth-child(3),
#cont8 > ul > li:last-child{
	width:990px;
}
#cont8 > ul > li:nth-child(3){
	min-height:auto;
	min-height:initial;
}
#cont8 > ul > li:nth-child(3):after{
	content:'';
	display:block;
	clear:both;
}
#cont8 > ul > li > span{
	width:170px;
	position:absolute;
	right:-12px;
	top:-12px;
}
#cont8 > ul > li:nth-child(3) > img{
	float:right;
	margin-left:0.5em;
}
#cont8 > ul > li h3{
	padding:20px 30px;
	font-size:28px;
	font-weight:900;
}
#cont8 > ul > li h3 span{
	color:#3578c2;
}

#cont8 > ul > li ul{
	padding:0 30px 18px calc(30px + 1.5em);
}
#cont8 > ul > li ul:after{
	content:'etc...';
	display:block;
	text-align:right;
}
#cont8 > ul > li ul li{
	list-style:disc;
}
#cont8 > ul > li dl{
	display:inline-block;
	vertical-align:top;
}
#cont8 > ul > li dl dt{
	padding:0 30px;
	font-weight:bold;
	color:#3578c2;
}

#cont8 > div{
	overflow:hidden;
}
#cont8 > div section{
	padding:25px 0;
}
#cont8 > div section > img{
	display:inline-block;
	vertical-align:middle;
}
#cont8 > div section > div{
	width:620px;
	display:inline-block;
	vertical-align:middle;
	margin:0 0 0 50px;
	color:#fff;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing:-0.05em;
}
#cont8 > div section:nth-of-type(even) > div{
	margin:0 50px 0 0;
}
#cont8 > div section > div h3{
	line-height:1.2;
	font-size:36px;
	font-weight:900;
	padding-left:130px;
	position:relative;
	text-align:left;
	white-space:nowrap;
}
#cont8 > div section > div h3 span{
	color:#ffff00;
}
#cont8 > div section > div h3 img{
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);
}
#cont8 > div section > div p{
	line-height:1.8;
	margin-top:50px;
	font-weight:bold;
}
#cont8 > div section:last-of-type > div p{
	margin-top:70px;
}



/* #cont9 */
#cont9{
	padding:50px 0 60px;
	background-color:#f4f2e6;
}
#cont9 section{
	width:1000px;
	margin:50px auto 0;
	padding:50px 50px 20px;
	background-color:#fff;
	box-shadow:0 0 8px rgba(0,0,0,0.3);
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing:-0.05em;
	border-radius:18px;
	position:relative;
}
#cont9 section:before{
	content:'';
	display:block;
	width:170px;
	padding-top:94px;
	background:url(../images/cont9_icon.png)no-repeat center top;
	position:absolute;
	right:30px;
	top:-25px;
}
#cont9 section:after{
	content:'';
	display:block;
	clear:both;
}
#cont9 section h3{
	line-height:1.2;
	margin-bottom:70px;
	padding-left:160px;
	font-size:40px;
	font-family: 'Noto Serif JP', serif;
}
#cont9 section h3 span:first-of-type{
	color:#3578c2;
}
#cont9 section h3 span:last-of-type{
	margin-top:10px;
	padding-top:10px;
	display:block;
	border-top:1px dashed #8f8f8f;
	font-size:18px;
	font-weight:bold;
	font-family: 'Noto Sans JP', sans-serif;
}
#cont9 section h3 + img{
	width:125px;
	position:absolute;
	left:50px;
	top:50px;
}
#cont9 section figure{
	float:right;
	margin-left:20px;
	padding-bottom:60px;
	text-align:center;
}
#cont9 section figure.no_padding{
	padding:0;
}
#cont9 section figure figcaption{
	margin:10px 0;
	color:#3578c2;
	font-weight:bold;
	text-align:left;
}
#cont9 section p{
	line-height:1.7;
	margin-bottom:30px;
}


/* .cont10 */
.cont10{
	padding:100px 0;
	background:url(../images/cont10_bg.png) center center;
	background-attachment: fixed;
}
.cont10 h2{
	margin-top:30px;
}
.cont10 h2 span{
	display:block;
	color:#318fbb;
}
.cont10 h2 + p{
	margin:50px 0 60px;
	font-size:24px;
	font-weight:bold;
}
.cont10 h2 + p span{
	font-size:30px;
	color:#318fbb;
	margin-left:20px;
}
.cont10 > ul:first-of-type li{
	display:inline-block;
	vertical-align:middle;
	width:148px;
	margin:0 8px;
	font-size:19px;
	font-weight:bold;
	line-height:1.2;
	color:#fff;
	position:relative;
	z-index:1;
}
.cont10 > ul:first-of-type li span{
	display:block;
	font-size:16px;
}
.cont10 > ul:first-of-type li:before{
	content:'';
	display:block;
	width:100%;
	padding-top:100%;
	background-color:#3578c2;
	border-radius:50%;
	position:absolute;
	top:50%;
	z-index:-1;
	transform:translateY(-50%);
}

.cont10 > ul:last-of-type{
	width:650px;
	margin:60px auto 0;
}
.cont10 > ul:last-of-type li{
	width:320px;
	line-height:2;
	display:inline-block;
	text-align:left;
	font-size:24px;
}
.cont10 > ul:last-of-type li:nth-child(odd){
	width:270px;
}
.cont10 > ul:last-of-type li:nth-child(even){
	width:320px;
}
.cont10 > ul:last-of-type li span{
	display:inline-block;
	font-weight:bold;
}
.cont10 > ul:last-of-type li:nth-child(even) span{
	width:6.2em;
}
.cont10 > ul:last-of-type li span:before{
	content:'';
	display:inline-block;
	vertical-align:middle;
	width:18px;
	height:18px;
	background-color:#3578c2;
	margin-right:2px;
}
.cont10 > section{
	width:1000px;
	margin:30px auto 0;
	padding:0;
} 
.cont10 > section h3{
	line-height:60px;
	font-size:24px;
	background-color:#e7e7e7;
}
.cont10 > section h3 + p{
	margin:10px 0 0;
}
.cont10 > section ul{
	width:700px;
	margin:20px auto 0;
}
.cont10 > section ul li{
	margin:20px 0;
	padding:30px 0;
	background-color:#fff;
	border:6px  solid #3578c2;
	border-radius:6px;
	position:relative;
}
.cont10 > section ul li > span{
	position:absolute;
	right:-17px;
	top:-17px;
}
.cont10 > section ul li h5{
	margin-bottom:20px;
	font-size:30px;
}
.cont10 > section ul li h5 > span{
	margin-top:10px;
	font-size:26px;
	display:block;
}
.cont10 > section ul li h5 > span span{
	display:block;
	font-weight:normal;
}
.cont10 > section label span{
	font-size:24px;
}
.cont10 .appli a{
	display:inline-block;
	width:410px;
	line-height:74px;
	margin-top:20px;
	background:linear-gradient(to right, #333366, #0087cc);
	font-size:30px;
	font-weight:900;
	border-radius:37px;
	color:#fff;
	position:static;
	opacity:0.5;
	pointer-events: none;
}
.cont10 .appli a.active{
	opacity:1;
	pointer-events: auto;
}
.cont10 .appli a.active:hover{
	opacity:0.7;
}
.cont10 .appli a img{
	position:static;
	left:auto;
	top:auto;
	transform:translateY(-5px);
	width:42px;
	margin-right:25px;
}
.cont10 > section ul li div{
	width:610px;
	height:136px;
	margin:20px auto;
	padding:15px;
	border:1px solid #000;
	overflow:auto;
	-webkit-overflow-scrolling: touch;
}
.cont10 > section ul li div h6,
.cont10 > section ul li div p{
	font-size:16px;
	font-weight:normal;
	text-align:left;
	line-height:1.8;
}
.cont10 > section ul + p{
	margin-top:30px;
	font-size:24px;
}
.cont10 > section ul + p img{
	margin-left:20px;
}



/* チェックボックス */
input[type="checkbox"] {
	display:none;
}
input[type="checkbox"] + span{
	display:inline-block;
	position: relative;
	padding-left:40px;
}
input[type="checkbox"] + span:before{
	content:'';
	display:inline-block;
	width: 30px;
	height: 30px;
	background-color: #FFFFFF;
	border: 1px solid #1f1f1f;
	-webkit-box-shadow: inset 3px 3px 8px rgba(0,0,0,0.2);
	box-shadow: inset 3px 3px 8px rgba(0,0,0,0.2);
	vertical-align: middle;
	cursor: pointer;
	outline : none;
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);
}
input[type="checkbox"]:checked + span:after {
	content:'';
	display: block;
	width: 14px;
	height: 22px;
	position: absolute;
	top: 3px;
	left: 8px;
	border-right: 5px solid #f00;
	border-bottom: 5px solid #f00;
	content: '' !important;
	-webkit-transform: rotate(45deg) !important;
	-ms-transform: rotate(45deg) !important;
	transform: rotate(45deg) !important;
}


/* #cont11 */
#cont11{
	padding:0 0 50px;
	background:url(../images/cont11_bg.png) center center;
}
#cont11 h2{
	transform:translateY(-25px);
}
#cont11 ol{
	width:1000px;
	height:296px;
	margin:auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#cont11 ol li{
	width:296px;
	background-color:#fff;
	border-radius:13px;
	position:relative;
}
#cont11 ol li:after{
	content:'\003009';
	position:absolute;
	left:106%;
	top:50%;
	transform:translateY(-50%);
	font-size:48px;
	color:#fff;
}
#cont11 ol li:last-child:after{
	content:none;
}
#cont11 ol li h3{
	line-height:50px;
	color:#fff;
	font-size:18px;
	font-weight:900;
	background:url(../images/cont11_tit1.png)no-repeat center top;
}
#cont11 ol li:nth-child(2) h3{
	background:url(../images/cont11_tit2.png)no-repeat center top;
}
#cont11 ol li:last-child h3{
	background:url(../images/cont11_tit3.png)no-repeat center top;
}
#cont11 ol li img{
	margin:30px 0;
}
#cont11 ol li p{
	padding:0 15px;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing:-0.05em;
}


/* #cont12 */
#cont12{
	padding:60px 0 80px;
}
#cont12 > span{
	line-height:1;
	font-size:24px;
	font-weight:bold;
}
#cont12 h2{
	margin-top:30px;
	font-size:24px;
}
#cont12 ul{
	width:1000px;
	margin:50px auto 0;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#cont12 ul li{
	width:325px;
}
#cont12 ul li dl dt{
	line-height:50px;
	background-color:#318fbb;
	color:#fff;
	font-size:24px;
	font-weight:bold;
}
#cont12 ul li dl dd{
	height:65px;
	line-height:1.2;
	margin:8px 0;
	padding-left:60px;
	background-color:#ededed;
	font-size:20px;
	font-weight:bold;
	text-align:left;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	position:relative;
}
#cont12 ul li dl dd:before{
	content:'×';
	font-size:40px;
	position:absolute;
	left:20px;
	top:50%;
	transform:translateY(-50%);
}


/* #cont13 */
#cont13{
	padding:60px 0 0;
	background:url(../images/cont13_bg.png)center top;
}
#cont13 h2{
	margin-bottom:40px;
}
#cont13 .appli{
	background:#ffff00;
}
#cont13 .appli p .yellow{
	background-color:#fff;
}


/* #cont14 */
#cont14{
	padding:40px 0 40px;
}
#cont14 h2{
	font-size:24px;
}
#cont14 dl{
	width:700px;
	margin:30px auto 0;
}
#cont14 dl dt,
#cont14 dl dd{
	min-height:96px;
	padding:25px 0 25px 60px;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing:-0.05em;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	position:relative;
}
#cont14 dl dt{
	margin-bottom:-35px;
	font-size:20px;
	font-weight:bold;
}
#cont14 dl dt:before{
	content:'Q';
	display:block;
	width:46px;
	line-height:46px;
	font-size:24px;
	font-weight:bold;
	text-align:center;
	background-color:#3578c2;
	color:#fff;
	border-radius:50%;
	position:absolute;
	left:0;
	top:25px;
}
#cont14 dl dd{
	border-bottom:1px dashed #3a3a3a;
}
#cont14 dl dd:last-of-type{
	border-bottom:none;
}
#cont14 dl dd:before{
	content:'A';
	display:block;
	width:46px;
	line-height:46px;
	font-size:24px;
	font-weight:bold;
	text-align:center;
	background-color:#ff0067;
	color:#fff;
	border-radius:50%;
	position:absolute;
	left:0;
	top:25px;
}

/* #cont15 */
#cont15{
	margin:auto;
	padding:80px 0 100px;
	background:#f1f1f0 url(../images/cont15_bg.png)no-repeat center 90px;
	background-attachment: fixed;
}
#cont15 div{
	width:700px;
	margin:auto;
	padding-left:260px;
}
#cont15 h2{
	margin-bottom:50px;
	padding-left:30px;
	border-left:8px solid;
	font-size:36px;
	font-family: 'Noto Serif JP', serif;
	text-align:left;
}
#cont15 p{
	line-height:1.8;
	margin-top:1.4em;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing:-0.05em;
}


/* #cont16 */
#cont16{
	padding:60px 0 60px;
}
#cont16 h2{
	margin-bottom:30px;
}


/* #cont17 */
#cont17{
	padding:50px 0 60px;
	background:url(../images/cont17_bg.png) center top;
}
#cont17 section{
	width:1000px;
	margin:50px auto 0;
	padding:50px 50px 20px;
	background-color:#fff;
	box-shadow:0 0 8px rgba(0,0,0,0.3);
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing:-0.05em;
	border-radius:16px;
	position:relative;
}
#cont17 section:after{
	content:'';
	display:block;
	clear:both;
}
#cont17 section h3{
	line-height:1.2;
	margin-bottom:50px;
	padding-left:180px;
	font-size:39px;
	font-family: 'Noto Serif JP', serif;
	letter-spacing:-0.05em;
}
#cont17 section h3 span:first-of-type{
	color:#3578c2;
}
#cont17 section h3 span:last-of-type{
	margin-top:10px;
	padding-top:10px;
	display:block;
	border-top:1px dashed #8f8f8f;
	font-size:18px;
	font-weight:bold;
	font-family: 'Noto Sans JP', sans-serif;
}
#cont17 section h3 + img{
	width:193px;
	position:absolute;
	left:20px;
	top:40px;
}
#cont17 section figure{
	float:right;
	margin-left:20px;
	padding-bottom:60px;
	text-align:center;
}
#cont17 section figure.no_padding{
	padding:0;
}
#cont17 section p{
	line-height:1.7;
	margin-bottom:30px;
}
#cont17 section ul{
	line-height:1.7;
	margin-bottom:30px;
	padding-left:1.5em;
}
#cont17 section ul li{
	list-style:disc;
}


/* footer */
footer{
}
footer p{
	line-height:80px;
	font-size:26px;
	font-weight:bold;
	background-color:#ebebeb;
}
footer ul{
	padding:20px 0 50px;
	letter-spacing:-0.4em;
}
footer ul li{
	display:inline-block;
	vertical-align:middle;
	padding:0 20px;
	letter-spacing:normal;
	line-height:1;
}
footer ul li:first-child{
	border-right:1px solid;
}
footer ul li a{
	color:#3a3a3a;
	font-size:20px;
}



/* topbtn */
#topbtn{
	width:50px;
	line-height:50px;
	font-size:21px;
	border-radius:50%;
	color:#fff;
	background-color:rgba(0,0,0,0.5);
	position:fixed;
	z-index:101;
	right:20px;
	bottom:-150px;
	-webkit-transition: bottom 0.8s;
	-moz-transition: bottom 0.8s;
	-ms-transition: bottom 0.8s;
	transition: bottom 0.8s;
}


/* #bottom_banner */
#bottom_banner{
	position:fixed;
	z-index:100;
	right:0;
	bottom:0;
}


/* fadein */
.fadein {
	opacity : 0;
	-webkit-transform : translate(0, 70px);
	transform : translate(0, 70px);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.fadein_l {
	opacity : 0;
	-webkit-transform : translate(-100px, 0);
	transform : translate(-100px, 0);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.fadein_r {
	opacity : 0;
	-webkit-transform : translate(100px, 0);
	transform : translate(100px, 0);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.fadein.scrollin,
.fadein_l.scrollin,
.fadein_r.scrollin{
	opacity : 1;
	-webkit-transform : translate(0, 0);
	transform : translate(0, 0);
}

.delay1 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.4s;
	transition-delay : 0.4s;
}
.delay2 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.8s;
	transition-delay : 0.8s;
}

