@charset "utf-8";
/*
Theme Name: tpl_087_rwd
Theme URI: http://theme.o2gp.com/
Description: tpl_087_rwd
Version: 1.0
Author: o2 Group
Author URI: http://theme.o2gp.com/
Tags: simple

	o2 Group v1.0
	 http://theme.o2gp.com/

	This theme was designed and built by o2 Group,
	whose blog you will find at http://theme.o2gp.com/

	The CSS, XHTML and design is released under GPL:
	http://www.opensource.org/licenses/gpl-license.php

*/

/* =Reset default browser CSS.
Based on work by Eric Meyer:http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
*{ margin:0; padding:0; box-sizing:border-box; word-break:break-all;}
div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, 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;}
ul,ol{ list-style:none;}
html,body {
margin:0 auto;
padding:0;
/*font-family: "Hiragino Sans", "ヒラギノ角ゴシック";*/
font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
font-size:20px;
text-align:left;
color:#717171;
overflow-x:hidden;
scroll-behavior: smooth;
}
@media screen and (max-width:1440px){
html,body{ font-size: calc((20/1440)*100vw);}
}
@media screen and (max-width:767px){
html,body{ font-size:4vw; min-width:240px; max-width:767px; }
}

/*img*/
img{ border-style:none; vertical-align:bottom; padding:0; line-height:0em; width:100%; height:auto;}
figure{margin:0 auto; text-align:center;}


/*txt*/
p{ line-height:1.75em; margin:0 0 1em; padding:0;}
p:last-child{ margin:0;}
strong{ font-weight:bold;}
.bold { font-weight:bold;}
.normal{ font-weight:normal;}
.under_line{ text-decoration:underline;}
.line_through{ text-decoration:line-through;}

.white{ color:#fff;}
.black{ color:#333;}
.gy{ color:#aaa;}
.red{ color:#c83232;}
.blue{ color:#002952;}

.left{ text-align:left;}
.right{ text-align:right;}
.center{ text-align:center;}

/*link*/
a{ color:inherit; text-decoration:none;}
a:hover{}
.opa{ transition: opacity 0.3s;}
.opa:hover{ opacity: 0.7;}

button{border:0}


/*ヘッダー*/
/*
header{ position: fixed; background: #fff; display: flex; align-items: center; justify-content: space-between; width: 100%; height: 6vw; z-index: 999;}

@media screen and (max-width:1440px){

}
@media screen and (max-width:767px){

}
*/

/*フッター*/

footer {position: relative; width: 100%; height: auto;  }
footer figure {width: 190px; height: 128px; margin: 30px auto; }
footer .p_01 {position: relative; color: #000; font-size: 1.0rem; text-align: center; line-height: 1.0rem;}
@media screen and (max-width:1440px){
footer figure {width: 16vw; height: 8vw; margin: 3vw auto 5vw; }
footer .p_01 {font-size: 1.5vw;  line-height: 1.0rem;}
}
@media screen and (max-width:767px){
footer figure {width: 25vw; height: 8vw; margin: 6vw auto 12vw; }
footer .p_01 {font-size: 2.5vw;  line-height: 1.0rem;}
}


#copyright{color: #000; font-size: 0.7rem; text-align: center; padding: 0 0 10px; }
@media screen and (max-width:1440px){
#copyright{font-size: 0.7rem;  padding: 0 0 1vw; }
}
@media screen and (max-width:767px){
#copyright{font-size: 0.5rem;  padding: 0 0 1vw; }
}


#sec99_pc {position:absolute; width: 100%; height: 530px; margin:0 auto;}
.button {opacity: 0; visibility: hidden;}
#sec99_pc .maincontent {display: block; position: fixed; bottom: 10px; width: 100%; display: flex; justify-content: space-around; z-index: 999; margin: 0 auto; padding: 0 7.5%; }
#sec99_pc .maincontent img { width: 26vw; height: 6.5vw; }
#sec99_sp {display: none; }
@media screen and (max-width:1440px){
#sec99_pc {position:absolute; width: 100%; height: 40vw; margin:0 auto;}
#sec99_pc .maincontent {display: block; position: fixed; bottom: 2vw; width: 100%; display: flex; justify-content: space-around; z-index: 999; margin: 0 auto; padding: 0 7.5%; }
#sec99_pc .maincontent img { width: 26vw; height: 6.5vw; }
#sec99_sp {display: none; }
}
@media screen and (max-width:767px){
#sec99_pc {display: none; }
#sec99_sp {display: block; position:absolute; width: 100%; height: 75vw; margin:0 auto;}
#sec99_sp .maincontent {display: block; position: fixed; bottom: 1vw; width: 100%; z-index: 999; }
#sec99_sp .maincontent .content {position: relative; top: 1vw; width: 100%; display: flex; justify-content: space-around; margin: 0 auto; padding: 0; }
#sec99_sp .maincontent .fig1 img { width: 50vw; height: 16vw; }
#sec99_sp .maincontent .fig2 img { width: 50vw; height: 16vw; }

}
.active{
  opacity: 1;
  visibility: visible;
  transition : all 2s;
}

#line_button{display: none;}
@media screen and (max-width:767px){	
#line_button{display: block; position:relative; top:10vw; padding: 0 0 10vw;}
#line_button figure{width:80%;}

}




/*メイン*/
#content{ overflow:hidden;}
section{ width:100%; margin:0 auto;}
.maincontent{ padding:0; margin:0 auto;}
@media screen and (max-width:767px){
.maincontent{ padding:0; margin:0 auto;}
}

/*tit*/
h1,h2,h3,h4,h5,h6{ line-height: 1.2em; letter-spacing: 0.1em;}
h1,h2{ font-weight: bold; }


/*first_view*/
#first_view{ position: relative; width: 100vw; height: 930px; margin: 0 auto; white-space: nowrap;
	background: url("images/haikei01.png");
	background-repeat: no-repeat;
    background-position: center center;
	background-size: cover;
	overflow:hidden;
    }
#first_view .maincontent{ position: relative; width: 1400px; height: auto; margin: 0 auto;}
#first_view .maincontent h2{ position: absolute; height: 55px; top: 80px; left: 0; color: #fff; font-size: 2.2rem; background: linear-gradient(180deg, transparent 0%, transparent 60%, #FF0090 60%, #FF0090 100%);}
#first_view .maincontent h2 span {font-size: 3.0rem;}
#first_view .maincontent h3{ position: absolute; top: 240px; left: 0;color: #FFF500; font-size: 3.6rem; line-height: 110px;}
#first_view .maincontent .fig01 {position: absolute; top: 430px; width: 642px; height: auto;}
/*
#first_view .maincontent .p_01 {position: relative; top: 200px; left: 680px; width: 394px; height: 354px; background: #FF0090; border-radius: 40px;}
#first_view .maincontent .p_011 {position: absolute; top: 20px; left: 10px; color: #fff; font-size: 20.2rem; line-height: 354px; }
#first_view .maincontent .p_012 {position: absolute; bottom: 10px; right: 20px; color: #fff; font-size: 2.2rem; line-height: 80px; }
#first_view .maincontent .p_012 span {font-size: 4.5rem; }
*/
#first_view .maincontent .p_01 {position: relative; top: 200px; left: 680px; width: 394px; height: auto; background: #FF0090; border-radius: 40px;  }
#first_view .maincontent .p_011 {color: #fff; font-size: 390px; line-height: 350px;  padding: 15px 0 0 10px; margin: 0; }
#first_view .maincontent .p_012 {position: absolute; bottom: 10px; right: 20px; color: #fff; font-size: 2.2rem; line-height: 70px; }
#first_view .maincontent .p_012 span {font-size: 4.5rem; }

#first_view .maincontent .p_02 {position: absolute; width: 752px; top: 560px; left: 0; color: #fff; font-size: 3.3rem; }
#first_view .maincontent .p_021 { text-align: left; line-height: 1em; margin: 0; padding: 20px 0; border-bottom: 4.5px dashed #fff;}
#first_view .maincontent .p_022 { text-align: right; line-height: 1em;  margin: 0; padding: 20px 0;}
#first_view .maincontent .p_03 {position: relative; top: 310px; left: 830px; width: 430px; height: 196px; color: #fff; font-size: 3.3rem; line-height: 90px; display: flex; justify-content: space-between;}
#first_view .maincontent .p_03 p { width: 196px; height: 196px; color: #fff; font-size: 2.0rem; line-height: 60px; text-align: center; background: linear-gradient(to right, #B91D73, #F953C6); border-radius: 50%; padding-top: 40px;}
#first_view .maincontent .p_03 p span {font-size: 3.0rem;}
#first_view .maincontent .fig02 {position: absolute; width: 500px; height: auto; top: 250px; left: 1080px;}
#first_view .maincontent .p_04 {position: absolute; top: 790px; left: 0px;  background: #fff; border-radius: 40px; border: 4.5px solid #FF0090; color: #000; font-size: 2rem; padding: 10px 20px;}
#first_view .maincontent .p_04 span {font-size: 3.0rem; padding: 0 5px;}
@media screen and (max-width:1440px){
#first_view{width: 100vw; height: calc((930/1720)*100vw); }
#first_view .maincontent{ width: 96vw;}
#first_view .maincontent h2{height: 4vw; top: 5vw; font-size: 2.2rem;}
#first_view .maincontent h3{ top: 12vw; font-size: 3.2rem; line-height: 7vw;}
#first_view .maincontent .fig01 {top: 24vw; width: 45%; height: auto;}
#first_view .maincontent .p_01 { top: 11vw; left: 45vw; width: 22.5vw; height: auto; border-radius: 2.5vw;}
#first_view .maincontent .p_011 {font-size: 20.3vw; line-height: 20.3vw;  padding: 1vw 0 0 1vw; margin: 0; }
#first_view .maincontent .p_012 { bottom: 0vw; right: 1vw; color: #fff; font-size: 2.2rem; line-height: 4.5vw; }
#first_view .maincontent .p_012 span {font-size: 4.5rem; }
#first_view .maincontent .p_02 { width: 45vw; top: 31vw; left: 0; font-size: 2.6rem; }
#first_view .maincontent .p_021 { text-align: left; line-height: 1em; margin: 0; padding: 1vw 0; border-bottom: 0.5vw dashed #fff;}
#first_view .maincontent .p_022 { text-align: right; line-height: 1em;  margin: 0; padding: 2vw 0;}
#first_view .maincontent .p_03 {top: 17vw; left: 55vw; width: calc((430/1720)*100vw); height: calc((196/1720)*100vw); line-height: 3rem;}
#first_view .maincontent .p_03 p { width: calc((196/1720)*100vw); height: calc((196/1720)*100vw);font-size: 1.5rem; line-height: 3.8vw; padding-top: 2vw;}
#first_view .maincontent .p_03 p span {font-size: 2.5rem;}
#first_view .maincontent .fig02 {width: 30vw; top: 13vw; left: 68vw;}
#first_view .maincontent .p_04 {top: 44.5vw; left: 0px;  border-radius: 3vw; border: 0.4vw solid #FF0090; font-size: 1.8rem; padding: 1vw 2vw 0.8vw; }
#first_view .maincontent .p_04 span {font-size: 2.4rem;  padding: 0 0.3vw;}
}

@media screen and (max-width:767px){
#first_view{width: 100vw; height: 260vw;}
#first_view .maincontent{ width: 94vw;}
#first_view .maincontent h2{height: 7.5vw; top: 7vw; font-size: 1.2rem; }
#first_view .maincontent h2 span { font-size: 2.5rem; }
#first_view .maincontent h3{ top: 22vw; font-size: 2.6rem; line-height: 3.4rem; }
#first_view .maincontent .fig01 { top: 45vw; width: 96%; }
#first_view .maincontent .p_01 { top: 60vw; left: 0; width: 62vw; height: auto; border-radius: 3vw; margin: 0 auto;}
#first_view .maincontent .p_011 { top: 0vw; left: 0vw; font-size: 14.2rem; line-height: 55vw;}
#first_view .maincontent .p_012 {bottom: 0vw; right: 3vw; font-size: 1.9rem; line-height: 3.5rem;}
#first_view .maincontent .p_012 span {font-size: 4.0rem; }
#first_view .maincontent .p_02 { width: 94vw; top: 120vw; left: 0; font-size: 2.1rem; }
#first_view .maincontent .p_021 { text-align: left; line-height: 1em; margin: 0; padding: 2vw 0; border-bottom: 0.5vw dashed #fff;}
#first_view .maincontent .p_022 { text-align: right; line-height: 1em;  margin: 0; padding: 3vw 0;}
	
#first_view .maincontent .p_03 {top: 95vw; left: 0; width: 100%; height: calc((196/667)*100vw); font-size: 3.3rem; display: flex; justify-content: space-around;}
#first_view .maincontent .p_03 p { width: calc((196/667)*100vw); height: calc((196/667)*100vw); font-size: 1.4rem; line-height: 2rem; text-align: center;  padding-top: 7vw;}
#first_view .maincontent .p_03 p span {font-size: 2.2rem;}
#first_view .maincontent .fig02 { width: 70vw; height: auto; top: 180vw; left: 13vw;}
#first_view .maincontent .p_04 { top: 242vw; left: 2vw; border-radius: 3vw; border: 0.5vw solid #FF0090; font-size: 1.1rem; padding: 1vw 2vw 0.8vw;}
#first_view .maincontent .p_04 span {font-size: 1.5rem; padding: 0 0.5vw;}
}


/*セクション01*/
#sec01{position: relative; width: 100%; height: auto; background: #FFFCB2; margin: 0 auto; padding-bottom: 300px;}
#sec01 .maincontent {position: relative; top: 150px;  width: 1300px; height: 628px; background: #fff; margin: 0 auto; text-align: center;}
#sec01 .maincontent h2 {position: relative; top: -40px; width: 1126px; height: 95px; margin: 0 auto; font-size: 2.2rem; color: #fff; padding-top: 25px;
	background: url("images/ribbon01.png");
	background-repeat: no-repeat;
    background-position: center center;
	background-size: cover;}
#sec01 .maincontent p { width: 745px; font-size: 1.2rem; color: #000; margin: 0 auto; text-align: left; line-height: 1.5rem;}
#sec01 .maincontent div {position: relative; width: 94%; top: 50px; display: flex; justify-content: space-around; text-align: left;}
#sec01 .maincontent div li::before {content: ''; position: absolute; background: url("images/check.png"); width: 70px; height: 53px;}
#sec01 .maincontent div li h3 {position: relative; top: -5px; left: 70px; color: #000; font-size: 1.8rem; line-height: 3.5rem;}
@media screen and (max-width:1440px){
#sec01{padding-bottom: 20vw;}
#sec01 .maincontent { top: 10vw;  width: 90vw; height: 40vw;}
#sec01 .maincontent h2 { top: -3vw; width: 80vw; height: 6vw; font-size: 2.2rem;  padding-top: 1.4vw;}
#sec01 .maincontent p {position: relative; top: -1vw; width: 48.8vw; font-size: 1.1rem;}
#sec01 .maincontent div { width: 94%; top: 2vw;}
#sec01 .maincontent div li::before {content: ''; position: absolute; background: url("images/check.png") no-repeat center center / cover; width: 3.6vw; height: 2.7vw;}
#sec01 .maincontent div li h3 {top: -0.8vw; left: 4vw;  font-size: 1.6rem; line-height: 3.5rem;}
}
@media screen and (max-width:767px){
#sec01{ padding-bottom: 30vw;}
#sec01 .maincontent { top: 15vw;  width: 90vw; height: 105vw; }
#sec01 .maincontent h2 { top: -3vw; width: 90vw; height: 7vw; font-size: 1.2rem; padding-top: 1.0vw;}
#sec01 .maincontent p {top: 1vw; width: 76vw; font-size: 0.7rem; margin: 0 auto; line-height: 1.2rem; letter-spacing: 0.1em;}
#sec01 .maincontent div { width: 80%; top: 5vw; display: block; margin: 0 auto;}
#sec01 .maincontent div li::before {content: ''; position: absolute; background: url("images/check.png") no-repeat center center / cover; width: 5.6vw; height: 4.7vw;}
#sec01 .maincontent div li h3 { top: -1.8vw; left: 7vw;  font-size: 1.2rem; line-height: 2.0rem;}
}



/*セクション02*/
#sec02{ position: relative; width: 100vw; height: 1150px; margin: 0 auto;
	background: url("images/haikei02.png");
	background-repeat: no-repeat;
    background-position: center center;
	background-size: cover;
	overflow:hidden;}
#sec02 .maincontent{ position: relative; width: 1400px; height: auto; margin: 150px auto; }
#sec02 .maincontent h2{ position: absolute; height: 55px; top: 0px; left: 0; color: #fff; font-size: 2.8rem; background: linear-gradient(180deg, transparent 0%, transparent 80%, #FF0090 80%, #FF0090 100%);}
#sec02 .maincontent h2:nth-child(2) { position: absolute; top: 90px;}
#sec02 .maincontent .p_01{ position: absolute; width: 55%; top: 200px; left: 0; color: #fff; font-size: 1.35rem; line-height: 2.2rem;}
#sec02 .maincontent .p_02{ position: absolute; width: 55%; top: 550px; left: 0; color: #fff; font-size: 1.35rem; line-height: 2.2rem;}
#sec02 .maincontent .img01 { position: relative; width: 45%; top: -30px; left: 820px; font-size: 1.35rem;}
#sec02 .maincontent .img01::after { content: ''; position: absolute; top: 130px; left: 133px; width: 300px; height: 300px; border-radius: 50%; border: 3px dashed #fff; z-index: 1;}
#sec02 .maincontent .fig01 { position: absolute; width: 250px; height: 250px; background: #fff; border-radius: 50%; font-size: 1.35rem;z-index: 2;}
#sec02 .maincontent .fig01:nth-child(1) { top: 0; left: 164px; }
#sec02 .maincontent .fig01:nth-child(2) { top: 265px; left: 0; }
#sec02 .maincontent .fig01:nth-child(3) { top: 265px; left: 327px; }
#sec02 .maincontent .fig01 p {position: relative; top: 30px; font-size: 1.5rem; color: #000; }
#sec02 .maincontent .fig01 p:nth-child(3) {position: relative; top: 0px;}
#sec02 .maincontent .fig01 img { width: 45%; height: 90px; }
#sec02 .maincontent .img02 { position: relative; width: 45%; top: 560px; left: 770px; display: flex; justify-content: space-between;}
#sec02 .maincontent .fig02{ width: 48%;}
@media screen and (max-width:1440px){
#sec02{ height: 65vw;}
#sec02 .maincontent{ width: 96vw; margin: 10vw auto 0 ;}
#sec02 .maincontent h2{height: 4.2vw; font-size: 2.6rem; }
#sec02 .maincontent h2:nth-child(2) { position: absolute; top: 6vw;}
#sec02 .maincontent .p_01{ top: 14vw; font-size: 1.3rem; line-height: 1.6rem;}
#sec02 .maincontent .p_02{ top: 33vw; font-size: 1.3rem; line-height: 1.6rem;}
#sec02 .maincontent .img01 { width: 45%; top: -1vw; left: 58vw; font-size: 1.35rem;}
#sec02 .maincontent .img01::after { top: 6.8vw; left: 7.8vw; width: 16vw; height: 16vw; border-radius: 50%; border: 0.2vw dashed #fff; z-index: 1;}
#sec02 .maincontent .fig01 {width: 13vw; height: 13vw; font-size: 1.3rem;}
#sec02 .maincontent .fig01:nth-child(1) { top: 0; left: 9.59vw; }
#sec02 .maincontent .fig01:nth-child(2) { top: 15vw; left: 0; }
#sec02 .maincontent .fig01:nth-child(3) { top: 15vw; left: 19vw; }
#sec02 .maincontent .fig01 p {position: relative; top: 1vw; font-size: 1.2rem; color: #000; }
#sec02 .maincontent .fig01 p:nth-child(3) {position: relative; top: -1vw;}
#sec02 .maincontent .fig01 img {position: relative; top: -1vw; width: 50%; height: 5vw; }
#sec02 .maincontent .img02 { position: relative; width: 40%; top: 32vw; left: 54vw; display: flex; justify-content: space-between;}
#sec02 .maincontent .fig02{ width: 48%;}
}
@media screen and (max-width:767px){
#sec02{ height: 270vw;}
#sec02 .maincontent{ width: 96vw; margin: 15vw auto 0 ;}
#sec02 .maincontent h2{left: 2vw; height: 7.2vw; font-size: 1.6rem; }
#sec02 .maincontent h2:nth-child(2) { position: absolute; top: 10vw;}
#sec02 .maincontent .p_01{width: 94%; top: 23vw; left: 3vw; font-size: 1.13rem; line-height: 1.7rem;}
#sec02 .maincontent .p_02{width: 94%; top: 152vw; left: 3vw; font-size: 1.13rem; line-height: 1.7rem;}
#sec02 .maincontent .img01 { width: 96%; top: 93vw; left: 14vw; font-size: 1.35rem;}
#sec02 .maincontent .img01::after { top: 15vw; left: 17vw; width: 30vw; height: 30vw; border-radius: 50%; border: 0.2vw dashed #fff; z-index: 1;}
#sec02 .maincontent .fig01 {width: 25vw; height: 25vw; font-size: 1.3rem;}
#sec02 .maincontent .fig01:nth-child(1) { top: 0; left: 20vw; }
#sec02 .maincontent .fig01:nth-child(2) { top: 30vw; left: 0; }
#sec02 .maincontent .fig01:nth-child(3) { top: 30vw; left: 39.2vw; }
#sec02 .maincontent .fig01 p {position: relative; top: 1vw; font-size: 0.7rem; color: #000; }
#sec02 .maincontent .fig01 p:nth-child(3) {position: relative; top: -1.5vw;}
#sec02 .maincontent .fig01 img {position: relative; top: -2vw; width: 60%; height: 12vw; }
#sec02 .maincontent .img02 { position: relative; width: 60%; top: 222vw; left: 18vw; display: flex; justify-content: space-between;}
#sec02 .maincontent .fig02{ width: 48%;}
}


/*セクション03*/
#sec03 { position: relative; width: 100vw; height: auto; margin: 0 auto; text-align: center; white-space: nowrap;}
#sec03 .maincontent { position: relative; width: 1300px; height: auto; margin: 0px auto; padding: 200px 0 ; text-align: center;}
#sec03 .maincontent h2 { font-size: 2rem; color: #000; margin-bottom: 80px;}
#sec03 .maincontent .col1 {width: 265px; height: 160px; background: url("images/td01.png")no-repeat center center / cover; border: 3px solid #fff;}
#sec03 .maincontent .col2 {width: 360px; height: 160px; background: url("images/td02.png")no-repeat center center / cover; border: 3px solid #fff;}
#sec03 .maincontent .col3,
#sec03 .maincontent .col4 {width: 340px; height: 160px; background: url("images/td03.png")no-repeat center center / cover; border: 3px solid #fff;}
#sec03 .maincontent .col1 p {position: relative; top: 30px; font-size: 1.8rem; color: #fff; line-height: 2.2rem;}
#sec03 .maincontent .col1 p span {font-size: 1rem; color: #fff; line-height: 1rem;}
#sec03 .maincontent .col2 p {position: relative; top: 30px; font-size: 4rem; color: #FF0090; line-height: 3.8rem;}
#sec03 .maincontent .col2 p span {position: relative; top: -30px;font-size: 1rem; color: #000; line-height: 1rem;}
#sec03 .maincontent .col3 p {position: relative; top: 30px; font-size: 1.8rem; color: #000; }
#sec03 .maincontent .col3 p span {position: relative; top: -20px; font-size: 1rem; color: #000; line-height: 1rem;}
#sec03 .maincontent .col4 p {position: relative; top: 30px; font-size: 1.8rem; color: #000; }
#sec03 .maincontent .col4 p span {position: relative; top: -20px; font-size: 1rem; color: #000; line-height: 1rem;}

#sec03 .maincontent .row0 .col1 { opacity: 0;}
#sec03 .maincontent .row0 .col2 p {position: relative; top: 50px; font-size: 3rem; }
#sec03 .maincontent .row0 .col3,
#sec03 .maincontent .row0 .col4 {height: 190px; top: 0px; border-top: 30px solid #fff;}
#sec03 .maincontent .row0 .col3 p,
#sec03 .maincontent .row0 .col4 p {position: relative; top: 50px;}
#sec03 .maincontent .row1 .col1 p,
#sec03 .maincontent .row2 .col1 p,
#sec03 .maincontent .row3 .col1 p,
#sec03 .maincontent .row4 .col1 p {position: relative; top: 10px;}
#sec03 .maincontent .row2 .col2 p,
#sec03 .maincontent .row3 .col2 p,
#sec03 .maincontent .row4 .col2 p {position: relative; top: 45px;}
#sec03 .maincontent .row5 .col2 p,
#sec03 .maincontent .row8 .col2 p {position: relative; top: 30px; font-size: 3.4rem; color: #FF0090; line-height: 3.8rem;}
@media screen and (max-width:1440px){
#sec03 { height: auto; }
#sec03 .maincontent {  width: 88vw; margin: 0 auto; padding: 10vw  0; }
#sec03 .maincontent h2 { font-size: 2rem;  margin-bottom: 5vw;}
#sec03 .maincontent .col1 {width: 17.8vw; height: 10vw; border: 0.15vw solid #fff;}
#sec03 .maincontent .col2 {width: 23.8vw; height: 10vw; border: 0.15vw solid #fff;}
#sec03 .maincontent .col3,
#sec03 .maincontent .col4 {width: 21.7vw; height: 10vw; border: 0.15vw solid #fff;}
#sec03 .maincontent .col1 p {top: 2vw; font-size: 1.6rem; line-height: 2.2rem;}
#sec03 .maincontent .col1 p span {font-size: 0.8rem; line-height: 1rem;}
#sec03 .maincontent .col2 p {top: 2vw; font-size: 4rem;  line-height: 3.8rem;}
#sec03 .maincontent .col2 p span {top: -2.1vw;font-size: 1rem; line-height: 1rem;}
#sec03 .maincontent .col3 p {top: 2vw; font-size: 1.8rem; }
#sec03 .maincontent .col3 p span {top: -1.2vw; font-size: 1.0rem; line-height: 1rem;}
#sec03 .maincontent .col4 p {top: 2vw; font-size: 1.8rem; }
#sec03 .maincontent .col4 p span {top: -1.2vw; font-size: 1.0rem; line-height: 1rem;}

#sec03 .maincontent .row0 .col1 { opacity: 0;}
#sec03 .maincontent .row0 .col2 p {position: relative; top: 3vw; font-size: 3rem; }
#sec03 .maincontent .row0 .col3,
#sec03 .maincontent .row0 .col4 {height: 15vw; top: 0px; border-top: 3vw solid #fff;}
#sec03 .maincontent .row0 .col3 p,
#sec03 .maincontent .row0 .col4 p {position: relative; top: 4vw;}
#sec03 .maincontent .row1 .col1 p,
#sec03 .maincontent .row2 .col1 p,
#sec03 .maincontent .row3 .col1 p,
#sec03 .maincontent .row4 .col1 p {position: relative; top: 0.1vw;}
#sec03 .maincontent .row2 .col2 p,
#sec03 .maincontent .row3 .col2 p,
#sec03 .maincontent .row4 .col2 p {position: relative; top: 2.4vw;}
#sec03 .maincontent .row5 .col2 p,
#sec03 .maincontent .row8 .col2 p {position: relative; top: 2vw; font-size: 3.2rem; line-height: 3.8rem;}
}
@media screen and (max-width:767px){
#sec03 { height: auto; }
#sec03 .maincontent {  width: 96vw; margin: 0 auto; padding: 15vw 0;}
#sec03 .maincontent h2 { font-size: 0.8rem;  margin-bottom: 5vw;}
#sec03 .maincontent .col1 {width: 19.4vw; height: 13vw; border: 0.15vw solid #fff;}
#sec03 .maincontent .col2 {width: 25.7vw; height: 13vw; border: 0.15vw solid #fff;}
#sec03 .maincontent .col3,
#sec03 .maincontent .col4 {width: 23.2vw; height: 13vw; border: 0.15vw solid #fff;}
#sec03 .maincontent .col1 p {top: 4vw; font-size: 0.6rem; line-height: 0.8rem;}
#sec03 .maincontent .col1 p span {font-size: 0.3rem; line-height: 0.3rem;}
#sec03 .maincontent .col2 p {top: 4vw; font-size: 1.5rem;  line-height: 1.0rem;}
#sec03 .maincontent .col2 p span {top: -0.1vw;font-size: 0.38rem; line-height: 0.3rem;}
#sec03 .maincontent .col3 p {top: 4vw; font-size: 1.0rem; line-height: 1.0rem; }
#sec03 .maincontent .col3 p span {top: -0.1vw; font-size: 0.38rem; line-height: 0.3rem;}
#sec03 .maincontent .col4 p {top: 4vw; font-size: 1.0rem; line-height: 1.0rem; }
#sec03 .maincontent .col4 p span {top: -0.1vw; font-size: 0.38rem; line-height: 0.3rem;}

#sec03 .maincontent .row0 .col1 { opacity: 0;}
#sec03 .maincontent .row0 .col2 p {position: relative; top: 3.5vw; font-size: 1.0rem; }
#sec03 .maincontent .row0 .col3,
#sec03 .maincontent .row0 .col4 { height: 15vw; top: 0px; border-top: 3vw solid #fff;}
#sec03 .maincontent .row0 .col3 p,
#sec03 .maincontent .row0 .col4 p {font-size: 2.5vw; position: relative; top: 4vw;}
#sec03 .maincontent .row1 .col1 p,
#sec03 .maincontent .row2 .col1 p,
#sec03 .maincontent .row3 .col1 p,
#sec03 .maincontent .row4 .col1 p {position: relative; top: 3vw;}
#sec03 .maincontent .row2 .col2 p,
#sec03 .maincontent .row3 .col2 p,
#sec03 .maincontent .row4 .col2 p {position: relative; top: 5vw;}
#sec03 .maincontent .row5 .col2 p,
#sec03 .maincontent .row8 .col2 p {position: relative; top: 4vw; font-size: 1.3rem; line-height: 1.0rem;}
}


/*セクション04*/
#sec04 { position: relative; width: 100%; height: auto; margin: 0 auto 100px; text-align: center; background: #FFFDCD; padding-bottom: 100px;}
#sec04::after {content: ''; position: absolute; bottom: -100px; right: 0; left: 0; width: 500px; height: 100px; margin: 0 auto ; background: #FFFDCD; clip-path: polygon(50% 0, 100% 100%, 0 100%); transform: rotate(180deg);}
#sec04 h2 { font-size: 2rem; color: #000; padding: 130px 0 80px; }
#sec04 .content { position: relative; border: 3px solid #000; width: 1400px; height: 519px; margin: 0 auto; background: #fff;  }
#sec04 .content h3 { width: 100%; height: 100px; background: #1677D6; color: #fff; font-size: 2rem; padding-top: 30px; }
#sec04 .content h3::before {content: ''; position: absolute; left: 120px; background: url("images/icon04.png") no-repeat center center / cover; width: 47px; height: 41px; }
#sec04 .content h3::after {content: ''; position: absolute; right: 120px; background: url("images/icon04.png") no-repeat center center / cover; width: 47px; height: 41px; }
#sec04 .fig { display: flex; justify-content: space-around; padding: 60px 50px; }
#sec04 .fig p {width: 817px; text-align: left; font-size: 1.28rem; line-height: 1.8rem; color: #000; }
#sec04 figure { width: 426px; }
#sec04 .br_none { display: block; }
@media screen and (max-width:1440px){
#sec04 { margin: 0 auto 7vw;  padding-bottom: 10vw;}
#sec04::after {bottom: -7vw; width: 34.7vw; height: 7vw; }
#sec04 h2 { font-size: 2rem; color: #000; padding: 10vw 0 4vw; }
#sec04 .content { border: 0.15vw solid #000; width: 96%; height: 40vw; }
#sec04 .content h3 { width: 100%; height: 8vw; font-size: 2rem; padding-top: 2.8vw; }
#sec04 .content h3::before { left: 7vw; width: 4vw; height: 3.4vw; }
#sec04 .content h3::after {right: 7vw; width: 4vw; height: 3.4vw; }
#sec04 .fig { padding: 5vw 3vw; }
#sec04 .fig p {width: 56vw; text-align: left; font-size: 1.28rem; line-height: 1.8rem; color: #000; }
#sec04 figure { width: 30vw; }
#sec04 .br_none { display: block; }
}
@media screen and (max-width:767px){
#sec04 { margin: 0 auto 7vw; padding-bottom: 10vw;}
#sec04::after { bottom: -7vw; width: 34.7; height: 7vw;}
#sec04 h2 { font-size: 0.8rem; padding: 15vw 0 8vw; }
#sec04 .content { border: 0.15vw solid #000; width: 96%; height: 100vw; }
#sec04 .content h3 { height: 12vw; font-size: 0.75rem; padding-top: 4.8vw; }
#sec04 .content h3::before {top: 4vw; left: 2vw; width: 5vw; height: 4.4vw; }
#sec04 .content h3::after {top: 4vw; right: 2vw; width: 5vw; height: 4.4vw; }
#sec04 .fig { display: block; padding: 5vw 2vw; }
#sec04 .fig p {width: 100%; font-size: 0.7rem; line-height: 1.2rem; color: #000; }
#sec04 figure { width: 60vw; }
#sec04 .br_none { display: block; }
}


/*セクション05*/
#sec05 {position: relative; width: 100%; height: auto; margin: 220px auto 0px; text-align: center; padding-bottom: 0px; color: #000;}
#sec05 h2 {font-size: 2rem; color: #000; line-height: 4rem; }
#sec05 h2 span {font-size: 3.5rem; }
#sec05 .maincontent {position: relative; width: 1400px; display: flex; justify-content: space-between; margin: 100px auto; }
#sec05 .maincontent figure { width: 440px; }
#sec05 .maincontent figure img{ width: 322px; height: 141px; }
#sec05 .maincontent figure h3{ font-size: 1.6rem; line-height: 3rem; padding: 10px 0 20px; border-bottom: 5px solid #1677D6; white-space: nowrap;  }
#sec05 .maincontent figure p{ font-size: 1.3rem; line-height: 2rem; padding: 30px 10px; text-align: left; }
@media screen and (max-width:1440px){
#sec05 { margin: 14vw auto 0px;}
#sec05 h2 {font-size: 2rem;  line-height: 4rem; }
#sec05 h2 span {font-size: 3.5rem; }
#sec05 .maincontent { width: 98%; margin: 5vw auto; }
#sec05 .maincontent figure { width: 30.5vw; }
#sec05 .maincontent figure img{ width: 22.3vw; height: 9.7vw; }
#sec05 .maincontent figure h3{ font-size: 1.6rem; line-height: 2.6rem; padding: 0.4vw 0 1.6vw; border-bottom: 0.4vw solid #1677D6;}
#sec05 .maincontent figure p{ font-size: 1.3rem; line-height: 2rem; padding: 2.3vw 0.8vw; text-align: left;}
}
@media screen and (max-width:767px){
#sec05 { margin: 15vw auto 0px; }
#sec05 h2 {font-size: 0.9rem; line-height: 2rem; }
#sec05 h2 span {font-size: 1.5rem; }
#sec05 .maincontent {width: 98%; margin: 7vw auto; display: block; }
#sec05 .maincontent figure { width: 70vw; margin: 5vw auto 0;}
#sec05 .maincontent figure img{ width: 50vw; height: 20vw; }
#sec05 .maincontent figure h3{ font-size: 1.0rem; line-height: 2rem; padding: 0.4vw 0 1.6vw; border-bottom: 0.8vw solid #1677D6;  }
#sec05 .maincontent figure p{ width: 95%; font-size: 0.9rem; line-height: 1.6rem; padding: 2.3vw 0vw 0 6vw; text-align: left; }
}


/*セクション06*/
#sec06 {position: relative; width: 100%; height: 827px; background: #CDEDFF; color: #000; z-index: -3;}
#sec06 .maincontent { width: 1400px; margin: 0 auto; }
#sec06 .maincontent::before {content: ''; position: absolute; top: 260px; left: 40vw; background: url("images/japan.png") no-repeat center center / cover; width: 548px; height: 409px; }
#sec06 h2 {text-align: center; font-size: 2.2rem; padding: 100px 0 0;}
#sec06 h3 {position: relative; width: 50%; text-align: left; font-size: 1.2rem; padding: 30px 0; line-height: 2rem; margin: 0 auto; white-space: nowrap;}
#sec06 .content {position: relative; top: 50px; left: 140px; width: 580px; height: 318px; background-color: rgba(255,255,255,0.5); text-align: left; padding: 15px 0 0 130px; z-index: 2;}
#sec06 .content li { padding: 20px 0 0 0;}
#sec06 .content li::before {content: ''; position: absolute; left: 50px; background: url("images/check02.png") no-repeat center center / cover; width: 45px; height: 45px; margin: 10px 0 0;}
#sec06 .content li p {line-height: 1.6rem; font-size: 1.2rem; font-weight: 700; letter-spacing: 0.1em;z-index: 2;}
#sec06 .content li p span { position: relative; color: #FF0090;  }
#sec06 .content li p span::before {content: ''; position: absolute; top: 20px; border-bottom: 10px solid #FAFF00; box-sizing: border-box; z-index: -1; }
#sec06 .content li:nth-child(1) p span::before { width: 280px;}
#sec06 .content li:nth-child(2) p span::before { width: 300px;}
#sec06 .content li:nth-child(3) p span::before { width: 260px;}
#sec06 .fig {position: absolute; top: 520px; right: 20vw; }
@media screen and (max-width:1440px){
#sec06 { width: 100%; height: 55vw; }
#sec06 .maincontent { width: 100%; }
#sec06 .maincontent::before { top: 21vw; left: 40vw; width: 30vw; height: 20vw; }
#sec06 h2 {font-size: 2.0rem; padding: 10vw 0 0;}
#sec06 h3 { width: 50%; font-size: 1.2rem; padding: 2vw 0; line-height: 2rem; }
#sec06 .content { top: 2vw; left: 9vw; width: 41vw; height: 20vw;  padding: 1vw 0 0 8vw; }
#sec06 .content li { padding: 1vw 0 0 0;}
#sec06 .content li::before { left: 3vw;  width: 3vw; height: 3vw; margin: 1vw 0 0;}
#sec06 .content li p {line-height: 1.5rem; font-size: 1.2rem; font-weight: 700; letter-spacing: 0.1em;z-index: 2;}
#sec06 .content li p span::before {content: '';  position: absolute; top: 1vw; border-bottom: 1vw solid #FAFF00; box-sizing: border-box; }
#sec06 .content li:nth-child(1) p span::before { width: 20vw;}
#sec06 .content li:nth-child(2) p span::before { width: 20vw;}
#sec06 .content li:nth-child(3) p span::before { width: 18vw;}
#sec06 .fig {position: absolute; top: 34.5vw; right: 15vw; width: 30vw; }
}
@media screen and (max-width:767px){
#sec06 { width: 100%; height: 121vw;}
#sec06 .maincontent { width: 100%; }
#sec06 .maincontent::before { top: 35vw; left: 25vw; width: 50vw; height: 40vw; }
#sec06 h2 {font-size: 1.1rem; padding: 10vw 0 0;}
#sec06 h3 { width: 90%; font-size: 0.7rem; padding: 2vw 0; line-height: 1.5rem; }
#sec06 .content { top: 2vw; left: 5vw; width: 90vw; height: 45vw;  padding: 1vw 0 0 9vw;  }
#sec06 .content li { padding: 2vw 0 0 0;}
#sec06 .content li::before { left: 2vw;  width: 5vw; height: 5vw; margin: 3vw 0 0;}
#sec06 .content li p span::before {content: '';  position: absolute; top: 3.2vw; border-bottom: 2vw solid #FAFF00; box-sizing: border-box; }
#sec06 .content li:nth-child(1) p span::before { width: 56vw;}
#sec06 .content li:nth-child(2) p span::before { width: 58vw;}
#sec06 .content li:nth-child(3) p span::before { width: 53vw;}
#sec06 .fig {position: absolute; top: 80vw; right: 18vw; width: 60vw; }
}


/*セクション07*/

#sec07 {position: relative; width: 100%; height: 472px; background: #1677D6; margin: 150px auto 0;}
#sec07 .maincontent {position: relative; width: 1400px; margin: 0 auto 0;}
#sec07 .maincontent .content01 {position: relative; display: flex; justify-content: space-between; padding: 50px 0 0;}
#sec07 .maincontent .p_01 {position: relative; top: 0px; left: 0px; width: 564px; height: 164px; color: #fff; line-height: 90px; display: flex; justify-content: space-between;}
#sec07 .maincontent .p_01 p { width: 164px; height: 164px; color: #fff; font-size: 1.6rem; line-height: 48px; text-align: center; background: linear-gradient(to right, #B91D73, #F953C6); border-radius: 50%; padding-top: 40px;}
#sec07 .maincontent .p_01 p span {font-size: 2.2rem;}
#sec07 .maincontent .p_02 {font-size: 3rem; color: #fff; line-height: 2.5rem; text-align: center;padding: 60px 60px 0 0;}
#sec07 .maincontent .content02 {position: relative; display: flex; justify-content: space-between; flex-direction: row-reverse; margin: 0 auto 0;}
#sec07 .maincontent .content02 .fig { position: relative; top: -8px; width: 426px; height: 265px;}
#sec07 .maincontent .content02 .p_03 { display: flex; justify-content: space-between; margin: 50px 0 0;}
#sec07 .maincontent .content02 .p_031 {position: relative; width:443px; height: 150px; border: 5px solid #FFF500;}
#sec07 .maincontent .content02 .p_031 p {font-size: 3rem; color: #FFF500; line-height: 150px; text-align: center;}
#sec07 .maincontent .content02 .p_032 {font-size: 2rem; color: #fff; line-height: 2.5rem; text-align: center; padding: 30px 20px 0 40px;}
@media screen and (max-width:1440px){
#sec07 { height: 32.5vw;  margin: 8vw auto 0;}
#sec07 .maincontent {width: 96%;}
#sec07 .maincontent .content01 {padding: 3vw 0 0;}
#sec07 .maincontent .p_01 { width: 40vw; height: 12vw; line-height: 3vw;}
#sec07 .maincontent .p_01 p { width: 12vw; height: 12vw; font-size: 1.6rem; line-height: 3vw;  padding-top: 3.7vw;}
#sec07 .maincontent .p_01 p span {font-size: 2.2rem;}
#sec07 .maincontent .p_02 {font-size: 3rem; padding: 4vw 3vw 0 0;}
#sec07 .maincontent .content02 {position: relative; display: flex; justify-content: space-between; flex-direction: row-reverse; margin: 0 auto 0;}
#sec07 .maincontent .content02 .fig {top: 0vw; width: 28vw; height: 20vw;}
#sec07 .maincontent .content02 .p_03 { display: flex; justify-content: space-between; margin: 50px 0 0;}
#sec07 .maincontent .content02 .p_031 { width:30vw; height: 10vw; border: 0.3vw solid #FFF500;}
#sec07 .maincontent .content02 .p_031 p {font-size: 2.8rem; color: #FFF500; line-height: 10vw; text-align: center;}
#sec07 .maincontent .content02 .p_032 {font-size: 1.7rem; color: #fff; line-height: 2.5rem; text-align: center; padding: 2vw 2vw 0 4vw;}
}
@media screen and (max-width:767px){
#sec07 { height: 165vw; margin: 10vw auto 0;}
#sec07 .maincontent { width: 98vw; }
#sec07 .maincontent .content01 { display: block; padding: 10vw 0 0;}
#sec07 .maincontent .p_01 { width: 98vw; height: 25vw; color: #fff; line-height: 4vw; display: flex; justify-content: space-around;}
#sec07 .maincontent .p_01 p { width: 25vw; height: 25vw; color: #fff; font-size: 1.2rem; line-height: 8vw; text-align: center; background: linear-gradient(to right, #B91D73, #F953C6); border-radius: 50%; padding-top: 5vw;}
#sec07 .maincontent .p_01 p span {font-size: 2.0rem;}
#sec07 .maincontent .p_02 {font-size: 1.8rem; color: #fff; line-height: 2.5rem; text-align: center;padding: 5vw 0 0 0;}
#sec07 .maincontent .content02 { display: block;}
#sec07 .maincontent .content02 .fig { top: 5vw; width: 80vw; height: 50vw;}
#sec07 .maincontent .content02 .p_03 { display: block; margin: 5vw auto 0;}
#sec07 .maincontent .content02 .p_031 {width:70vw; height: 20vw; border: 0.6vw solid #FFF500; margin: 10vw auto 0;}
#sec07 .maincontent .content02 .p_031 p {font-size: 2rem; line-height: 20vw;}
#sec07 .maincontent .content02 .p_032 {font-size: 1.8rem; color: #fff; line-height: 2.5rem; text-align: center; padding: 30px 0 0 0;}
}



/*アニメーション*/
.scrollanime {opacity: 0; transform: translateY(4rem);}
.fadeInDown {animation-name: fadeInDown; animation-duration: 2.0s; animation-fill-mode: forwards;}
@keyframes fadeInDown {
20% {transform: translateX(50px);opacity: 0;}
50% {opacity: 1;}
100% {opacity: 1;transform: translateY(0);}
}

.scroll_up {transition: 2.5s ease-in-out; transform: translateY(50px);opacity: 0;}
.scroll_up.on {animation-name: fadeInDown1; animation-duration: 2.0s; animation-fill-mode: forwards;}
@keyframes fadeInDown1 {
20% {transform: translateY(50px);opacity: 0;}
50% {opacity: 1;}
100% {opacity: 1;transform: translateY(0);}
}

.scroll_left {transition: 2.5s ease-in-out; transform: translateX(-50px);opacity: 0;}
.scroll_left.on1 {animation-name: fadeInDown2; animation-duration: 2.0s; animation-fill-mode: forwards;}
@keyframes fadeInDown2 {
20% {transform: translateX(-50px);opacity: 0;}
50% {opacity: 1;}
100% {opacity: 1;transform: translateX(0);}
}

.scroll_right {transition: 2.5s ease-in-out; transform: translateX(50px);opacity: 0;}
.scroll_right.on2 {animation-name: fadeInDown3; animation-duration: 2.0s; animation-fill-mode: forwards;}
@keyframes fadeInDown3 {
20% {transform: translateX(50px);opacity: 0;}
50% {opacity: 1;}
100% {opacity: 1;transform: translateX(0);}
}


.btn1 {display: block;animation: btn_animation1 2.5s infinite;}
@keyframes btn_animation1 {
0% {transform: scale(1.1)}
5% {transform: scale(1)}
95% {transform: scale(1)}
100% {transform: scale(1.1)}
}

.btn2 {display: block;animation: btn_animation2 2.5s infinite;}
@keyframes btn_animation2 {
0% {transform: translate(4px, 0px);}
5% {transform: translate(-4px, 0px);}
10% {transform: translate(4px, 0px);}
15% {transform: translate(-4px, 0px);}
20% {transform: translate(4px, 0px);}
25% {transform: translate(-4px, 0px);}
30% {transform: translate(0px, 0px);}
}
/*
.btn3 {display: block;position: relative;transition: .2s;}
.btn3:before , .btn3:after {content: "";position: absolute;z-index: -10;width: 45vw;height: 10vw;top: -0.5vw;left: 27vw;border-radius: 200px;background: #86b5ea;transform: translate3d(0,0,0);}
.btn3:before {animation: anime 1s ease-out infinite;}
.btn3:after {animation: anime 1s ease-out 1s infinite;}
@keyframes anime{
0%{transform:scale(.85); opacity:1}
90%{opacity:.1}to{transform:scale(1.1,1.2); opacity:0}
}
@media screen and (max-width:767px){
.btn3:before , .btn3:after {width: 64vw;height: 14vw;top: 9vw;left: 18vw;}
}*/

.btn4 {display: block;text-decoration: none;text-align: center;overflow: hidden;}
.btn4:hover {text-decoration: none;color: #fbfbfb;}
.btn4::before {position: absolute;content: '';display: inline-block;top: -180px;left: 0;width: 30px;height: 100%;background-color: #fbfbfb;animation: btn_animation 3.5s ease-in-out infinite;}
@-webkit-keyframes btn_animation {
0% { transform: scale(0) rotate(45deg); opacity: 0; }
80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { transform: scale(4) rotate(45deg); opacity: 1; }
100% { transform: scale(50) rotate(45deg); opacity: 0; }
}






/*コンタクト*/
#contact_view { position: relative; width: 100vw; height: 390px; }
#contact_view h2 {position: absolute; top: 0; width: 100vw; text-align: center; color: #fff; font-size: 2.4rem; line-height: 390px; }
#contact_view h2::before {content: ''; position: absolute; top: 60%; left: 46%; width: 160px; border-bottom: 3px solid #FF0090; }
@media screen and (max-width:1440px){
#contact_view { height: 20.3vw; }
#contact_view h2 { font-size: 2.2rem; line-height: 20.3vw; }
#contact_view h2::before { top: 60%; left: 45%; width: 10vw; border-bottom: 2px solid #FF0090; }
}
@media screen and (max-width:767px){
#contact_view { height: 20.3vw; }
#contact_view h2 { font-size: 1.2rem; line-height: 20.3vw; }
#contact_view h2::before { top: 65%; left: 42%; width: 16vw; border-bottom: 2px solid #FF0090; }
}


#contact_sec01 .maincontent {position: relative; width: 1000px; margin: 100px auto 0;  padding-bottom: 0px;}
#contact_sec01 .maincontent p {position: relative; top: 20px; font-size: 1.8rem; line-height: 2.8rem; color: #000; letter-spacing: 2px;}
#contact_sec01 .maincontent p .mast {background: #FF0090; color: #fff; padding: 0px 30px; margin: 0 30px;}
#contact_sec01 .maincontent .input01 {width: 100%; height: 60px; background: #E9F7FF; color: #000; border: 1px solid #00A3FF; font-size: 32px; letter-spacing: 2px; padding: 0 0 0 20px; margin: 0 0 50px 0;  }
#contact_sec01 .maincontent .content{display: flex;}
#contact_sec01 .maincontent input[type="radio"] {
	content: ' ';
	position: relative;
	-webkit-appearance: none;
  	-moz-appearance: none;
  	appearance: none;
	
    vertical-align: middle;
	margin: 0 18px;
    top: 0px;
    display: inline-block;
    width: 30px;
    height: 30px;
    border-radius: 3px;
    background: #E9F7FF;
    border: 1px solid #00A3FF;
}
#contact_sec01 .maincontent input[type="radio"]:checked {
content: ' '; background: #333;}
#contact_sec01 .maincontent .p_01{position: relative; top: -10px; left: 20px;}
#contact_sec01 .maincontent .input03 {width: 100%; height: 190px; background: #E9F7FF; color: #000; border: 1px solid #00A3FF; font-size: 32px; letter-spacing: 2px; padding: 10px 0 0 20px; margin: 0 0 20px 0; word-wrap: break-word; word-break: break-all; }
#contact_sec01 .maincontent .p_02 { font-size: 1.2rem; text-align: center; margin: 0 auto 0px; }
#contact_sec01 .maincontent .center{margin: 0 auto;}
#contact_sec01 .maincontent .button01 {position: relative; color: #fff; font-size: 1.5rem; width: 270px; background: #003CFF; margin: 50px auto; padding: 20px 0;  text-align: center;}
@media screen and (max-width:1440px){
#contact_sec01 .maincontent {width: 90vw; margin: 5vw auto 0;  padding-bottom: 0vw;}
#contact_sec01 .maincontent p { top: 1vw; font-size: 1.4rem; line-height: 2.0rem; letter-spacing: 2px;}
#contact_sec01 .maincontent p .mast { padding: 0px 2vw; margin: 0 2vw;}
#contact_sec01 .maincontent .input01 {width: 100%; height: 3vw;  font-size: 1.2rem; letter-spacing: 2px; padding: 0 0 0 1vw; margin: 0 0 2vw 0;  }
#contact_sec01 .maincontent .content{display: flex;}
#contact_sec01 .maincontent input[type="radio"] {
	content: ' ';
	position: relative;
	-webkit-appearance: none;
  	-moz-appearance: none;
  	appearance: none;
	
    vertical-align: middle;
	margin: 0 2vw;
    top: 0px;
    display: inline-block;
    width: 2vw;
    height: 2vw;
    border-radius: 2px;
    background: #E9F7FF;
    border: 1px solid #00A3FF;
}
#contact_sec01 .maincontent .p_01{ top: -0.3vw; left: 1vw;}
#contact_sec01 .maincontent .input03 {width: 100%; height: 20vw;   border: 1px solid #00A3FF; font-size: 1.2rem; letter-spacing: 2px; padding: 1vw 0 0 2vw; margin: 0 0 1vw 0; }
#contact_sec01 .maincontent .p_02 { font-size: 1.2rem; margin: 0 auto; }
#contact_sec01 .maincontent .center{margin: 0 auto;}
#contact_sec01 .maincontent .button01 {font-size: 1.5rem; width: 27vw; margin: 4vw auto; padding: 2vw 0; }
}
@media screen and (max-width:767px){
#contact_sec01 .maincontent {width: 90vw; margin: 5vw auto 0;  padding-bottom: 0vw;}
#contact_sec01 .maincontent p { top: 3vw; font-size: 1.0rem; line-height: 2.0rem; letter-spacing: 2px;}
#contact_sec01 .maincontent p .mast { padding: 0px 2vw; margin: 0 2vw;}
#contact_sec01 .maincontent .input01 {width: 100%; height: 7vw;  font-size: 0.8rem; letter-spacing: 2px; padding: 0 0 0 2vw; margin: 0 0 2vw 0;  }
#contact_sec01 .maincontent .content{display: flex;}
#contact_sec01 .maincontent input[type="radio"] {
	content: ' ';
	position: relative;
	-webkit-appearance: none;
  	-moz-appearance: none;
  	appearance: none;
	
    vertical-align: middle;
	margin: 0 2vw 2vw;
    top: 1vw;
    display: inline-block;
    width: 4vw;
    height: 4vw;
    border-radius: 2px;
    background: #E9F7FF;
    border: 1px solid #00A3FF;
}
#contact_sec01 .maincontent .p_01{position: relative; top: -0.2vw; font-size: 1rem;}
#contact_sec01 .maincontent .top{position: relative; top: 0vw;}
#contact_sec01 .maincontent .input03 {width: 100%; height: 20vw;   border: 1px solid #00A3FF; font-size: 0.8rem; letter-spacing: 0.5px; padding: 1vw 1vw 1vw 1vw; margin: 0 0 1vw 0; }
#contact_sec01 .maincontent .p_02 {width: 68vw; font-size: 0.8rem; margin: 0 auto; }
#contact_sec01 .maincontent .center{margin: 0 auto;}
#contact_sec01 .maincontent .button01 { font-size: 1rem; width: 35vw; margin: 8vw auto 0; padding: 2vw 0; }
}

.sec990_pc{height: 10vw; background: red;}

/*題名「お問い合わせ」の非表示*/
#post-10 .heading {display:none;}

/*コンタクトフォーム*/
.wpcf7-form-control-wrap{ display: block;}
.wpcf7-spinner{ display: none;}
.wpcf7-spinner::before{ display: none;}
.wpcf7-form-control, .wpcf7-radio{ display: block;}
span.wpcf7-list-item {
margin-top:5px;
display: block;
}
.wpcf7-response-output{ width:800px; margin: 0 auto; text-align: center; }
@media screen and (max-width:1440px){
.wpcf7-response-output{ width:80%; margin: 0 auto; text-align: center; }
}
@media screen and (max-width:767px){
.wpcf7-response-output{ width:80%; margin: 0 auto; text-align: center; }
}
