@charset "UTF-8";
@import url("grid.css");

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

img {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: top;
  background: transparent;
}

img {
	max-width:100%;
	height: auto;/*高さ自動*/
}
a {
    display:block;
    color: #666;
    text-decoration-line: none;
}
a:hover { 
    color: #999;
}

body{
	text-align: center;
	color: #665d97;
	width: 100%;
	font-size: 1.85vw;
	letter-spacing: 0;
	line-height: 1;
	font-family: "Noto Sans JP", sans-serif;
}
.tx_box p{
	padding-bottom: 2em;
	line-height:1.5em;
	text-align: left;
}
    
/*メイン画像
-------------------------------------*/
.mainimg {
	position: relative;
	background-image: url("../pc_img/1sec_bg.png");
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: top left;
	height: 1780px;
}

.mainimg h1{
	position: absolute;
	right:8.8em;
	top:136px;
}

.mainimg h1 img{
	width: 692px;
	height: auto;
   /* width: 100vw;*/
}

@media screen and (max-width: 1063px) {
	.mainimg {height: 970px;}
	.mainimg h1{top:200px; right: 4.8em;
	border: solid 0px #fff;
	}
	
	
}


/*メインコンテンツ
-------------------------------------*/

.contents_outer_wp{
	position: static;
	width: 100%;
	margin: 0 auto;
}
.contents_inner_wp{
	width: 100%;
	margin: 0 auto;
}

#disc01{
	width: 1400px;
}

#disc01 h2 img{
	width: 100%;
}

#disc01 h2{
	position: absolute;
}

#disc01 div.tx_box{
	position: absolute;
}

#disc01 div.tx_box p{
	text-shadow: #fff 1px 0 10px;
}

@media screen and (min-width: 1451px) {

#disc01 h2{
	border: solid 0px pink;
	left: 10em;
	top:33.5em;
	width: 181px;
}

#disc01 div.tx_box{
	width: 660px;
	right: 12em;
	top:24em;
}	
}

@media screen and (max-width: 1450px) {
#disc01 h2{
	border: solid 0px green;
	left: 7em;
	top:33.5em;
	width: 200px;
}
	
#disc01 div.tx_box{
	width: 615px;
	right: 12em;
	top:28.5em;
}	
}

@media screen and (max-width: 1315px) {
.mainimg {height: 1457px;}
	
#disc01 h2{
	display: none;
}

#disc01 div.tx_box{
	right: 13em;
	top:30.5em;
}
}

@media screen and (max-width: 1000px) {
.mainimg {height: 1249px;}

#disc01 div.tx_box{
	border: solid 0px yellow;
	top:46.5em;
}
}
main {
    margin: 0 0 0;
	
}
section.sec_bg6,
section.sec_bg3{
	position: static;
	background-image: url("../pc_img/3sec_bg.png");
	background-repeat: no-repeat;
	padding: 5em 0 5em 0;
	border: solid 0px red;
	background-size: auto 100%
}

section.sec_bg9{
	position: static;
	background-image: url("../pc_img/9sec_bg.png");
	background-repeat: no-repeat;
	background-position: 0 0;
	padding: 5em 0 5em 0;
	border: solid 0px red;
	background-size: 100% auto;
}
section.sec_bg9 h2{
max-width: 950px;
margin: 0 auto;
text-align: center;
padding: 1em 0 0 0;	
}
section.sec_bg6 h2,
section.sec_bg3 h2{
	max-width: 950px;
	margin: 0 auto;
	text-align: center;
	padding: 1em 0;
}
section.sec_bg9 .contents_inner_box,
section.sec_bg6 .contents_inner_box,
section.sec_bg3 .contents_inner_box{
	background-image: url("../pc_img/4sec_ct_bg.png");
	background-repeat: repeat-y;
	width: 1200px;
	padding: 3em 3em;
	margin: 0 auto;
}
section.sec_bg9 .contents_inner_box .contents_inner_box2{
	background-image: url("../pc_img/9sec_ct_bg.png");
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 45% auto;
	width: 100%;
	border: solid 0px pink;
}

html body main section#disc08.sec_bg9 .contents_inner_box .contents_inner_box2 h3{
	width: 100%; text-align: right!important; padding: 1em 0 0.5em 0;
}
html body main section#disc08.sec_bg9 .contents_inner_box .contents_inner_box2 h3 img{
	width: 60%; float: right;
}
html body main section#disc08.sec_bg9 .contents_inner_box .contents_inner_box2 .tx_box{
	width: 100%;
	padding-left: 38%;
	padding-top: 0.3em;
}

#disc08 figure img{
	width: 100%;
}
ul.list_sec3{
	padding: 0;
	list-style: none;
	width: 80%;
	margin: 0 auto;
	
}
.list_sec3 li{
background-position: top left;
background-repeat: no-repeat;
background-size: auto 50px;
min-height:  50px;
padding-left: 2em;
margin: 1.5em 0;
text-align: left;	
}


.list_sec3 li:first-child{
background-image: url("../commonimg/no1.png");
}
.list_sec3 li:nth-child(2){
background-image: url("../commonimg/no2.png");	
	
}
.list_sec3 li:nth-child(3){
background-image: url("../commonimg/no3.png");
}
.list_sec3 li:nth-child(4){
background-image: url("../commonimg/no4.png");	
	
}

section.sec_bg4{
	position: static;
	background-image: url("../pc_img/4sec_bg.png");
	background-repeat: no-repeat;
	padding: 0em 0 5em 0;
	border: solid 0px red;
	background-size: 100% auto;
}

section.sec_bg4 h2{
	max-width: 950px;
	margin: 0 auto;
	padding: 0.5em 0;
}

section.sec_bg4 .contents_inner_box{
	width: 1200px;
	padding: 3em 3em;
	margin: 0 auto;
}

section.sec_bg5{
	position: static;
	background-image: url("../pc_img/5sec_bg.png");
	background-repeat: no-repeat;
	padding: 0em 0 5em 0;
	border: solid 0px red;
	background-size: 100% auto;
}

section.sec_bg5 h2{
	width: 100%;
	text-align: right;
	border: solid 0px red;
	padding-bottom: 0.7em;
}

section.sec_bg5 h2 img{
	width: 710px; float: right;
}

section.sec_bg5 .contents_inner_box{
	width: 1200px;
	padding: 3em 3em;
	margin: 0 auto;
}

#disc04 .tx_box{
	width: 100%;
	padding-left: 14.8em;
	padding-top: 0.8em;
}

#disc04 .tx_box p {ext-shadow: #fff 1px 0 10px;}


button.transition{
	border: solid 2px #7064ba;
	padding: 1.2em;
	height: auto;
	margin-top: 1.2em;
	
}

button.transition a:link,
button.transition a:visited{
	color: #7064ba;
	transition : all 0.5s;
}

button.transition a:hover{
	
}
button.transition:hover{
	background-color:#7064ba;
}
button.transition:hover a{
	color: #fff;
}

/*#disc05{
	position: absolute;
	background-image: url("../pc_img/6sec_bg_img.png");
	background-repeat: no-repeat;
	background-position: right bottom;
	z-index: 9999;
}*/

section.sec_bg7{
	position: static;
	background-image: url("../pc_img/7sec_bg.png");
	background-position: top 190px right 10%;
	background-repeat: no-repeat;
	padding: 0em 0 5em 0;
	border: solid 0px red;
	background-size: 35% auto;
}

section.sec_bg7 h2{
	width: 100%;
	text-align: left;
	border: solid 0px red;
	padding-bottom: 0.7em;
}

section.sec_bg7 h2 img{
	width: 80%;
}

section.sec_bg7 .contents_inner_box{
	width: 1200px;
	padding: 3em 3em;
	margin: 0 auto;
}

#disc06 .tx_box{
	width: 100%;
	padding-right: 14.8em;
	padding-top: 0.8em;
}

section.sec_bg8{
	position: static;
	background-image: url("../pc_img/8sec_bg.png");
	background-repeat: no-repeat;
	padding: 0em 0 4em 0;
	border: solid 0px red;
	background-size: 100% auto;
}

section.sec_bg8 h2{
	width: 100%;
	text-align: right;
	border: solid 0px red;
	padding-bottom: 0.7em;
}

section.sec_bg8 h2 img{
	width: 710px;
	float: right;
}

section.sec_bg8 .contents_inner_box{
	width: 1200px;
	padding: 3em 3em;
	margin: 0 auto;
}

#disc07 .tx_box{
	width: 100%;
	padding-left: 14.8em;
	padding-top: 0.8em;
}

section.sec_bg10{
	position: static;
	background-image: url("../pc_img/10sec_bg.png");
	background-color: #edf1f4;
	background-repeat: no-repeat;
	padding: 0em 0 0em 0;
	border: solid 0px red;
	background-size: 100% auto;
}

section.sec_bg10 h2{
	width: 100%;
	text-align: left;
	border: solid 0px red;
	padding-bottom: 0.7em;
}

section.sec_bg10 h2 img{
	width: 100%;
}

section.sec_bg10 .contents_inner_box{
	width: 1200px;
	padding: 3em 0 0 3em;
	margin: 0 auto;
}

#disc09 .tx_box{
	width: 100%;
	padding-right: 12.8em;
	padding-top: 0.8em;
	padding-bottom: 0.8em;
}
#disc09 .tx_box p {ext-shadow: #fff 1px 0 10px;}

@media screen and (max-width: 1315px) {
	section.sec_bg4 h2{width: 800px;}
	section.sec_bg9 .contents_inner_box,
	section.sec_bg7 .contents_inner_box,
	section.sec_bg6 .contents_inner_box,
	section.sec_bg5 .contents_inner_box,
	section.sec_bg4 .contents_inner_box,
	section.sec_bg3 .contents_inner_box{ width: 1000px;}
	section.sec_bg3,section.sec_bg4{border: solid 0px green;}
	.list_sec3 li{padding-left: 2.5em;background-size: auto 30px;}
}

@media screen and (max-width: 1000px) {
	section.sec_bg10 h2 img{ width: 90%;}
	section.sec_bg4 h2{width: 700px;}
	section.sec_bg9 .contents_inner_box,
	section.sec_bg7 .contents_inner_box,
	section.sec_bg6 .contents_inner_box,
	section.sec_bg4 .contents_inner_box,
	section.sec_bg3 .contents_inner_box{ width: 900px;}
	section.sec_bg3,section.sec_bg4{border: solid 0px yellow;}
	.list_sec3 li{padding-left: 1.5em;background-size: auto 25px;}
}

@media screen and (max-width: 1315px) {
	section.sec_bg10 h2 img{ width: 73%;}
	#disc04 .tx_box{padding-left: 17em;}
	#disc09 .tx_box{padding-right: 7em;}
	section.sec_bg5 .contents_inner_box{ width: 1000px;}
	section.sec_bg5 h2{padding-right: 0.8em;}
	section.sec_bg5 h2 img{width: 480px;border: solid 0px red;}
	#disc07 .tx_box{padding-left: 17em;}
	section.sec_bg8 .contents_inner_box{ width: 1000px;}
	section.sec_bg8 h2{padding-right: 0.8em;}
	section.sec_bg8 h2 img{width: 480px;border: solid 0px red;}
}

@media screen and (max-width: 1000px) {
	#disc04 .tx_box{padding-left: 21em;}
	#disc09 .tx_box{padding-right: 10em;}
	section.sec_bg5 .contents_inner_box{ width: 900px;}
	section.sec_bg5 h2{padding-right: 0.8em;}
	section.sec_bg5 h2 img{width: 440px;border: solid 0px yellow;}
	#disc07 .tx_box{padding-left: 21em;}
	section.sec_bg8 .contents_inner_box{ width: 900px;}
	section.sec_bg8 h2{padding-right: 0.8em;}
	section.sec_bg8 h2 img{width: 440px;border: solid 0px yellow;}
}


.sec_bg7 figure{
	width: 100%;
	background-color: #938296;
	border-radius:3% 3% 3% 3%;
}
.sec_bg7 figure img{
	opacity: 1;
	transition : all 0.5s;
	
}
.sec_bg7 figure img:hover{
	opacity: 0.7;
}


/*========= モーダル表示のためのCSS ===============*/

/*動画表示のモーダルの余白を変更したい場合*/
.modaal-video .modaal-inner-wrapper{
	padding:0;
}

/*モーダルのボタンの色を変更したい場合*/
.modaal-close:after, 
.modaal-close:before{
	background:#ccc;	
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
	background:#666;
}



/*キャッチコピー
-------------------------------------*/
.catch {
    text-align: center;
}
.catch h2 {
    padding-bottom: 1rem;
}
.under {
    border-bottom: 0.4rem solid #000;
    padding:0 1rem 1rem 1rem;
}
.center {
	text-align: center;
	margin-bottom: 4rem;
}

/*申し込みの流れ
-------------------------------------*/
.flow.row {
	margin-bottom: 3rem;
}

/*フッター
-------------------------------------*/
footer {
    background-color: #9888fd;
    padding: 4rem 0;
}

footer .container{
	max-width: 1000px;
	background-image: url("../pc_img/footer_bg_img.png");
	background-repeat: no-repeat;
	background-position: bottom 5.0em center;
	background-size: auto 65% ;
}
footer .container h2{
	height: 15em;
	margin-bottom: 1em;
}

footer .container h2 span{
	display: none;
}
footer input#form_email_1 {
  width: 100%;
  padding: 25px 8px 25px 25px;
  border-radius: 40px;
  border: 1.5px solid rgba(10, 8, 59, 0.1);
}

body footer#mailmag #mailpoet_form_1 .mailpoet_submit{
 width: 50% !important;	
  position: absolute;
  bottom:-3.2em;
  right: 26%;
  z-index: 10;
  padding: 12px 35px;
  background-color: #f487d5;
  border-radius: 108px;
  border: 1px solid #f487d5;
  color: #fff;
  font-size: 16px;
  line-height: 1.8em;
  font-weight: 600;
}

body footer#mailmag input.form-btn:hover {
  background-color: #a493ee;
  border: 1px solid #a493ee;
	color: #fff;
	transition : all 0.5s;
}
body footer#mailmag li.parsley-required{color: #fff!important;}



/*お問い合わせ
-------------------------------------*/
.contact-box {
	border: 1px solid #ccc;
	text-align: center;
	padding: 2rem 0;
}
.table {
	margin: 4rem 0;
}
.table th {
	width: 250px;
}

/*コピーライト
-------------------------------------*/
.copyright {
    /*display: flex;
	justify-content: space-between;
	flex-wrap: wrap;*/
    text-align: left;
    padding: 0.8rem 0;
    background-color: #9888fd;
}
.copyright a.item {
    color: #fff;
    text-decoration: underline;
	display: inline;
	font-size: 50%;
	padding-left: 3em;
}

.copyright a.item:hover {
	color:#b6b1fd;
	transition : all 0.5s;
}

.copyright small.item{
	font-size: 50%;
	padding-right: 3em;
	padding-left: 3em;

}
/*ページトップへ戻るボタン
-------------------------------------*/
#mailmag_btn {
    position: fixed;
    bottom: 10px;
    right: 10px;
}
#mailmag_btn a {
    display: block;
    background-image: url("../pc_img/pagetop_bg.png");
	background-size: 100% auto;
    color: #fff;
    width: 150px;
	height: 150px;
}
#mailmag_btn a:hover {
	opacity: 0.6;
	transition : all 0.5s;
}

#mailmag_btn a span{
	display: none;
}

#mailmag_btn.is-hidden a {display: none !important;}

	
#loading {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 99999999;
  background: #fff;
  text-align: center;
  border: solid 1px #fff;
}
#loading_box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#loading .kvArea {
  width: 100%;
}
#loading .kvArea .img_box {
  text-align: center;
}
#loading .kvArea .img_box img {
  max-width: 100%;
  height: auto;
margin: 0 auto;
}
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1.2s;
  animation-delay: 1.2s;
  animation-fill-mode: forwards;
  opacity: 1;
}
@keyframes fadeUpAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}


/* 幅768px以下の表示
-------------------------------------*/
@media screen and (max-width: 768px){
	

}


.clearfix::after {
  content: "";
  display: block;
  clear: both;
}