@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:middle; background:transparent;}
ul,ol{ list-style:none;}
html,body {
margin:0 auto;
padding:0;
font-family: "Hiragino Sans","ヒラギノ角ゴシック";
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; max-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: 7vw; z-index: 999;}
header h1 {position: relative; width: 133px; left: 1vw;}
header h1 img { width: 100%; height: auto;}
header button {position: relative; top:0.5vw; right:1vw; width: 30vw; height: 4.5vw; background:linear-gradient(to right, #facc22, #ff9000); border-radius: 10px; margin: 0vw;}
header button h2 { color: #fff; font-size: 2vw; margin: 0vw auto; line-height:4.5vw; text-align: center; }
@media screen and (max-width:1440px){
header{ height: 0px;}
header h1 { width: 100px;}
header button { top:2.5px; right:15px; width: 30vw; height: 60px; border-radius: 10px;}
header button h2 { font-size: 1.8rem; line-height:60px;}
}
@media screen and (max-width:767px){
header{ height: 0px;}
header h1 {width: 88px;}
header button { top:2.5px; right:15px; width: 40vw; height: 50px; border-radius: 10px; }
header button h2 { font-size: 1.2rem; line-height:50px;}
}

.active_head{display:none;}



/*フッター*/
/*sec_cv*/
footer { margin: 0px auto; position: relative; background: linear-gradient(90deg, #facc22, #f83600); text-align: center; color: #fff; height: 1500px;}
footer figure {position: relative; top: -1px; width: 66.3vw; padding: 50px 0;}
footer figure img { width: 100%; height: auto;}
footer .main {position: relative; top: 0px; width: 1273px; height: 700px; border: 2px solid #fff; margin: 0px auto;}
footer h2 { padding: 50px 0; font-size: 1.4rem; line-height: 55px;}
footer .maincontent {display: flex; justify-content: center;}
footer .content {width: 800px;}
footer .content .p_01 {position: relative; left: 0vw; font-size: 1.4rem; line-height: 1.4rem;}
footer .content h3 {position: relative; left: 0vw; top:-10px; font-size: 3.0rem; line-height: 3rem;}
footer .content div {position: relative; width: 583px; height: 100px; background: #fff; border-radius:  100px; top:0px; font-size: 3.0rem; line-height: 3rem;}
footer .content div .p_02 {position: relative; top:20px; font-size: 2.0rem; line-height: 3rem; background: linear-gradient(to left, #facc22, #f83600); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
footer .content .p_03 {position: relative; top: 15px; right: 30px; font-size: 1.4rem; line-height: 1.4rem;}
@media screen and (max-width:1440px){
footer { padding-bottom: 0vw; height: 103vw;}
footer figure { width: 90vw; padding: 5vw 0;}
footer .main { top: 0px; width: 90vw; height: 48vw; border: 2px solid #fff; margin: 0 auto;}
footer h2 { padding: 3vw 0; font-size: 1.5rem; line-height: 4vw;}
footer .content {width: 50%;}
footer .content .p_01 { left: 0vw; font-size: 1.4rem; line-height: 1.4rem;}
footer .content div { width: 40vw; height: 6vw; }
footer .content div .p_02 { top:10px; font-size: 2.0rem; line-height: 3rem;}
footer .content .p_03 {top: 10px; right: 3vw; }
}
@media screen and (max-width:767px){
footer { height: 153vw; padding-bottom: 0vw;}
footer figure { width: 90vw; padding: 5vw 0;}
footer .main { top: -6vw; width: 90vw; height: 88vw; border: 2px solid #fff; margin: 5vw auto;}
footer h2 { padding: 3vw 0 2vw; font-size: 0.8rem; line-height: 6vw;}
footer .maincontent {display: block; }
footer .content {width: 80%; margin: 0 auto;}
footer .content .p_01 { left: 0vw; font-size: 0.8rem; line-height: 6vw;}
footer .content h3 {top: -1.5vw; left: 0vw;  font-size: 1.5rem; line-height: 3vw;}
footer .content div {top: 4vw; width: 60vw; height: 10vw; margin: 0 auto;}
footer .content div .p_02 { top: -1vw; font-size: 1.2rem; line-height: 3rem;}
footer .content .p_03 {top: 5vw; right: 0vw; font-size: 0.6rem; line-height: 3vw;}
}


footer #copyright{position: relative; top: 20px; text-align: center; font-size: 1.4rem; margin-top: 1em;}
@media screen and (max-width:1440px){
footer #copyright{ font-size: 1.6rem; top: -2vw;}
}
@media screen and (max-width:767px){
footer #copyright{ font-size: 0.6rem; top: -8vw;}
}

#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: 87vw; 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 13vw; text-align:center;}
#line_button div img{width:70%;}

}


/*メイン*/
#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;}


/*first_view*/
#first_view{ position: relative; top: 0vw; background: linear-gradient(-90deg, #facc22, #f83600); display: flex; justify-content: center; height: 800px; white-space: nowrap; }
#first_view::before{ content: ""; background: #ff0f47; position: absolute; right: -35.5vw; bottom: 0; height: calc(70vw / 2 * tan(50deg)); width: 70vw;clip-path: polygon(50% 0, 100% 100%, 0 100%); transform: rotate(0deg);}
#first_view .maincontent{position: relative; width: 50%; }
#first_view .maincontent::before{ content: ""; background: #fff; position: absolute; left: 0; bottom: 0; width: 100%; height: 6vw;}
#first_view .maincontent div:nth-child(1){position: absolute; background-color: #fff;  padding: 0vw;  width: 420px; height: 100px; top: 50px; left: 10vw; }
#first_view .maincontent div:nth-child(2){position: absolute; background-color: #fff;  padding: 0vw;  width: 560px; height: 100px; top: 170px; left: 10vw; }
#first_view .maincontent div:nth-child(3){position: absolute; background-color: #fff;  padding: 0vw;  width: 540px; height: 100px; top: 270px; left: 20vw; }
#first_view .maincontent div h3 {position: absolute; background-color: #fff; padding: 1vw; font-size: 2.7rem; font-weight: normal; background: linear-gradient(to left, #facc22, #f83600); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
#first_view .maincontent .p_sp {display: block; position: absolute; width: 38vw; top: 390px; left:5vw; font-family: "TA-おおにし"; }
#first_view .maincontent .p_sp img {width: 100%; height: auto;  }
#first_view .maincontent h2 {position: absolute; top: 480px; left:8.5vw;  color: #fff; font-size: 5.6rem; font-weight: normal; white-space: nowrap;letter-spacing: 0em;}
#first_view .maincontent .p_01 {position: absolute; top: 600px; left:17.0vw;  color: #fff; font-size: 2.0rem; font-weight: normal; white-space: nowrap;letter-spacing: 0em;}
#first_view .maincontent button {position: absolute; bottom: 0vw; left: 16.5vw; width: 28vw; height: 5vw; background:linear-gradient(to top, #09bbfe, #5a42ec); border-radius: 10px;}
#first_view .maincontent button a { height: 5vw; }
#first_view .maincontent button p{position: relative; color: #fff; line-height:5vw; text-align: center; font-size: 2.1vw; font-weight: bold; letter-spacing: 0.15em; margin: 0vw 2vw 0 0;}
#first_view .maincontent button img{ position: absolute; width: 10%; top: 0.5vw; left: 22.5vw;}
#first_view .fig01 { position: relative; left: 0vw; width: 50vw; padding: 1vw 0;}
#first_view .fig01 img { width:80%; height: auto;}
@media screen and (max-width:1440px){
#first_view{top: 80px; height: calc((800/1440)*100vw);}
#first_view::before{ content: ""; background: #ff0f47; position: absolute; right: -54vw; bottom: 0; height: calc(92vw / 2 * tan(50deg)); width: 92vw;clip-path: polygon(50% 0, 100% 100%, 0 100%); transform: rotate(0deg);}
#first_view .maincontent .p_sp {display: block; position: absolute; width: 38vw; top: 27.5vw; left:2vw; font-family: "TA-おおにし"; }
#first_view .maincontent::before{left: 0; bottom: -1px; width: 110%; height: 80px;}
#first_view .maincontent div:nth-child(1){ width: calc((460/1440)*100vw); height: calc((90/1440)*100vw); top: calc((50/1440)*100vw); left: 5vw; }
#first_view .maincontent div:nth-child(2){ width: calc((620/1440)*100vw); height: calc((90/1440)*100vw); top: calc((170/1440)*100vw); left: 5vw; }
#first_view .maincontent div:nth-child(3){ width: calc((580/1440)*100vw); height: calc((90/1440)*100vw); top: calc((260/1440)*100vw); left: 14vw; }
#first_view .maincontent div h3 { font-size: 3rem;}
#first_view .maincontent h2 { top: calc((480/1440)*100vw); left:5vw; font-size: 5rem;}
#first_view .maincontent .p_01 { top: calc((585/1440)*100vw); left:10.5vw;  color: #fff; font-size: 2.0rem; font-weight: normal; white-space: nowrap;letter-spacing: 0em;}
#first_view .maincontent button { left: 13.5vw; width: 33vw; height: 60px;}
#first_view .maincontent button a { height: 60px; }
#first_view .maincontent button p{line-height:60px; font-size: 1.8rem;  margin: 0vw 2vw 0 0;}
#first_view .maincontent button img{ width: 28px; top: 1vw; left: 26.5vw;}
#first_view .fig01 {left: 2vw; width: 50vw; padding: 8vw 0;}
#first_view .fig01 img { width:80%; height: auto;}
}
@media screen and (max-width:767px){
#first_view{top: 60px; display: block; height: 123vw;}
#first_view::before{ display: none;}
#first_view .maincontent{ width: 96%; }
#first_view .maincontent::before{ display: none; }
#first_view .maincontent div:nth-child(1){ width: 59vw; height: 12vw; top: 13vw; left: 3vw; z-index: 1;}
#first_view .maincontent div:nth-child(2){ width: 80vw; height: 12vw; top: 27vw; left: 3vw; z-index: 1;}
#first_view .maincontent div:nth-child(3){ width: 76vw; height: 12vw; top: 39vw; left: 13vw; z-index: 1;}
#first_view .maincontent div h3 { font-size: 8vw; top: 0.5vw;}
#first_view .maincontent .p_sp {display: block; position: absolute; width: 70vw; top: 60vw; left:2vw; font-family: "TA-おおにし"; z-index: 1;}
#first_view .maincontent h2 { top: 70vw; left: 5vw; font-size: 12vw; }
#first_view .maincontent .p_01 { top: 85vw; left:15vw; font-size: 4.35vw; letter-spacing: 0.0em;}
#first_view .maincontent button { top: 100vw; left: 16vw; width: 65vw; height: 12vw; border-radius: 1.5vw;}
#first_view .maincontent button a { height: 12vw; }
#first_view .maincontent button p{ line-height:13vw; font-size: 1.3rem; margin: 0vw 3vw 0 0;}
#first_view .maincontent button img{ width: 5vw; top: 2vw; left: 54vw;}
#first_view .fig01 { position: absolute; top: 5vw; left: 45vw; width: 55%; padding: 0vw 0; }
#first_view .fig01 img { width:100%; height: auto;}
}


/*sec01*/
#sec01 { position: relative; margin: 250px auto 0; text-align: center;}
#sec01 h2 { font-size: 2.2rem; line-height: 2.6em;}
#sec01 h2 span { font-size: 6.15rem; color:#fd106f;}
#sec01 h3 { font-size: 2.8rem; width: 600px; margin: 100px auto 0; background: linear-gradient(to left, #facc22, #f83600); -webkit-background-clip: text; -webkit-text-fill-color: transparent; white-space: nowrap; }
#sec01 .maincontent { position: relative; display: flex; justify-content: center; width: 1440px;}
#sec01 .maincontent figure { width: 60%; margin: 5.5vw auto; }
#sec01 .maincontent ul { width: 40%;  border: 4px dashed #e8314a; text-align: left; padding: 1vw 2vw; margin: 20px auto;}
#sec01 .maincontent ul li p { font-size: 2.2rem; line-height: 1.5em; font-weight: bold; color:#353432; white-space: nowrap;}
#sec01 .fig01 {position: relative; width: 30%; top: -60px; }

@media screen and (max-width:1440px){
#sec01 {margin: 100px auto 0;}
#sec01 .maincontent {width: 96vw}
#sec01 .maincontent figure { width: 55%; margin: 10vw auto; }
#sec01 h3 { margin: 80px auto 0;}
#sec01 .maincontent ul li p { font-size: 2.2rem; line-height: 1.5em;}
#sec01 .fig01 { width: 20%; top: -30px; }
}
@media screen and (max-width:767px){
#sec01 { margin: 23vw auto 0;}
#sec01 h2 { font-size: 0.95rem; line-height: 2.6em;}
#sec01 h2 span { font-size: 2.4rem; color:#fd106f;}
#sec01 h3 { font-size: 1.5rem; width: 60vw; margin: 10vw auto 0; background: linear-gradient(to left, #facc22, #f83600); -webkit-background-clip: text; -webkit-text-fill-color: transparent; white-space: nowrap; }
#sec01 .maincontent {  width: 96vw;}
#sec01 .maincontent figure { width: 45%; margin: 30vw auto; }
#sec01 .maincontent ul { width: 50%; padding: 4vw 2vw; margin: 20px auto; height: 90vw;}
#sec01 .maincontent ul li p { font-size: 1.2rem; line-height: 1.3em;}
#sec01 .fig01 { width: 25%; top: -8vw; left: -10vw;}
}


/*sec02*/
#sec02{position: relative; background: linear-gradient(-90deg, #facc22, #f83600); height: 1400px; margin: 50px auto 0; white-space: nowrap; }
#sec02::before{ content: ""; background: #fff; position: absolute; right: 0; top: -2px; width: 50%; height: 100px;}
#sec02 h2 {position: relative; top: 150px; background: #e8314a; color: #fff; font-size: 2.6rem; line-height: 2.6em; width: 66vw; text-align: right; padding-right: 2vw;}
#sec02 .maincontent1 {position: relative; width:1200px; margin: 10vw auto 0; display: flex; justify-content: center;}
#sec02 .maincontent1 ul {width: 40%; margin: 0px 0 0 50px; font-size: 1.6rem; line-height: 1.8em; color: #fff; font-weight:bold;}
#sec02 .maincontent1 figure {width: 30%; margin: 100px 0 0;}
#sec02 .maincontent1 div {position: relative; width: 30%; margin: 250px 0 0; }
#sec02 .maincontent1 div h3 { font-size: 2.2rem; letter-spacing: 0em; color: #0061f2; }
#sec02 .maincontent2 {position: relative; width:100%; margin: 0 auto 0; display: flex; justify-content: center;}
#sec02 .maincontent2 figure { width: 50%; margin: 0;}
#sec02 .maincontent2 figure img {position: relative; top: 50px;}
#sec02 .maincontent2 div { width: 50%; }
#sec02 .maincontent2 div img {position: relative; top: 0px; left: 460px; z-index: 2;}
#sec02 .maincontent2 div ul {position: relative; background: #fff; width: 600px; height: 350px; margin: -40px 0 0 80px; padding: 50px; z-index: 1;}
#sec02 .maincontent2 div ul li p {position: relative; top: -20px; font-size: 1.7rem; font-weight: bold;}
#sec02 .p_01 {position: relative; top: -100px; left: 26vw; background: #fff; color: #e8314a; font-size: 2.4vw; line-height: 2.6em; width: 80vw; text-align: left; border-radius: 50px; letter-spacing: 0em;padding-left: 3vw;}
#sec02 .br_none{display: none}
@media screen and (max-width:1440px){
#sec02{ height: 85vw; margin: 20px auto 0;}
#sec02::before{ height: 8vw;}
#sec02 h2 { top: 10vw; font-size: 3.0vw; line-height: 2.0em;}
#sec02 .maincontent1 { width:100%; margin: 10vw auto 0;}
#sec02 .maincontent1 ul {width: 40%; margin: 20px 0 0 15vw;}
#sec02 .maincontent1 figure {width: 18%; margin: 8vw 0 0 0;}
#sec02 .maincontent1 div { width: 40%; margin: 14vw 0px 0 0; }
#sec02 .maincontent2 figure { width: 40%; margin: 2vw 2vw 0 0;}
#sec02 .maincontent2 div img { width: 20%; top: -3vw; left: calc((500/1440)*100vw);}
#sec02 .maincontent2 div ul { width: calc((520/1440)*100vw); height: calc((340/1440)*100vw); margin: -6vw 0 0 10vw; padding: calc((50/1440)*100vw);}
#sec02 .maincontent2 div ul li p {position: relative; top: -0.5vw; font-size: 2.1vw;}
#sec02 .p_01 { top: calc((-140/1440)*100vw); font-size: 2.4vw; line-height: 2.6em; width: 80vw; text-align: left; border-radius: 50px; letter-spacing: 0em; padding-left: 3vw;}
}
@media screen and (max-width:767px){
#sec02 { height: 172vw; margin: 0vw auto 0;}
#sec02::before{ height: 6vw;}
#sec02 h2 { top: 10vw; width: 85%; font-size: 1.1rem; line-height: 2.0em;}
#sec02 .maincontent1 { width:100%; margin: 13vw auto 0; display: block;}
#sec02 .maincontent1 ul {width: 100%; margin: 0 0 0 10vw; font-size: 1.0rem; line-height: 1.8em; color: #fff;}
#sec02 .maincontent1 figure { width: 20%; margin: 10vw 0 0 40vw;  transform: rotate(45deg);}
#sec02 .maincontent1 div {width: 30%; margin: -7vw 0 0 58vw;}
#sec02 .maincontent1 div h3 { font-size: 1.2rem; }
#sec02 .maincontent2 { width:100%; margin: 0 auto 0; display: block; }
#sec02 .maincontent2 figure { width: 33%; margin: -20vw 0px 0 5vw;}
#sec02 .maincontent2 figure img {position: relative; top: 0px;}
#sec02 .maincontent2 div { width: 100%; margin: 0; }
#sec02 .maincontent2 div img {top: -4.5vw; left: 70vw; z-index: 2;}
#sec02 .maincontent2 div ul {  width: 88vw; height: auto; margin: -10vw auto 0; padding: 6vw 3vw; z-index: 1;}
#sec02 .maincontent2 div ul li p {position: relative; top: 1.2vw; font-size: 1.1rem;}
#sec02 .p_01 { top: 6vw; left: 5vw; font-size: 5.0vw; line-height: 1.5em; width: 120vw; text-align: left;  letter-spacing: 0em; padding-left: 9vw;}
#sec02 .p_01 span { padding-left: 21vw;}
#sec02 .br_none{display: block}
}


/*sec03*/
#sec03{position: relative; padding:80px 0 0; }
#sec03 .content1 {position: relative; left: 30vw; margin: 0px 0 0; display: flex; justify-content: center; width: 70%;}
#sec03 .content1 img {position: relative; top: -40px; left: 40px; }
#sec03 .content1 h2 { color: #fff; font-size: 60px; background: linear-gradient(0deg, #facc22, #f83600); height: 150px; line-height: 60px; margin: 0 auto; width: 100%; text-align: left; padding: 45px 45px 45px 60px; border-radius: 150px 0 0 150px;}
#sec03 .maincontent1 {position: relative; 
	background: url("images/img03.png");
	background-repeat:no-repeat;
    background-position:50%;
    background-size:contain;
	width: 100%; height: 664px; margin: 330px auto;}
#sec03 .maincontent1 div {position: absolute; width: 400px; height: 400px; background: linear-gradient(0deg, #facc22, #f83600); border-radius: 50%;}
#sec03 .maincontent1 div:nth-child(1) { top: -290px; left: calc(50% - 200px); }
#sec03 .maincontent1 div:nth-child(2) { top: -10px; left: 12vw; }
#sec03 .maincontent1 div:nth-child(3) { top: -10px; right: 12vw; }
#sec03 .maincontent1 div:nth-child(4) { top: 560px; left: 22vw; }
#sec03 .maincontent1 div:nth-child(5) { top: 560px; right: 22vw; }
#sec03 .maincontent1 div p {font-size: 40px; color: #fff; line-height: 60px; margin: 0 auto; text-align: center; padding-top: 160px;}
#sec03 .maincontent1 div:nth-child(4) p { padding-top: 120px;}
#sec03 .con01 .p_01 {position: relative; margin: 350px auto 0; text-align: center; font-size: 2.2rem; color: #292929; }
#sec03 .con01 .p_02 {position: relative; margin: 30px auto 0; text-align: center; font-size: 3.0rem; color: #292929; }
@media screen and (max-width:1440px){
#sec03{position: relative; padding: 10vw 0 0; }
#sec03 .content1 { left: 10vw; margin: 0 0 0;  width: 90%;}
#sec03 .content1 img { top: -6vw; left: 4vw; width: 15%; height: auto;}
#sec03 .content1 h2 {font-size: 3rem; height: calc((150/1440)*100vw); line-height: calc((60/1440)*100vw);  width: 100%;  padding: 3vw 3vw 3vw 6vw; border-radius: 150px 0 0 150px;}
#sec03 .maincontent1 {background: cover; width: 100%;  height: calc((664/1440)*100vw); margin: calc((200/1440)*100vw) auto;}
#sec03 .maincontent1 div {width: 25vw; height: 25vw;}
#sec03 .maincontent1 div:nth-child(1) { top: -17vw; left: 36.5vw; }
#sec03 .maincontent1 div:nth-child(2) { top: 3vw; left: 4vw; }
#sec03 .maincontent1 div:nth-child(3) { top: 3vw; right: 4vw; }
#sec03 .maincontent1 div:nth-child(4) { top: 40vw; left: 18vw; }
#sec03 .maincontent1 div:nth-child(5) { top: 40vw; right: 18vw; }
#sec03 .maincontent1 div p {font-size: 2.2rem; line-height: 2.8rem; padding-top: 10vw; font-weight: bold;}
#sec03 .maincontent1 div:nth-child(4) p { padding-top: 7vw;}
#sec03 .con01 .p_01 { margin: 25vw auto 0;}
#sec03 .con01 .p_02 { margin: 30px auto 0;  font-size: 3.0rem;  }
}
@media screen and (max-width:767px){
#sec03{position: relative; padding: 8vw 0 0; }
#sec03 .content1 h2 { font-size: 1.2rem; }
#sec03 .maincontent1 { margin: 15vw auto 0;}
#sec03 .maincontent1 div {width: 29vw; height: 29vw;}
#sec03 .maincontent1 div p  { font-size: 0.9rem; line-height: 5vw; padding-top: 10vw; white-space: nowrap; }
#sec03 .maincontent1 div:nth-child(4) p { padding-top: 7.5vw;}
#sec03 .con01 .p_01 {font-size: 1.0rem; margin: 30vw auto 0;}
#sec03 .con01 .p_02 {font-size: 1.5rem; margin: 5vw auto 0;}
}


#sec03 .maincontent2 {position: relative; margin: 120px auto; width: 100%; display: flex;}
#sec03 .content2 {position: relative; background: linear-gradient(180deg, #f83600, #f99218);  width: 80%; height: 656px; padding: 5vw; border-radius: 0 250px 250px 0;}
#sec03 .content2 .title01 {position: absolute; background-color: #fff; padding: 0vw;  width: 613px; height: 100px; top: 110px; left: 17.5vw; border-radius: 10px;}
#sec03 .content2 .title01 h3 { padding: 1.5vw 2vw; font-size: 2.4rem; font-weight: normal; background: linear-gradient(to left, #facc22, #f83600); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
#sec03 .content2 p { position: absolute; top: 260px; left: 17.5vw; width: 39vw; color: #fff; font-size: 1.5rem; line-height: 2.8rem; weight:bold;}
#sec03 .img01 {position: relative; top: 4vw; left: -8vw; width: 40%;}
#sec03 .img01 img { width: 100%; height: auto;}
@media screen and (max-width:1440px){
#sec03 .maincontent2 { margin: 5vw auto;}
#sec03 .content2 { width: 83%; height: 45vw; padding: 5vw; border-radius: 0 15vw 15vw 0;}
#sec03 .content2 .title01 { width: 41vw; height: 5.8vw; top: 5vw; left: 5vw; border-radius: 6px;}
#sec03 .content2 .title01 h3 { padding: 1vw 2vw; font-size: 2.4rem; }
#sec03 .content2 p { top: 15vw; left: 5vw; width: 48vw; font-size: 1.6rem; line-height: 2.8rem; }
#sec03 .img01 { top: 13vw; left: -8vw; width: 50%;}
}
@media screen and (max-width:767px){
#sec03 .maincontent2 {display: block; margin: 5vw auto 3vw;}
#sec03 .content2 { width: 90%; height: 90vw; padding: 5vw; border-radius: 0 15vw 15vw 0;}
#sec03 .content2 .title01 { width: 69vw; height: 10vw; top: 9vw; left: 5vw; border-radius: 6px;}
#sec03 .content2 .title01 h3 { padding: 2vw 2vw; font-size: 1.4rem; }
#sec03 .content2 p { top: 25vw; left: 5vw; width: 70vw; font-size: 1.0rem; line-height: 1.8rem;}
#sec03 .img01 { top: -9vw; left: 35%; width: 60%;}
}


/*sec04*/
#sec04 { margin:0 auto; padding: 200px 0 0; white-space: nowrap;}
#sec04 .back { width: 80vw; height: 180px; border: 4px solid #fa6a00; border-left: 0px ; border-radius: 0 100px 100px 0; }
#sec04 .back h2 {position: relative; left: 15vw; width: 60vw; height: 200px; padding: 50px 0px 50px 0; font-size: 3rem;  text-align: right; background: linear-gradient(to left, #facc22, #f83600); -webkit-background-clip: text; -webkit-text-fill-color: transparent; white-space: nowrap; }
#sec04 .maincontent {position: relative; top: 100px; height: 1200px;  }
#sec04 .maincontent .p_01 {position: absolute; left: 20vw; width: 578px; height: 359px; padding: 140px 0; font-size: 2.8rem; letter-spacing: 0em; color: #282828; text-align: center; background: linear-gradient(122deg, #feb0ab, #f5eded); border-radius: 65%; white-space: nowrap; z-index: 3;}
#sec04 .maincontent img {position: absolute; top: 300px; left: 15vw; z-index: 2; width: 35%;}
#sec04 .content {position: absolute; top: 50px; left: 32vw; width: 1036px; height: 976px; background: #e8314a; border-radius: 50%; z-index: 1;}
#sec04 .content ul {position: relative; color: #fff; top: 100px;  left: 330px; z-index: 4; font-size: 3.6rem;}
#sec04 .content ul li p { position: relative; padding: 0 0.6vw; font-weight:bold;}
#sec04 .content ul li:nth-child(1) p {left: 11vw;}
#sec04 .content ul li:nth-child(2) p {left: 0vw;}
#sec04 .content ul li:nth-child(3) p {left: 11vw;}
#sec04 .content ul li:nth-child(4) p {left: 1.5vw;}
#sec04 .content ul li:nth-child(5) p {left: 14vw;}
#sec04 .content .p_02 {position: relative; color: #fff; top: 130px;  left: 340px; font-size: 2.0rem;}
#sec04 h3 {position: relative; color: #282828; top: -50px; font-size: 2.2rem; text-align: center; line-height: 70px; white-space: nowrap;}
@media screen and (max-width:1440px){
#sec04 {position: relative; margin: 0 auto; padding:10vw 0 0;}
#sec04 .back { width: 80vw; height: 8vw;}
#sec04 .back h2 { left: 10vw; width: 60vw; height: 8vw; padding: 2vw 0px 2vw 0; font-size: 2.4rem; }
#sec04 .maincontent {top: 50px; height: 98vw;}
#sec04 .maincontent .p_01 {left: 10vw; width: calc((578/1440)*100vw); height: calc((359/1440)*100vw); padding: calc((150/1440)*100vw) 0; font-size: 2.4rem;}
#sec04 .maincontent img {top: 250px; left: 4vw; z-index: 2; width: 45%;}
#sec04 .content { top: 50px; left: 28vw; width: calc((1036/1440)*100vw); height: calc((976/1440)*100vw);}
#sec04 .content ul {top: 100px; left: 20vw; font-size: 3.4rem;}
#sec04 .content ul li p { padding: 0 0.6vw;}
#sec04 .content ul li:nth-child(1) p {left: 16vw;}
#sec04 .content ul li:nth-child(2) p {left: 0vw;}
#sec04 .content ul li:nth-child(3) p {left: 16vw;}
#sec04 .content ul li:nth-child(4) p {left: 1.5vw;}
#sec04 .content ul li:nth-child(5) p {left: 20vw;}
#sec04 .content .p_02 {top: 130px;  left: 20vw; font-size: 2.2rem;}
#sec04 h3 {position: absolute; top: 100vw; line-height: 5vw; left: 25vw;}
}
@media screen and (max-width:767px){
#sec04 { margin: 0 auto 10vw; padding: 4vw 0 0;}
#sec04 .back { width: 95vw; height: 12vw; border: 2px solid #fa6a00; border-left: 0px ;}
#sec04 .back h2 {left: 0vw; width: 90vw; height: 10vw; padding: 2vw 0px; font-size: 1.4rem;  text-align: right;  }
#sec04 .maincontent { top: 7vw; height: 98vw;  }
#sec04 .maincontent .p_01 {position: absolute; left: 4vw; width: calc((578/1320)*100vw); height: calc((359/1320)*100vw); padding: 10vw 0; font-size: 1.2rem; }
#sec04 .maincontent img {top: 25vw; left: 2vw; width: 45%;}
#sec04 .content {top: 3vw; left: 27vw; width: calc((1036/1340)*100vw); height:  calc((976/1340)*100vw); }
#sec04 .content ul { top: 10vw; left: 20vw; font-size: 1.4rem;}
#sec04 .content ul li p { padding: 0.0vw; ;}
#sec04 .content ul li:nth-child(1) p {left: 18vw;}
#sec04 .content ul li:nth-child(2) p {left: 0vw;}
#sec04 .content ul li:nth-child(3) p {left: 18vw;}
#sec04 .content ul li:nth-child(4) p {left: 1.5vw;}
#sec04 .content ul li:nth-child(5) p {left: 20vw;}
#sec04 .content .p_02 {top: 10vw;  left: 22vw; font-size: 0.9rem;}
#sec04 h3 { top: 103vw; line-height: 7vw; left: 5vw;font-size: 1.2rem;}
}

/*sec_cv*/
.sec_cv { margin: 0px auto; position: relative; background: linear-gradient(90deg, #facc22, #f83600); height: 698px; text-align: center; color: #fff; white-space: nowrap;}
.sec_cv h2 { padding: 100px 0; font-size: 2rem; line-height: 80px;}
.sec_cv .maincontent {display: flex; justify-content: center;}
.sec_cv .content1 {width: 800px;}
.sec_cv .content1 p {position: relative; left: 3vw; font-size: 1.4rem; line-height: 1.4rem;}
.sec_cv .content1 h3 {position: relative; left: 3vw; top:-10px; font-size: 3.0rem; line-height: 3rem;}
.sec_cv .content2 {width: 800px;}
.sec_cv .content2 button {position: relative; width: 583px; height: 100px; background: #fff; border-radius:  100px; top:0px; font-size: 3.0rem; line-height: 3rem;}
.sec_cv .content2 button h3 {position: relative; top:0px; font-size: 2.0rem; line-height: 3rem; background: linear-gradient(to left, #facc22, #f83600); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
.sec_cv .content2 p {position: relative; top: 15px; right: 120px; font-size: 1.4rem; line-height: 1.4rem;}
@media screen and (max-width:1440px){
.sec_cv { height: 48vw;}
.sec_cv h2 { padding: 7vw 0; font-size: 2rem; line-height: 5vw;}
.sec_cv .content1 {width: 50%;}
.sec_cv .content1 p { left: 3vw; font-size: 1.4rem; line-height: 1.4rem;}
.sec_cv .content2 {width: 50%;}
.sec_cv .content2 button { width: 40vw; height: 6vw; }
.sec_cv .content2 button h3 { top:0px; font-size: 2.0rem; line-height: 3rem;}
.sec_cv .content2 p {top: 15px; right: 5vw; }
}
@media screen and (max-width:767px){
.sec_cv { height: 83vw;}
.sec_cv h2 { padding: 10vw 0 3vw; font-size: 1.0rem; line-height: 7vw;}
.sec_cv .maincontent {display: block; }
.sec_cv .content1 {width: 80%; margin: 0 auto;}
.sec_cv .content1 p { left: 0vw; font-size: 0.9rem; line-height: 6vw;}
.sec_cv .content1 h3 {top: -1.9vw; left: 0vw;  font-size: 1.6rem; line-height: 3vw;}
.sec_cv .content2 {width: 80%; margin: 0 auto;}
.sec_cv .content2 button {top:6vw; width: 70vw; height: 12vw; margin: 0 auto;}
.sec_cv .content2 button h3 { top: 0vw; font-size: 1.4rem; line-height: 3rem;}
.sec_cv .content2 p {top: 30px; right: 0vw; font-size: 0.9rem; line-height: 3vw;}
}


/*sec05*/
#sec05{position: relative; margin: 0; white-space: nowrap;}
#sec05 .maincontent .img01 {position: relative; top: -60px; width: 30vw; left: -30vw;}
#sec05 .maincontent figure img { width: 100%; height: auto;}
#sec05 .maincontent h2 { position: absolute; top: 330px; right: 0; width: 80vw; height: 150px; background: #fa6a00; border-radius: 100px 0 0 100px;  color: #fff; font-size: 2.8rem; padding: 40px 0 40px 80px;}
#sec05 .maincontent .img02 {position: relative; top: 60px; width: 62.5vw;}
#sec05 .maincontent h3 {position: relative; top: 100px; text-align: center; font-size: 2.8rem; color: #1c1b1b; line-height: 120px;}
#sec05 .maincontent h3 span {position: relative; top: -10px; background: #e8314a; color: #fff; font-size: 3.5rem; padding: 5px;}
@media screen and (max-width:1440px){
#sec05 .maincontent .img01 {top: -5vw; width: 30vw;}
#sec05 .maincontent h2 { top:22vw;  height: 10vw; font-size: 2.4rem; padding: 3vw 0 3vw 5vw;}
#sec05 .maincontent .img02 { top: 5vw; width: 70vw;}
#sec05 .maincontent h3 {top: 5vw; font-size: 2.8rem; line-height: 10vw;}
#sec05 .maincontent h3 span { top: -10px; font-size: 3.5rem; padding: 5px;}
}
@media screen and (max-width:767px){
#sec05 .maincontent .img01 {top: -4vw; width: 40vw;}
#sec05 .maincontent h2 { top:22vw; width: 95vw; height: 12vw; font-size: 1.15rem; padding: 3.5vw 0 3.5vw 5vw;}
#sec05 .maincontent .img02 { top: 0vw; width: 90vw;}
#sec05 .maincontent h3 {top: 5vw; font-size: 1.0rem; line-height: 10vw;}
#sec05 .maincontent h3 span { top: -0.5vw; font-size: 1.4rem; padding: 1vw;}
}



/*sec06*/
#sec06{ margin: 300px auto 0; position: relative; background: #e8314a; z-index: -5;}
#sec06 .maincontent {position: relative; height: 1700px;}
#sec06 .back {position: relative; top: 150px;  width: 80vw; height: 150px; background: #fff; border-radius: 0 100px 100px 0; }
#sec06 .back h2 {position: relative; left: 40vw; width: 20vw; height: 150px; padding: 50px 0px 50px 0; font-size: 3.0rem;  text-align: center; background: linear-gradient(to left, #ffa201, #f83600); -webkit-background-clip: text; -webkit-text-fill-color: transparent; white-space: nowrap; }
#sec06 figure {position: absolute; top: -40px; right: 0; width: 42vw; z-index: 2;}
#sec06 figure img { width: 100%; height: auto;}
@media screen and (max-width:1440px){
#sec06{ margin: 15vw auto;}
#sec06 .maincontent { height: 90vw;}
#sec06 .back {top: 6vw;  width: 70vw; height: 8vw; }
#sec06 .back h2 { left: 40vw; width: 20vw; height: 8vw; padding: 2vw 0px ; font-size: 2.8rem;}
#sec06 figure {top: -2vw; right: 0; width: 42vw; z-index: 2;}
}
@media screen and (max-width:767px){
#sec06{ margin: 20vw auto;}
#sec06 .maincontent { height: 125vw;}
#sec06 .back {top: 11vw;  width: 70vw; height: 12vw; }
#sec06 .back h2 { left: 38vw; width: 25vw; height: 10vw; padding: 3vw 0px ; font-size: 1.4rem;}
#sec06 figure {top: 3vw; right: 0; width: 38vw; z-index: 2;}
}

#sec06 .css-carousel-slider {width: 100%; overflow: hidden;}
#sec06 .css-carousel-slider img {width: 100%; height: auto; vertical-align: top;}
#sec06 .css-carousel-slider .slide-wrap {width: 150%; position: absolute; display: flex; top: 500px; left: calc(130%); z-index: 0; animation: css-carousel-slider 30s infinite; animation-delay: 5s;}
#sec06 .css-carousel-slider .slide-wrap-main {position: absolute; top: 500px; width: 150%; left: -20vw; display: flex; z-index: 1; animation: css-carousel-slider-main 30s infinite; animation-delay: 5s;}
#sec06 .css-carousel-slider .slide {width: 50%;}
#sec06 .slide img {width: 80%; height: auto;}
@media screen and (max-width:1440px){
#sec06 .css-carousel-slider .slide-wrap {top: 25vw; }
#sec06 .css-carousel-slider .slide-wrap-main {top: 25vw;}
}
@media screen and (max-width:767px){
#sec06 .css-carousel-slider .slide-wrap {width: 220%; top: 33vw; left: calc(168%);}
#sec06 .css-carousel-slider .slide-wrap-main {width: 220%; top: 33vw; left: -52vw;}
#sec06 .css-carousel-slider .slide {width: 80%;}
#sec06 .slide img {width: 80%; height: auto;}
}
@keyframes css-carousel-slider {
0% { transform: translateX(calc(0 / 3 * -100%)); }
10% { transform: translateX(calc(0 / 3 * -100%)); }
23.333% { transform: translateX(calc(1 / 3 * -100%)); }
43.333% { transform: translateX(calc(1 / 3 * -100%)); }
56.666% { transform: translateX(calc(2 / 3 * -100%)); }
76.666% { transform: translateX(calc(2 / 3 * -100%)); }
89.999% { transform: translateX(calc(3 / 3 * -100%)); }
100% { transform: translateX(calc(3 / 3 * -100%)); }
}
@keyframes css-carousel-slider-main {
0% { transform: translateX(calc(0 / 3 * -100%)); }
10% { transform: translateX(calc(0 / 3 * -100%)); }
23.333% { transform: translateX(calc(1 / 3 * -100%)); }
43.333% { transform: translateX(calc(1 / 3 * -100%)); }
56.666% { transform: translateX(calc(2 / 3 * -100%)); }
76.666% { transform: translateX(calc(2 / 3 * -100%)); }
89.999% { transform: translateX(calc(3 / 3 * -100%)); }
100% { transform: translateX(calc(3 / 3 * -100%)); }
}



/*sec07*/
#sec07{position: relative; margin: 0px auto 0; padding:150px 0 50px; height: 2950px; white-space: nowrap; }
#sec07 .back {position: relative; width: 80vw; height: 160px; border: 6px solid #fa6a00; border-left: 0px ; background: #fff; border-radius: 0 100px 100px 0; }
#sec07 .back h2 {position: relative; left: 10vw; width: 60vw; height: 200px; padding: 40px 0px; font-size: 2.8rem;  text-align: right; background: linear-gradient(to left, #ffa201, #f83600); -webkit-background-clip: text; -webkit-text-fill-color: transparent; white-space: nowrap; }
#sec07 figure {position: absolute; top: -40px; right: 1vw; width: 30vw; z-index: -2;}
#sec07 figure img { width: 100%; height: auto;}
#sec07 .content {position: relative; margin: 150px 0; left: 15vw; width: 1072px; height: 410px; background: #fff; box-shadow: -5px 17px 10px 10px #ffa201; border-radius: 0 600px 600px 0;}
#sec07 .content .p_01 {position: absolute; top: -50px; left: 2vw; color: #fa6a00; font-size: 4rem;}
#sec07 .content .p_01 span {font-size: 6rem; padding-top: 5px;}
#sec07 .content h3 {position: absolute; top: 70px; width: 1072px;text-align: center; color: #505050; font-size: 2.8rem; letter-spacing: 0em;}
#sec07 .content p {position: absolute; top: 160px; left: 4vw; color: #505050; font-size: 1.7rem; line-height: 70px; letter-spacing: 0.05em;}
#sec07 .img03 {position: absolute; top: 500px; left: 1100px; width: 158px;}
#sec07 .img03 img { width: 100%; height: auto;}
#sec07 .img04 {position: absolute; top: 1530px; left: 490px; width: 618px;}
#sec07 .img04 img { width: 100%; height: auto;}
@media screen and (max-width:1800px){
#sec07 .img03 {position: absolute; top: 350px; left: 1250px; width: 158px;}
#sec07 .img04 {position: absolute; top: 1380px; left: 640px; width: 618px;}
}
#sec07 .p_02 {position: relative; top: -75px; left: 15vw; color: #505050; line-height: 70px; background: linear-gradient(to bottom, #4760ff, #0dccff); -webkit-background-clip: text; -webkit-text-fill-color: transparent; white-space: nowrap; font-size: 3.2rem;}
#sec07 .p_03 {position: relative; top: -50px; text-align: center;  color: #505050; line-height: 70px; font-size: 1.8rem; }
#sec07 .content02 {position: relative; margin: 0 auto; }
#sec07 .content02 button {position: relative; top: -2vw; left: 25vw; width: 46.7vw; height: 8.8vw; background: #0076fa; border-radius: 84px;}
#sec07 .content02 h3 { text-align: center; color: #fff; line-height: 3.6vw; font-size: 2rem; }
#sec07 .content02 .p_04 { top: 100px; font-size: 1.9rem; letter-spacing: 0.1em; text-align: center;}

@media screen and (max-width:1440px){
#sec07{ margin: 0vw auto 0; height: 138vw; padding: 0;}
#sec07 .back { width: 80vw; height: 8vw; border: 4px solid #fa6a00; border-left: 0px; }
#sec07 .back h2 {position: relative; left: 13vw; width: 60vw; height: 8vw; padding: 2vw 0px; font-size: 2.2rem; }
#sec07 figure {top: -10vw; right: 1vw; width: 30vw; z-index: -2;}
#sec07 figure img { width: 100%; height: auto;}
#sec07 .content { margin:6vw 0; left: 15vw; width: 55vw; height: 21vw; background: #fff; box-shadow: -3px 8px 5px 5px #ffa201;}
#sec07 .content .p_01 { top: -3vw; left: 1vw;  font-size: 3rem;}
#sec07 .content .p_01 span {font-size: 4rem; padding-top: 5px;}
#sec07 .content h3 {top: 4vw; width: 55vw; font-size: 2.2rem; }
#sec07 .content p {top: 10vw; left: 3vw;font-size: 1.3rem; line-height: 3vw; letter-spacing: 0.05em;}
#sec07 .img03 {top: 17vw; left: 58vw; width: 8vw;}
#sec07 .img04 {top: 70.5vw; left: 31.5vw; width: 26vw;}
#sec07 .p_02 { top: -2.5vw; left: 15vw; line-height: 5vw; font-size: 2.8rem;}
#sec07 .p_03 {top: -2.5vw; line-height: 3.5vw; font-size: 1.4rem;}
#sec07 .content02 .p_04 { top: 6vw; font-size: 1.4rem; letter-spacing: 0.1em;}
}
@media screen and (max-width:767px){
#sec07{ margin: 0vw auto 0; height: 245vw}
#sec07 .back { top: -5vw; width: 90vw; height: 12vw; border: 2px solid #fa6a00; border-left: 0px; }
#sec07 .back h2 {position: relative; left: -15vw; width: 100vw; height: 8vw; padding: 3vw 0px; font-size: 1.2rem; }
#sec07 figure {top: -15vw; right: 1vw; width: 30vw; z-index: -2;}
#sec07 figure img { width: 100%; height: auto;}
#sec07 .content { margin:8vw 0; left: 5vw; width: 82vw; height: 35vw; background: #fff; box-shadow: -3px 4px 3px 3px #ffa201;}
#sec07 .content .p_01 { top: -3vw; left: 1vw;  font-size: 1.5rem;}
#sec07 .content .p_01 span {font-size: 2rem; padding-top: 5px;}
#sec07 .content h3 {top: 7vw; width: 90vw; font-size: 1.3rem; }
#sec07 .content p {top: 15vw; left: 2vw; font-size: 0.7rem; line-height: 6vw; letter-spacing: 0.05em;}
#sec07 .img03 {top: 20vw; left: 85vw; width: 13vw;}
#sec07 .img04 {top: 114vw; left: 41.5vw; width: 43vw;}
#sec07 .p_02 { top: 2vw; left: 2vw; line-height: 6vw; font-size: 1.3rem;}
#sec07 .p_03 {top: 1vw; line-height: 3.5vw; font-size: 0.8rem;}
#sec07 .content02 button { top: 5vw; left: 15vw; width: 70vw; height: 10vw;  border-radius: 284px;}
#sec07 .content02 h3 { top: 0vw; font-size: 1rem;}
#sec07 .content02 .p_04 {position: relative; top: 2vw; font-size: 0.8rem;  line-height: 1.8em; letter-spacing: 0.2em;}
}


/*アニメーション*/
.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; }
}





