@charset "utf-8";
html { font-size: 62.5%; font-family: sans-serif }
body { overflow-x: hidden; box-sizing: border-box }
* { box-sizing: border-box }
img { max-width: 100% }
a:hover { opacity: .7 }
.forpc { display: block; margin: 0 auto }
.forsp { display: none }
.container { max-width: 1000px; margin: 0 auto }
.container2 { max-width: 960px; margin: 0 auto; position: relative }
.right { float: right }
.left { float: left }
.clear { clear: both }
.ttl1, .ttl2 { padding: 45px 0 0; margin: 0 auto 20px; text-align: center; background-size: cover }
.ttl2 { background: #45c0bc; margin: 0 auto; padding: 45px 0 }
.border { border-top: 5px solid #e41a1a; border-bottom: 5px solid #e41a1a; padding: 30px 0 }
.border2 { border-top: 5px solid #45c0bc; border-bottom: 5px solid #45c0bc; padding: 30px 0 }
.center { text-align: center }
.margin10 { margin-bottom: 10px }
.margin20 { margin-bottom: 20px }
.margin30 { margin-bottom: 30px }
.margin60 { margin-bottom: 60px }
.bg02 .margin20 { padding: 0 110px 0 0 }
.anm_mod { opacity: 0; transform: translate3d(0, 100%, 0); transition: all 1s ease }
.animation .anm_mod.active { opacity: 1; transform: translate3d(0, 0, 0) }
h1 { font-size: 4.5rem; text-align: center; color: #42c5a7; padding: 0 0 50px }
h2 { font-size: 2.5rem }
p { line-height: 1.8; letter-spacing: 0.04em; font-size: 1.8rem; font-feature-settings: "palt"; text-align: justify; color: #333 }
.big { font-size: 2rem }
.bold { font-weight: bold }
.red { color: #f32778; font-weight: bold }
.under { text-decoration: underline; font-weight: bold }
.under2 { background: linear-gradient(transparent 30%, #fcf88e 30%) }
p.small { font-size: 1.4rem; max-width: 600px; color: #cb1f1f; margin: 20px auto 0 }
footer a { font-size: 1.4rem; color: #FFF; text-decoration: none }
footer p { color: #FFF; text-align: center; margin: 0 auto 0 }
ul.col2 li p { line-height: 1.8; max-width: auto; margin: 0 auto 30px; letter-spacing: 0.04em; font-size: 1.6rem; font-feature-settings: "palt"; text-align: justify }
ul.col2 li p.name { font-size: 2rem; color: #42c5a7; font-weight: bold; margin: 0 auto 0; padding: 0 0 0 10px; border-left: 7px solid #42c5a7 }
strong { font-weight: bold; font-size: 1.7rem }
small { font-weight: bold; font-size: 1.6rem }
ul.col1 li p.name { font-size: 2rem; color: #2e8e9e; font-weight: bold; margin: 0 auto 0; padding: 0 0 0 10px; border-left: 7px solid #2e8e9e }
ul.col1 li p strong { margin: 10px auto; display: block }
ul.col1 li { margin: 0 auto 20px }
.bgW { background: rgba(255, 255, 255, .85); padding: 60px 50px }
.bg01 { background: url(../img/bg01.jpg) no-repeat center; background-size: cover; padding: 20px 0 0 }
.bg02 { background: #3ab825; padding: 60px 0 }
.bg03 { background: url(../img/bg03.jpg) no-repeat center; background-size: cover; min-height: 100vh; background-attachment: fixed; padding: 60px 0 30px }
.bg04 { background: url(../img/bg04.jpg) no-repeat center; background-size: cover; min-height: 100vh; padding: 120px 0 60px }
.bg05 { background: url(../img/bg05.jpg); margin: 0 auto 0; padding-bottom: 60px }
.bg06 { background: url(../img/bg06.jpg) no-repeat center; padding: 0 0 60px; background-size: cover }
.bg07 { background: url(../img/bg07.jpg) no-repeat center; padding: 0 0 60px; background-size: cover }
.bg08 { background: url(../img/bg08.jpg) no-repeat center; padding: 0 0 60px; background-size: cover }
.bg09 { background: url(../img/bg09.jpg) no-repeat center; padding: 0 0 60px; background-size: cover }
.bgsecnew { background: #fdf6db; padding: 30px 0 60px }
#bigTriangleColor path { fill: #FFF; stroke: #FFF; stroke-width: 2 }
header { width: 100%; margin: 0 auto }
header .container { max-width: 800px }
header .under { max-width: 100%; text-align: center; margin: 20px auto 0; padding: 30px 0; background: rgba(30, 160, 130, .5) }
.yycountdown-box { background: red; padding: 15px 0; font-size: 2.5rem; color: #FFF !important; margin: 0 auto !important }
.videoBox { max-width: 600px; margin: 0 auto 20px }
.videoBox2 { margin: 0 auto 10px }
.video { position: relative; width: 100%; padding-bottom: 56.25%; top: 0; right: 0 }
.video iframe { position: absolute; width: 100% !important; height: 100% !important }
.formbox { background: #eefffb; padding: 40px; box-sizing: border-box; box-shadow: 0 0 15px #6ccab4 }
.formbox p { color: #42c5a7;font-size:14px; }
.formbox .formarea { max-width: 780px; margin: 0 auto }
input { font-size: 1.4rem; display: block; margin: 0 auto 20px }
input.formadd { padding: 15px; width: 100%; border: 1px solid #42c5a7 }
input.btn { display: block; text-align: center; margin-bottom: 0 }
.btn:hover { opacity: .7 }
.btnBox { width: 500px; height: 100%; position: relative; overflow: hidden; margin: 0 auto }
.btnBox span { height: 100%; width: 30px; background: #fff; position: absolute; left: 0; opacity: 0; transform: rotate(45deg); animation: shine 3s ease-in-out infinite; -webkit-transform: rotate(45deg); -webkit-animation: shine 3s ease-in-out infinite }
@keyframes shine {
	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 }
}
@-webkit-keyframes shine {
	0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0 }
	80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5 }
	81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1 }
	100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0 }
}
ul.col3 { max-width: 790px; text-align: justify; margin: 0 auto }
ul.col3:after { content: ""; height: 0; line-height: 0; width: 100%; display: inline-block }
ul.col3 li { display: inline-block; width: calc(100% / 3) }
ul.col2 { max-width: 900px; text-align: justify; margin: 0 auto; font-size: 0px; margin-bottom: 40px }
ul.col2:after { content: ""; height: 0; line-height: 0; width: 100%; display: inline-block }
ul.col2 li { display: inline-block; max-width: calc(100% / 2 - 15px); vertical-align: top }
ul.col1 .right { max-width: calc(100% - 200px); margin: 0 auto 0 20px }
.bg04 .right { text-align: right; float: inherit }
.bg04 .right img { margin: 0 0 0 auto }
.bg05 .container img { margin: -60px auto 0 }
.container .textarea { background: rgba(255, 255, 255, .8); box-sizing: border-box; max-width: 900px; padding: 50px; margin: -1px auto }
.voiceBox { border: 10px solid #42c5a7; padding: 30px; box-sizing: border-box; margin: 0 auto 30px }
.voiceBox .left { width: 250px }
.voiceBox .right { width: calc(100% - 280px); margin: 0 auto 0 30px; text-align: justify }
.voiceBox2 .right { width: calc(100% - 0px); margin: 0 auto 0 30px; text-align: justify }
.voiceBox .right h2 { font-size: 2rem; line-height: 1.3; margin: 20px auto; color: #42c5a7 }
.voiceBox .right .name { font-size: 1.8rem; margin: 0 auto; line-height: 1.5; background: #efefef; border-bottom: 1px solid #FFF }
.voiceBox .right .name span { background: #42c5a7; padding: 5px; width: 190px; display: inline-block; color: #FFF; text-align: center; margin: 0 5px 0 0 }
.ttl { font-size: 3rem; text-align: center; padding: 30px 0; background: rgba(255, 255, 255, .8); border-top: 2px solid #ae9f78; border-bottom: 2px solid #ae9f78; font-weight: bold; color: #333; line-height: 1.2 }
.bg06 .textarea, .bg07 .textarea { background: rgba(255, 255, 255, .8); box-shadow: 4px 4px rgba(0, 0, 0, 0.3) }
footer { background: #42c5a7; padding: 20px 0 }
footer a { border-left: 1px solid #fff; border-right: 1px solid #fff; padding: 0 20px; text-align: center }
footer a+a { border-left: 0; border-right: 1px solid #fff }
@media (max-width:768px) {
	html { overflow-x: hidden }
	.forpc { display: none }
	.forsp { display: block }
	.right { float: inherit; display: block; margin: 0 auto 3% }
	.container { width: 94% }
	.ttl1 { padding: 0; margin: 0 0 3% 0 }
	.ttl2 { padding: 4% 0 }
	.center { text-align: center }
	.margin20 { margin-bottom: 2% }
	.margin30 { margin-bottom: 5% }
	.margin60 { margin-bottom: 8% }
	.bg02 .margin20 { padding: 0 0 0 0 }
	.hdimgsp img { width: 20% }
	.hdimgsp img+img { width: 78% }
	header .under { max-width: 100%; text-align: center; margin: 3% auto 0; padding: 3% 1%; background: rgba(30, 160, 130, .5) }
	.yycountdown-box { background: red; padding: 3% 0; font-size: 2rem; color: #FFF !important; margin: 0 auto !important }
	.bg01 { background-size: cover; padding: 3% 0 0; background-position: 80% }
	.bg01in { background: rgba(67, 149, 174, .8); max-width: 97%; padding: 6% 1%; margin: 0 auto }
	.bg02 { padding: 6% 0 }
	.bg02Top { padding: 2% 0 }
	.bg03 { background: url(../img/bg03.jpg) no-repeat; background-size: cover; min-height: auto; background-attachment: inherit; padding: 6% 0 3%; background-position: 70% }
	.bg04 { padding: 12% 0 3%; background-position: 50%; min-height: auto }
	.bg05 { margin: 24% auto 6% }
	.bg06 { background: url(../img/bg06.jpg); padding: 0 0 6%; background-position: 100% }
	.bg07 { padding: 0 0 6% }
	.bg08 { background: url(../img/bg08.jpg) no-repeat center; padding: 0 0 6%; background-size: cover }
	.bg09 { padding: 0 0 6%; background-size: cover }
	.formbox { padding: 4%; box-sizing: border-box; box-shadow: 0 0 15px #6ccab4 }
	input.formadd { padding: 3%; width: 100% }
	input.btn { width: 100% }
	.btnBox { width: 100%; height: 100%; position: relative; overflow: hidden; margin: 0 auto }
	ul.col3 { max-width: 50%; text-align: center; margin: 0 auto }
	ul.col3 li { display: inline-block; margin: 0 auto 8%; width: 100% }
	ul.col3 li:nth-child(3) { margin: 0 auto 0 }
	ul.col2 { max-width: 100%; text-align: justify; margin: 0 auto; font-size: 0px; margin-bottom: 8% }
	ul.col2:after { content: ""; height: 0; line-height: 0; width: 100%; display: inline-block }
	ul.col2 li { display: inline-block; max-width: calc(100% / 1) }
	ul.col1 .right { max-width: calc(100%); margin: 4% auto }
	.left { float: inherit; text-align: center }
	ul.col1 li p.name { font-size: 2rem; color: #2e8e9e; font-weight: bold; margin: 0 auto 0; padding: 0 0 0 10px; border-left: 7px solid #2e8e9e }
	ul.col1 li p strong { margin: 10px auto; display: block }
	ul.col1 li { margin: 0 auto 4% }
	.bg05 .container img { margin: -60px auto 0 }
	.container .textarea { box-sizing: border-box; max-width: 900px; padding: 5%; margin: -1px auto }
	.voiceBox { border: 5px solid #42c5a7; padding: 5%; box-sizing: border-box; margin: 0 auto 30px }
	.voiceBox .left { width: 250px; margin: 0 auto }
	.voiceBox .right { width: calc(100%); margin: 3% auto 0; text-align: justify }
	.voiceBox .right h2 { font-size: 2rem; line-height: 1.3 }
	.voiceBox .right .name { text-align: right; font-size: 1.8rem; margin: 20px auto }
	.ttl { font-size: 2rem; text-align: center; padding: 3%; background: rgba(255, 255, 255, .8); border-top: 2px solid #ae9f78; border-bottom: 2px solid #ae9f78; font-weight: bold; color: #333; line-height: 1.2 }
	.bg06 .textarea, .bg07 .textarea { background: rgba(255, 255, 255, .6); box-shadow: 4px 4px rgba(0, 0, 0, 0.3) }
	.voiceBox .right h2 { margin: 4% auto; color: #42c5a7 }
	.voiceBox .right .name { font-size: 1.5rem; margin: 0 auto; line-height: 1.5; background: #efefef; border-bottom: 1px solid #FFF; text-align: center }
	.voiceBox .right .name span { background: #42c5a7; padding: 1%; width: 100%; display: block; color: #FFF; text-align: center; margin: 0 5px 0 0 }
	h1 { font-size: 2.5rem; text-align: center; color: #42c5a7; padding: 0 0 6%; line-height: 1.2 }
	h2 { font-size: 2.5rem }
	p { line-height: 1.8; letter-spacing: 0.04em; font-size: 1.8rem; font-feature-settings: "palt"; text-align: justify; color: #333 }
	.big { font-size: 1.8rem }
	p { line-height: 1.6; max-width: 770px; letter-spacing: 0.04em; font-size: 1.7rem; font-feature-settings: "palt"; text-align: justify }
	ul.col2 li p { line-height: 1.8; max-width: auto; margin: 0 auto 6%; letter-spacing: 0.04em; font-size: 1.4rem; font-feature-settings: "palt"; text-align: justify }
	ul.col2 li p.name { font-size: 1.6rem; color: #42c5a7; font-weight: bold; margin: 0 auto 0; padding: 0 0 0 5px; border-left: 5px solid #42c5a7 }
	strong { font-weight: bold; font-size: 1.6rem }
	small { font-weight: bold; font-size: 1.4rem }
	ul.col1 li p.name { font-size: 1.6rem; color: #5faebb; font-weight: bold; margin: 0 auto 2%; padding: 0 0 0 10px; border-left: 7px solid #5faebb }
	footer { background: #42c5a7; padding: 20px 0 }
	footer a { border-left: 0px solid #fff; border-right: 0px solid #fff; padding: 0 0 5% 0; text-align: center; display: block; border-bottom: 1px dotted #fff; margin: 0 auto 5%; width: 90% }
	footer a+a { border-left: 0; border-right: 0px solid #fff }
}