@charset "UTF-8";

/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/

html,body{
	height: 100%;
}
html{
	font-size: 62.5%;
	/*overflow-y: scroll;*/
}

body, h1, h2, h3, h4, h5, h6, p, address,ul, ol, li, dl, dt, dd,table, th, td, img, form, input, figure {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
	font-family: fot-tsukuardgothic-std, sans-serif;
	font-weight: 500;
	text-align: left;
	color: #000;
}

a{
	text-decoration: none;
	color: #000;
	transition: all .3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
a:hover{
	opacity: 0.7
}
div,h1,h2,h3,h4,h5,h6,p,dl,dt,dd,ol,ul,li,form,input,textarea,button,table,tr,th,td,article,aside,footer,header,hgroup,nav,section,a,span,img{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
body{
	width: 100%;
	word-break: break-all;
	-webkit-appearance: none;
	-webkit-text-size-adjust: 100%;
}
h1,h2,h3,h4,h5,p{
	/*text-align: justify;
	text-justify: distribute;*/
	line-height: 1.5;
}
img{
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
p img{
	margin: 0 0.1em;
}
input, button, textarea, select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
select::-ms-expand {
    display: none;
}
p{
	font-weight: 100;
}

.aligncenter{
    display: block;
    margin: 0 auto;
}

.alignright{
	float: right;
}

.alignleft{
	float: left;
}

.flex{
	display: flex;
	display: -webkit-flex;
	display: -ms-flex;
}
.flexwrap_wrap{
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
}
.flexdirection_column{
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
}
.justifycontent_flexend{
	-webkit-justify-content: flex-end;
	        justify-content: flex-end;
}
.justifycontent_center{
	-webkit-justify-content: center;
	        justify-content: center;
}
.justifycontent_spacebetween{
	-webkit-justify-content: space-between;
	        justify-content: space-between;
}
.justifycontent_spacearound{
	-webkit-justify-content: space-around;
	        justify-content: space-around;
}
.aligncontent_spacebetween{
	-webkit-align-content: space-between;
	        align-content: space-between;
}
.alignitems_center{
	-webkit-align-items: center;
	        align-items: center;
}
.alignitems_flexend{
	-webkit-align-items: flex-end;
	        align-items: flex-end;
}
.alignitems_flexstart{
	-webkit-align-items: flex-start;
	        align-items: flex-start;
}
.mb1em{
	margin-bottom: 1em;
}
.mb2em{
	margin-bottom: 2em;
}
p{
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.75;
}
.tab_wide,
.sp{
	display: none;
}
.fadeup {
	opacity: 0;
}
.fadeup.on {
  animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}
 
@keyframes fadeup {
  0% {
    transform: translateY(50px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.label-red {
	display: inline-block;
	font-size: 5vw;
	color: #fff;
	width: 90%;
	max-width: 380px;
	padding: 0.7em 0;
	border-radius: 30px;
	background-color: #e30013;
	text-align: center;
}
@media screen and (min-width: 768px) {
	.label-red {
		font-size: 31px;
		padding: 0.7em 1em;
	}
}

/* ------------------------------
    clearfix
------------------------------ */

.cf:after{
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}

.cf{
	display: inline-block;
}

/* Hides from IE Mac */
* html .cf{
	height: 1%;
}
.cf{
	display: block;
}
/* End Hack */



@media screen and (max-width: 992px) {
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
}


/* ---------------------------------------
  contents_wrap
-----------------------------------------*/
.contents_wrap {
	position: relative;
	width: 100%;
}

.contents {
	width: 100%;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.wrap{
	max-width: 685px;
	width: 90%;
	margin: auto;
}
.center p{
	text-align: center;
}

.blue{
	color: #034091;
}
.btn a{
	display: block;
}

#header{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 78px;
	padding: 0 5%;
}
#header #logo{
	width: 469px;
}
#header #logo img{
	vertical-align: unset;
}

@media screen and (max-width: 992px) {
	body.fixed{
		overflow: hidden;
	}
	#header{
		justify-content: space-between;
		height: 40px;
	}
	#header #logo{
		width: 230px;
	}
	.toggle_box{
		position: fixed;
		top: 0;
		right: 5%;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 38px;
		height: 38px;
		background: #E50012;
		z-index: 20;
	}
	.toggle_box .toggle{
		position: relative;
		width: 26px;
		height: 15px;
	}
	.toggle_box .toggle span{
		display: inline-block;
		transition: all .3s cubic-bezier(0.645, 0.045, 0.355, 1);
		position: absolute;
		width: 100%;
		height: 3px;
		margin: auto;
		background: #fff;
	}
	.toggle_box .toggle span:nth-child(1){
		top: 0;
	}
	.toggle_box .toggle span:nth-child(2){
		top: 0;
		bottom: 0;
	}
	.toggle_box .toggle span:nth-child(3){
		bottom: 0;
	}
	.toggle_box.active .toggle span{
		background: #fff;
	}
	.toggle_box.active .toggle span:nth-of-type(1) {
		bottom: 0;
		transform: rotate(140deg);
	}
	.toggle_box.active .toggle span:nth-of-type(2){
		opacity: 0;
	}
	.toggle_box.active .toggle span:nth-of-type(3) {
		top: 0;
		transform: rotate(-140deg);
	}

	#nav{
		position: fixed;
		top: 0;
		right: -100vw;
		width: 100vw;
		height: 100vh;
		padding: 60px 0 40px;
		z-index: 10;
		transition: all 0.6s;
		background-color: #fff;
	}
	#nav.on{
		right: 0;
	}
	#nav p{
		margin: auto;
	}
	#nav p:first-child{
		display: table;
		font-size: 1.6rem;
	}
	#nav ul{
		margin: 20px 10% 30px;
	}
	#nav ul li{
		font-size: 1.5rem;
	}
	#nav ul li + li{
		margin-top: 1em;
	}
	#nav ul li a{
		display: flex;
		align-items: center;
		gap: 15px;
	}
	#nav ul li a:before{
		content: "";
		display: block;
		width: 7px;
		height: 7px;
		background: #A2C3FD;
		border-radius: 50%;
	}
	#nav .btn{
		max-width: 292px;
	}
	#nav .btn + .btn{
		margin-top: 18px;
	}
	#nav  ol {
		margin-top: 20px;
		margin-left: 29px;
	}
	#nav  ol > li {
		margin-top: 0.3em;
	}
	#nav  ol > li a:before {
		display: none;
	}
	#nav  ol > li > a {
		font-size: 14px;
	}
}

#fv{
	position: relative;
	padding: 12px 0 40px;
	background: #F6F6F2;
}
#fv .fv_img{
	max-width: 708px;
	width: 90%;
	margin: auto;
}
#fv .btn{
	position: absolute;
	bottom: 26px;
	left: 0;
	right: 0;
	max-width: 610px;
	width: 85%;
	margin: auto;
}

@media screen and (max-width: 992px) {
	#fv{
		padding: 12px 0 30px;
	}
	#fv .btn{
		bottom: 20px;
	}
}

#sec01{
	padding: 40px 0;
}
#sec01 .wrap{
	padding: 35px 5% 40px;
	background: rgba(151, 151, 151, .2);
	border-radius: 30px;
}
#sec01 .txt{
	margin-bottom: 30px;
}
#sec01 p{
	font-size: 2.4rem;
	line-height: 2;
}
#sec01 .flex {
	gap: 20px;
}
#sec01 .flex img {
	margin-bottom: -40px;
}

@media screen and (max-width: 992px){
	#sec01{
		padding: 20px 0;
	}
	#sec01 .wrap{
		padding: 20px 3% 20px;
		border-radius: 20px;
	}
	#sec01 .txt{
		margin-bottom: 20px;
	}
	#sec01 p{
		font-size: 1.5rem;
		line-height: 1.9;
	}
}

@media screen and (max-width: 440px){
	#sec01 p{
		font-size: 1.3rem;
	}
	#sec01 .flex img {
		margin-bottom: -3vw;
	}
}

#sec02{
	padding: 40px 0;
	background: #F6F6F2;
}
#sec02 .title02{
	max-width: 642px;
	width: 90%;
	margin: 0 auto 55px;
}
#sec02 .flex_top{
	justify-content: space-between;
	align-items: center;
	margin-bottom: 50px;
}
#sec02 .txt{
	width: 60%;
}
#sec02 .txt p{
	/* font-size: 3rem; */
	font-size: 2vw;
}
#sec02 .flex_top figure{
	width: 37%;
}
#sec02 .flex_bottom{
	justify-content: space-between;
	gap: 20px;
}
#sec02 .ncad_area,
#sec02 .other_area{
	width: calc((100% - 20px) / 2);
	background: #fff;
}
#sec02 .flex_bottom:last-child .ncad_area,
#sec02 .flex_bottom:last-child .other_area{
	padding-bottom: 40px;
	border-radius: 0 0 50px 50px;
}
#sec02 .title03{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 56px;
	margin-bottom: 50px;
	font-size: 2.4rem;
	color: #6A6032;
	background: #BDC6C0;
}
#sec02 .ncad_area .title03{
	color: #fff;
	background: #E30013;
}
#sec02 .title03:after{
	content: "";
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	width: 16px;
	height: calc(tan(60deg) * 16px / 2);
	margin: auto;
	background: #BDC6C0;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
#sec02 .ncad_area .title03:after{
	background: #E30013;
}
#sec02 dl{
	padding: 0 3%;
	margin: 20px 0;
}
#sec02 dl dt{
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 282px;
	width: 90%;
	height: 36px;
	margin: auto;
	font-size: 2rem;
	color: #504134;
	background: #BDC6C0;
	border-radius: 30px;
}
#sec02 .ncad_area dt{
	color: #fff;
	background: #E30013;
}
#sec02 dl dd {
	width: 90%;
	margin: auto;
}
#sec02 dl dd figure{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100px;
	margin: auto;
}
#sec02 dl dd figure.one img{
	width: 79px;
}
#sec02 dl dd figure.two img{
	width: 95px;
}
#sec02 dl dd figure.three img{
	width: 77px;
}
#sec02 dl dd figure.four img{
	width: 136px;
}
#sec02 dl dd figure.five img{
	width: 87px;
}
#sec02 dl dd figure.six img{
	width: 109px;
}
#sec02 dl dd p{
	font-size: 1.8rem;
}
#sec02 dl dd p.center{
	text-align: center;
}
#sec02 dl dd p .large{
	font-size: 2.4rem;
}
#sec02 dl dd .title04{
	margin: 20px 0 10px;
	font-size: 2rem;
	text-align: center;
}
#sec02 dl dd figure + .title04{
	margin: 0 0 10px;
}
#sec02 dl dd p .line{
	background: #FDF050;
}
#sec02 .triangle{
	display: block;
	width: 43px;
	height: calc(tan(60deg) * 35px / 2);
	margin: 30px auto;
	background: #BDC6C0;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
#sec02 .ncad_area .triangle{
	background: #E30013;
}
#sec02 .bottom p{
	font-size: 2.4rem;
	text-align: center;
}
#sec02 .bottom p span{
	display: block;
	font-size: 4.4rem;
}
#sec02 .bottom img{
	display: block;
	max-width: 220px;
	width: 75%;
	margin: 10px auto 0;
}

@media screen and (max-width: 992px){
	#sec02{
		padding: 20px 0;
	}
	#sec02 .title02{
		margin: 0 auto 30px;
	}
	#sec02 .flex_top{
		margin-bottom: 30px;
	}
	#sec02 .txt p{
		font-size: 1.5rem;
	}
	#sec02 .flex_bottom{
		gap: 10px;
	}
	#sec02 .ncad_area,
	#sec02 .other_area{
		width: calc((100% - 10px) / 2);
	}
	#sec02 .flex_bottom:last-child .ncad_area,
	#sec02 .flex_bottom:last-child .other_area{
		padding-bottom: 20px;
		border-radius: 0 0 20px 20px;
	}
	#sec02 .title03{
		height: 28px;
		margin-bottom: 26px;
		font-size: 1.2rem;
	}
	#sec02 .title03:after{
		width: 5px;
		height: calc(tan(60deg) * 5px / 2);
	}
	#sec02 dl{
		padding: 0 2%;
		margin: 10px 0 0;
	}
	#sec02 dl dt{
		height: 17px;
		font-size: 1rem;
	}
	#sec02 dl dd figure{
		height: 50px;
	}
	#sec02 dl dd figure.one img{
		width: 38px;
	}
	#sec02 dl dd figure.two img{
		width: 46px;
	}
	#sec02 dl dd figure.three img{
		width: 38px;
	}
	#sec02 dl dd figure.four img{
		width: 66px;
	}
	#sec02 dl dd figure.five img{
		width: 42px;
	}
	#sec02 dl dd figure.six img{
		width: 53px;
	}
	#sec02 dl dd p{
		font-size: .85rem;
	}
	#sec02 dl dd p .large{
		font-size: 1.2rem;
	}
	#sec02 dl dd .title04{
		margin: 10px 0 5px;
		font-size: 1rem;
	}
	#sec02 dl dd figure + .title04{
		margin: 0 0 8px;
	}
	#sec02 .triangle{
		width: 20px;
		height: calc(tan(60deg) * 15px / 2);
		margin: 15px auto;
	}
	#sec02 .bottom p{
		font-size: 1.2rem;
	}
	#sec02 .bottom p span{
		font-size: 2.2rem;
	}
	#sec02 .bottom img{
		margin: 5px auto 0;
	}
}

#sec03{
	padding: 40px 0;
}

@media screen and (max-width: 992px){
	#sec03{
		padding: 20px 0;
	}
}

#sec04{
	padding: 58px 0 40px;
	background: #F6F6F2;
}
#sec04 > div {
	display: block;
	width: 90%;
	margin: 0 auto;
}
#sec04 > div + div {
	margin-top: 35px;
}
#sec04 .wrap{
	position: relative;
	padding: 105px 0 0;
	background: #fff;
	border-radius: 30px;
}
#sec04 .title02{
	position: absolute;
	top: -56px;
	left: 0;
	right: 0;
	max-width: 642px;
	width: 90%;
	margin: 0 auto;
}
#sec04 .title03{
	display: table;
	margin: 0 auto 30px;
	font-size: 4rem;
	line-height: 1;
	background: #FDF050;
}
#sec04 .txt{
	max-width: 540px;
	width: 80%;
	margin: 0 auto 20px;
}
#sec04 .txt p{
	font-size: 2.6rem;
}

@media screen and (max-width: 992px){
	#sec04{
		padding: 50px 0 30px;
	}
	#sec04 .wrap{
		padding: 50px 0 0;
		border-radius: 20px;
	}
	#sec04 .title02{
		top: -30px;
	}
	#sec04 .title03{
		margin: 0 auto 20px;
		font-size: 2rem;
	}
	#sec04 .txt{
		margin: 0 auto 10px;
	}
	#sec04 .txt p{
		font-size: 1.5rem;
	}
}

#sec05{
	padding: 40px 0;
	background: #F6F6F2;
}
#sec05 .w_box{
	position: relative;
	padding: 78px 5% 30px;
	margin-bottom: 40px;
	background: #fff;
	border-radius: 30px;
}
#sec05 .title02{
	position: absolute;
	top: -38px;
	left: 0;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 342px;
	height: 78px;
	margin: auto;
	font-size: 4rem;
	color: #FDF050;
	line-height: 1;
	background: #302796;
	border-radius: 10px;
}
#sec05 .title03{
	font-size: 3.3rem;
	text-align: center;
	line-height: 2;
}
#sec05 .title03 span{
	background-size: 26px 2px;
	background-image: linear-gradient(to right, #000000 14px, transparent 14px);
	background-repeat: repeat-x;
	background-position: left bottom;
	padding-bottom: 10px;
}

@media screen and (max-width: 992px){
	#sec05{
		padding: 30px 0;
	}
	#sec05 .w_box{
		padding: 38px 5% 20px;
		margin-bottom: 20px;
		border-radius: 20px;
	}
	#sec05 .title02{
		top: -20px;
		width: 167px;
		height: 38px;
		font-size: 2rem;
		border-radius: 5px;
	}
	#sec05 .title03{
		font-size: 2rem;
	}
	#sec05 .title03 span{
		background-size: 12px 1px;
		background-image: linear-gradient(to right, #000000 8px, transparent 8px);
		padding-bottom: 5px;
	}
}

@media screen and (max-width: 440px){
	#sec05 .title03{
		font-size: 1.8rem;
	}
}

#sec06{
	padding: 10px 0 40px;
	background: #F6F6F2;
}
#sec06 .wrap{
	position: relative;
	padding: 60px 3%;
	background: #fff;
}
#sec06 .title02{
	max-width: 488.663px;
	margin: 0 auto 40px;
}

@media screen and (max-width: 992px){
	#sec06{
		padding: 45px 0 20px;
	}
	#sec06 .wrap{
		position: relative;
		padding: 60px 2% 20px;
		border-radius: 20px;
	}
	#sec06 .title02{
		top: -35px;
	}
}

#sec07{
	padding: 40px 0 90px;
	background: #F6F6F2;
}
#sec07 .wrap{
	position: relative;
	padding: 60px 5% 40px;
	background: linear-gradient(135deg,  #9fbafd 23%,#eeffff 100%);
	border-radius: 10px;
	z-index: 1;
}
#sec07 .deco{
	position: absolute;
	top: 5px;
	right: 12px;
	max-width: 270px;
	width: 55%;
	z-index: 1;
}
#sec07 .title02{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 170px;
	margin-bottom: 60px;
	font-size: 4rem;
	text-align: center;
	background: #FDF050;
	border-radius: 30px;
	line-height: 1.2;
}
#sec07 .title02:after{
	content: "";
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	width: 50px;
	height: calc(tan(60deg) * 50px / 2);
	margin: auto;
	background: #FDF050;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
#sec07 .title03{
	margin-bottom: 45px;
	font-size: 4.4rem;
	text-align: center;
}
#sec07 .title03 + .txt{
	margin-bottom: 30px;
}
#sec07 p{
	font-size: 3rem;
}
#sec07 .box{
	padding: 40px 60px;
	background: #fff;
	border-radius: 10px;
}
#sec07 .box + .box{
	margin-top: 40px;
}
#sec07 .box .title04{
	margin-bottom: 30px;
	font-size: 4rem;
	text-align: center;
}
#sec07 .box .b_box{
	background: #F8F6F2;
}
#sec07 .box .title04.b_box{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 54px;
	margin-bottom: 20px;
}
#sec07 .box ol{
	margin: 0 20px;
}
#sec07 .box ol li{
	display: flex;
	align-items: center;
	gap: 20px;
	font-size: 3.4rem;
}
#sec07 .box ol li .number{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
	font-size: 3.6rem;
	background: #FDF050;
	border-radius: 50%;
}
#sec07 .box ol li + li{
	margin-top: 20px;
}
#sec07 .box ul li{
	display: flex;
	padding: 30px 40px;
	font-size: 3.8rem;
	line-height: 1.2;
	background: #F8F6F2;
	border-radius: 10px;
}
#sec07 .box ul li .dotted{
	display: block;
	width: 15px;
	height: 15px;
	margin-top: 0.4em;
	margin-right: 20px;
	background: #FDF050;
	border-radius: 50%;
}
#sec07 .box ul li .txt{
	width: calc(100% - 15px - 20px);
}
#sec07 .box ul li .caution{
	display: block;
	margin-top: 1em;
	font-size: 1.8rem;
	line-height: 1.6;
}
#sec07 .box ul li + li{
	margin-top: 40px;
}
#sec07 .box ul + .caution{
	margin-top: 15px;
}
#sec07 .box ul + .caution p{
	font-size: 2rem;
}
#sec07 .btn{
	margin: 40px 0 18px;
}
#sec07 .btn + .btn{
	margin: 0;
}

@media screen and (max-width: 992px){
	#sec07{
		padding: 20px 0;
	}
	#sec07 .wrap{
		padding: 20px 5%;
		border-radius: 20px;
	}
	#sec07 .deco{
		top: 5px;
		max-width: 25vw;
	}
	#sec07 .title02{
		height: 90px;
		margin-bottom: 40px;
		font-size: 2rem;
		border-radius: 20px;
	}
	#sec07 .title02:after{
		width: 22px;
		height: calc(tan(60deg) * 22px / 2);
	}
	#sec07 .title03{
		margin-bottom: 20px;
		font-size: 2.2rem;
	}
	#sec07 .title03 + .txt{
		margin-bottom: 20px;
	}
	#sec07 p{
		font-size: 1.5rem;
	}
	#sec07 .box{
		padding: 20px 30px;
	}
	#sec07 .box + .box{
		margin-top: 30px;
	}
	#sec07 .box .title04{
		margin-bottom: 20px;
		font-size: 2rem;
	}
	#sec07 .box .title04.b_box{
		height: 26px;
		margin-bottom: 10px;
	}
	#sec07 .box ol{
		margin: 0 18px;
	}
	#sec07 .box ol li{
		gap: 10px;
		font-size: 1.8rem;
	}
	#sec07 .box ol li .number{
		width: 30px;
		height: 30px;
		font-size: 1.8rem;
	}
	#sec07 .box ol li + li{
		margin-top: 12px;
	}
	#sec07 .box ul li{
		padding: 16px 28px;
		font-size: 2rem;
	}
	#sec07 .box ul li .dotted{
		width: 7px;
		height: 7px;
		margin-right: 10px;
	}
	#sec07 .box ul li .txt{
		width: calc(100% - 7px - 10px);
	}
	#sec07 .box ul li .caution{
		font-size: .9rem;
	}
	#sec07 .box ul li + li{
		margin-top: 20px;
	}
	#sec07 .box ul + .caution{
		margin-top: 10px;
	}
	#sec07 .box ul + .caution p{
		font-size: 1rem;
	}
	#sec07 .btn{
		margin: 20px 0 10px;
	}
}

#sec08{
	padding: 40px 0;
	background: #034091;
}
#sec08 p{
	font-size: 4rem;
	color: #fff;
	text-align: center;
}
#sec08 .btn{
	max-width: 564px;
	width: 90%;
	margin: 35px auto 0;
}

@media screen and (max-width: 992px){
	#sec08{
		padding: 20px 0;
	}
	#sec08 p{
		font-size: 2rem;
	}
	#sec08 .btn{
		margin: 15px auto 0;
	}
}

#sec09{
	padding: 40px 0 70px;
	background: #A2C3FD;
}
#sec09 figure{
	width: 100%;
	margin: auto 20px auto -15px;
	text-align: center;
}
#sec09 .btn{
	max-width: 568px;
	width: 90%;
	margin: 40px auto 0;
}

@media screen and (max-width: 992px){
	#sec09{
		padding: 20px 0 30px;
	}
	#sec09 .btn{
		margin: 20px auto 0;
	}
}

.btn_area{
	position: relative;
	padding: 40px 0;
}
#sec03 + .btn_area{
	padding: 10px 0 60px;
	/* padding: 55px 0 80px; */
}
.btn_area .ab_area{
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-content: center;
	flex-direction: column;
	gap: 30px;
	width: 100%;
	height: 100%;
}
.btn_area .ab_area p{
	max-width: 603px;
	width: calc(90% - 30px);
	display: table;
	padding-right: 1em;
	padding-left: 1em;
	margin: 0 auto;
	font-size: 3.6rem;
	line-height: 1.38;
	letter-spacing: -1px;
	text-shadow: 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff, 0 0 15px #fff;
}
.btn_area .ab_area .btn{
	max-width: 603px;
	width: calc(90% - 30px);
	padding-left: 1em;
	padding-right: 1em;
}	
.btn_area .ab_area .btn a{
	margin-left: auto;
	margin-right: auto;
}

#sec07 + .btn_area .ab_area {
	justify-content: flex-end;
	padding-bottom: 100px;
}

@media screen and (max-width: 768px){
	#sec07 + .btn_area .ab_area {
		padding-bottom: 70px;
	}
}
@media screen and (max-width: 992px){
	.btn_area{
		padding: 20px 0 40px;
	}
	.btn_area .ab_area{
		gap: 20px;
	}
	.btn_area .ab_area p{
		font-size: 1.8rem;
	}
}


#footer{
	padding: 40px 0;
}
#footer .copy{
	font-size: 2.4rem;
	text-align: center;
}

@media screen and (max-width: 992px){
	#footer{
		padding: 20px 0;
	}
	#footer .copy{
		font-size: 1.2rem;
	}
}

@media screen and (min-width: 992px) {
	body{
		background: url(../img/bg.png) repeat center top;
	}
	.contents_wrap {
		position: relative;
		display: flex;
		/* justify-content: center; */
		justify-content: space-between;
		padding: 60px 65px 84px 74px;
		overflow: hidden;
	}
	.contents_wrap:before{
		content: "";
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		border-top: 40px solid;
		border-image: linear-gradient(to right, #4F77D5, #034091);
		border-image-slice: 1;
		opacity: 0.75;
	}
	.contents_wrap:after{
		content: "";
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100vw;
		border-bottom: 40px solid;
		border-image: linear-gradient(to right, #4F77D5, #034091);
		border-image-slice: 1;
		opacity: 0.75;
	}
	.bg_main_border{
		position: fixed;
		top: 0;
		left: 0;
		display: block;
		width: 100vw;
		height: 100vh;
	}
	.bg_main_border:before{
		content: "";
		position: fixed;
		top: 40px;
		left: 0;
		width: 40px;
		height: calc(100% - 80px);
		background: #4F77D5;
		opacity: 0.75;
	}
	.bg_main_border:after{
		content: "";
		position: fixed;
		top: 40px;
		right: 0;
		width: 40px;
		height: calc(100% - 80px);
		background: #034091;
		opacity: 0.75;
	}
	.bg_main {
		position: fixed;
		top: 0;
		left: 0;
		display: block;
		width: 100vw;
		height: 100vh;
	}
	.bg_main .deco{
		position: absolute;
		top: 42%;
		right: -12px;
		max-width: 195px;
	}
	.cnt_r_pc {
		position: absolute;
		top: 40px;
		right: 55px;
		display: flex;
		justify-content: center;
		flex-direction: column;
		width: 42%;
		height: calc(100vh - 80px);
		padding-left: 56px;
		overflow: hidden;
	}
	.cnt_r_pc:before{
		content: "";
		display: block;
		position: absolute;
		top: 0;
		right: -30px;
		width: 562px;
		height: 174px;
		background: url(../img/bg_pc_top.png) no-repeat right top;
		background-size: 100% auto;
		z-index: -1;
	}
	.cnt_r_pc:after{
		content: "";
		display: block;
		position: absolute;
		bottom: -1px;
		left: 0;
		width: 500px;
		height: 265px;
		background: url(../img/bg_pc_bottom.png) no-repeat left bottom;
		background-size: 100% auto;
		z-index: -1;
	}
	.cnt_r_pc p{
		font-size: 2.5rem;
	}
	.cnt_r_pc ul{
		margin: 15px 0 25px 30px;
	}
	.cnt_r_pc ul > li{
		font-size: 2rem;
	}
	.cnt_r_pc ul > li + li{
		margin-top: 1em;
	}
	.cnt_r_pc ul > li > a{
		position: relative;
		padding-left: 29px;
	}
	.cnt_r_pc ul > li > a:before{
		content: "";
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		width: 9px;
		height: 9px;
		margin: auto;
		background: #A2C3FD;
		border-radius: 50%;
	}
	.cnt_r_pc ol {
		margin-top: 10px;
		margin-left: 29px;
	}
	.cnt_r_pc ol > li {
		margin-top: 0.3em;
	}
	.cnt_r_pc ol > li > a {
		font-size: 15px;
	}
	.cnt_r_pc .btn{
		max-width: 360px;
		margin-top: 10px;
		margin-left: 30px;
	}
	.contents {
		max-width: 76.8rem;
		width: 54.857%;
		margin-right: 40%;
		background: #fff;
		border-radius: 30px;
		box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.8);
	}
}

/** 2025/05/12 ***************************************/
.movieHanger{padding: 0 40px 60px;}
.movieHanger p{
	text-align: center;
	font-size: calc(2.0vw);
	padding-bottom: 15px;
}
.movieHanger p span {background:linear-gradient(transparent 60%, #ff6 60%);}
.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 992px) {
	.movieHanger{padding: 0 6%;}
	.movieHanger p{font-size: calc(4.2vw);}
}

