@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@1,700&display=swap');

/* CSS Document */
*{ 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: 'Noto Sans JP', sans-serif;
font-weight: 400;
font-size:24px;
text-align:left;
color:#03243a;
background:#fff;
-webkit-text-size-adjust:100%;
overflow-x:hidden;
min-width:750px;
}
@media print, screen and (min-width:1000px){
html,body{ font-size: 18px;}
}

img{ border-style:none; vertical-align:bottom; padding:0; max-width:100%;}
figure{ margin:0 auto; text-align:center;}
 
p{ line-height:1.6em; margin:0 0 1em; padding:0; text-align:left; background:url(../images/alpha.png);}
p:last-child{margin:0px; }
a{ color:inherit; text-decoration: none;}
a:hover{ text-decoration:none;}
.opa { transition:0.3s;}
.opa:hover { opacity: 0.7;}

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

.clear { clear:both;}
.clearfix:after{ margin:0px; padding:0px; visibility:hidden; content:"."; display:block; line-height:0; clear:both;}

.mincho{ font-family: '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'メイリオ', Meiryo, serif;}
h1{ font-weight: 900;}
h2,h3,h4,h5,h6,b, strong, .bold{ font-weight: 700;}


/*ヘッダー*/
#header{ position: relative; background: #fafaf0; padding: 20px 20px 0; text-align: center;}
#header #logo{ text-align: left;}
#header h1{ font-size: 62px; line-height: 1.25em; letter-spacing: 0.05em; color: #0e3755; margin: 30px auto 20px;}
#header h1 strong{ font-size: 42px; line-height: 1em; background: #60ba3c; color: #fff; display: inline-block; padding: 10px 50px; margin-bottom: 10px;}
#header h1 span{ color: #60ba3c;}
@media print, screen and (min-width:1000px){
#header dl{ display: table; table-layout: fixed; width: 900px; margin: 0 auto;}
#header dl dt{ display: table-cell; vertical-align: top; text-align: left;}
#header dl dd{ display: table-cell; vertical-align: top; width: 450px;}
#header h1{ font-size:  47px;}
#header h1 strong{ font-size: 34px; padding: 5px 20px 10px;}
}
#phone{ margin-top: -260px; position: relative; z-index: 3;}
#phone dl{ display: table; table-layout: fixed; width: 100%; padding: 0 20px;}
#phone dl dt{ display: table-cell; vertical-align: top; text-align: center; padding: 0 40px 0 20px;}
#phone dl dd{ display: table-cell; vertical-align: top; width: 290px;}
#phone dl dt p.vol01{ background: #0e3755; color: #fff; font-size: 30px; line-height: 1em; letter-spacing: 0.1em; text-align: center; padding: 20px 20px 30px; border-radius: 24px;}
#phone dl dt p.vol02{ background: #ff3b6e; color: #fff; font-size: 30px; line-height: 1em; letter-spacing: 0.1em; text-align: center; padding: 20px 20px 30px; border-radius: 24px; margin-bottom: 10px;}
#phone dl dt p{ background: #0e3755; color: #fff; font-size: 32px; line-height: 1em; letter-spacing: 0.1em; text-align: center; padding: 20px 20px 30px; border-radius: 24px;}
#phone dl dt p strong{ display: block; font-size: 36px; line-height: 1em; letter-spacing: 0.1em; margin-bottom: 16px;}
@media print, screen and (min-width:1000px){
#phone{ margin-top: -140px;}
#phone dl{ display:flex; flex-direction: row-reverse; align-items: flex-start; width: 900px; margin: 0 auto; padding: 0;}
#phone dl dt{ width: calc(100% - 280px); padding: 45px 0 0 60px;}
#phone dl dd{ width: 280px;}
#phone dl dt p{ font-size: 28px; padding:15px; border-radius: 1em;}
#phone dl dt p strong{ display: inline-block; font-size: 33px; margin: 0;}
}

/*フッター*/
#footer{ background: #03243a; color: #fff; text-align: center; padding:20px; font-size: 20px; font-weight: bold; width: 750px; margin: 0 auto;}
#footer ul{ letter-spacing: -1em; margin-bottom: 20px;}
#footer ul li{ display: inline-block; letter-spacing: 0; vertical-align: middle;}
#footer ul li a{ display: inline-block; vertical-align: middle; padding: 5px;}
#footer ul li:after{ content: ""; width: 2px; height: 20px; display: inline-block; vertical-align: middle; margin:0 30px; background: #fff;}
#footer ul li:last-child:after{ display: none;}
p.copyright{ text-align: center;}
/*固定フッター*/
#footer_fixed{ position: fixed; left: 0; right: 0; bottom: 0; padding: 20px; width: 750px; margin: auto; text-align: center; z-index: 1000;}
@media print, screen and (min-width:1000px){
#footer{ width: 100%;}
#footer_fixed{ width: 100%; background:url("../images/fixed_btn_pc_bg.png") center top repeat-x; padding: 20px;}
}

/*メイン*/
#content{ width:750px; margin:0 auto; min-height: 100vh; background:#fff; box-shadow:rgba(50, 50, 50, 0.2) 0 0 5px 2px;}
section { width:100%; margin:0 auto;}
.maincontent { padding:0 30px 30px; margin:0 auto;}
@media print, screen and (min-width:1000px){
#content{ /*width: 100%;*/ width: 1080px; max-width:1080px;}
.maincontent{ padding: 0 60px 60px;}
}

/*カラー*/
.wh{ color: #fff;}
.blue{ color: #48adfc;}
.pink{ color: #ff649b;}
.grn{ color: #00b900;}
.grn2{ color: #8af68a;}
/*緑色マーカー*/
.bg_grn{ position: relative; z-index: 3;}
.bg_grn:before{ content: ""; width: 100%; height: 0.5em; background: #b5eab5; position: absolute; left:0; right: 0; bottom:0; margin: auto; z-index: -1;}
/*LINEボタン*/
figure.line_btn a{ display: block; text-align: center; font-size: 36px; font-weight: bold; line-height: 1em; border-radius: 50px; padding: 30px; background: #00b900; border-bottom: 6px solid #c2c7cc; color: #fff; position: relative;}
figure.line_btn a span{ position: absolute; right: 40px; font-size: 66.6666%;}
@media print, screen and (min-width:1000px){
figure.line_btn a{ font-size:32px; width: 800px; margin: 0 auto;}
figure.line_btn a span{ right:80px;}
}

/*title*/
h2{ color: #03243a; font-size: 52px; line-height: 1.25em; margin-bottom: 75px;}
h2 strong{ color: #48adfc;}
h2 span.small{ font-size: 36px;}
@media print, screen and (min-width:1000px){
h2{ font-size: 48px; margin-bottom: 50px;}
h2 span.small{ font-size: 32px;}
}

/*plan*/
#plan{ text-align: center; background: #abdafa; margin-top: -220px; padding-bottom: 60px; position: relative; z-index: 5;}
#plan h2{ text-align: center; background: #ff649b; color: #fff; font-size: 48px; line-height: 1em; padding: 20px; margin-bottom: 40px;}
#plan h2 span{ display: inline-block; font-size: 38px; line-height: 1em; background: #fff; color: #ff649b; border-radius: 2em; padding: 10px 30px; margin: 0 5px 15px;}
@media print, screen and (min-width:1000px){
#plan h2{ font-size:42px;}
#plan h2 span{ font-size:36px; margin: 0 5px; padding: 10px 15px;}
}
#plan .plan_list{ width: 670px; height: 350px; margin: 30px auto 60px;; position: relative;}
#plan .plan_list ul li{ position: absolute; background: #ff649b; color: #fff; font-weight: bold; border-radius: 50%; display: flex; align-items: center; justify-content: center;}
#plan .plan_list ul li strong{ text-align: center;}
#plan .plan_list ul li:nth-child(1){ width: 205px; height: 205px; font-size: 30px; line-height: 1.25em; left: 0; top: 20px;}
#plan .plan_list ul li:nth-child(2){ width: 170px; height: 170px; font-size: 25px; line-height: 1.25em; left: 190px; bottom: 30px;}
#plan .plan_list ul li:nth-child(3){ width: 170px; height: 170px; font-size: 25px; line-height: 1.25em; right: 180px; top: 12px;}
#plan .plan_list ul li:nth-child(4){ width: 150px; height: 150px; font-size: 21px; line-height: 1.25em; right: 60px; bottom: 20px;}
#plan .plan_list ul li:nth-child(5){ width: 150px; height: 150px; font-size: 21px; line-height: 1.25em; right: 0; top: 30px;}
#plan .plan_list figure.ico1{ position: absolute; left: 80px; bottom: 0;}
#plan .plan_list figure.ico2{ position: absolute; left: 245px; top: 0;}
#plan .plan_list figure.ico3{ position: absolute; right: 230px; bottom: 40px;}
#plan .plan_list figure.ico4{ position: absolute; right: 5px; bottom: 0;}
@media print, screen and (min-width:1000px){
#plan .plan_list{ width: 900px; height: 350px;}
#plan .plan_list ul li:nth-child(1){ width: 240px; height: 240px; left: 0; top: 20px;}
#plan .plan_list ul li:nth-child(2){ width: 200px; height: 200px; left: 240px; bottom: 30px;}
#plan .plan_list ul li:nth-child(3){ width: 200px; height: 200px; right: 280px; top: 12px;}
#plan .plan_list ul li:nth-child(4){ width: 180px; height: 180px; right: 140px; bottom: 20px;}
#plan .plan_list ul li:nth-child(5){ width: 180px; height: 180px;right: 0; top: 30px;}
#plan .plan_list figure.ico1{ position: absolute; left: 80px; bottom: 0;}
#plan .plan_list figure.ico2{ position: absolute; left: 320px; top: 0;}
#plan .plan_list figure.ico3{ position: absolute; right: 370px; bottom: 40px;}
#plan .plan_list figure.ico4{ position: absolute; right: 10px; bottom: 20px;}
}
#plan h4{ display: inline-block; font-size: 50px; color: #03243a; border-bottom: 2px solid #03243a; margin-bottom: 10px;}
#plan h4 strong{ color: #008dfc}
@media print, screen and (min-width:1000px){
#plan h4{ font-size:45px;}
}
#plan .plan_ex{ width: 590px; margin: 0 auto;}
#plan .plan_ex ul li{ background: #fff; border-radius: 8px; margin: 30px auto; padding: 20px 40px;}
#plan .plan_ex dl{ display: table; table-layout: fixed; width: 100%;}
#plan .plan_ex dl dt{ display: table-cell; vertical-align: middle; text-align: center; width: 110px;}
#plan .plan_ex dl dt span{ display: block; font-size: 28px; font-weight: bold; line-height: 1.1em; margin-top: 10px;}
#plan .plan_ex dl dd{ display: table-cell; vertical-align: middle; padding-left: 20px; text-align: center;}
#plan .plan_ex dl dd p{ text-align: center; font-size: 28px; font-weight: bold; line-height: 1.25em; margin-bottom: 5px;}
#plan .plan_ex dl dd span.arrow{ display: inline-block; margin: 10px auto 5px; width: 0; height: 0; border-style: solid; border-width: 23px 12.5px 0 12.5px; border-color: #03243a transparent transparent transparent;}
#plan .plan_ex dl dd p.price{ font-size: 34px; line-height: 1em; color: #ff649b;}
#plan .plan_ex dl dd p.price strong{ display: inline-block; font-size: 46px; line-height: 1em; margin-left: 10px;}
#plan .plan_ex dl dd p.off{ background: #ff649b; color: #fff; border-radius: 1em; padding: 2px 6px 6px; margin-top: 10px;}
@media print, screen and (min-width:1000px){
#plan .plan_ex{ width: 900px; margin: 0 auto;}
#plan .plan_ex ul li{ border-radius: 20px; margin: 20px auto;}
#plan .plan_ex dl dt{ width: 160px;}
#plan .plan_ex dl dt span{ font-size: 24px;}
#plan .plan_ex dl dd{ padding-left: 40px;}
#plan .plan_ex dl dd p{ letter-spacing: 0.1em;}
}


/*sec01*/
#sec01{ position: relative; z-index: 5; background: #48adfc; color: #fff; padding: 60px 0 75px;}
#sec01:before{ content: ""; width: 100%; height: 52px; background: url("../images/wave02_1.png") center top no-repeat; background-size: 100% 100%; position: absolute; left: 0; right: 0; top: -50px;}
#sec01:after{ content: ""; width: 100%; height: 52px; background: url("../images/wave02_2.png") center top no-repeat; background-size: 100% 100%; position: absolute; left: 0; right: 0; bottom: -50px;}
#sec01 ul{ width: calc(100% + 12px); margin-left: -6px; letter-spacing: -1em;}
#sec01 ul li{ display: inline-block; vertical-align: top; width: calc(50% - 12px); margin: 18px 6px;}
#sec01 p.notice{ text-align: right; font-size: 20px; font-weight: bold; color: #03243a;}
@media print, screen and (min-width:1000px){
#sec01:before{ background: url("../images/wave02_1_pc.png") center top no-repeat; background-size: 100% 100%;}
#sec01:after{ background: url("../images/wave02_2_pc.png") center top no-repeat; background-size: 100% 100%;}
#sec01{ padding: 50px 0;}
#sec01 .maincontent{ padding: 0;}
#sec01 ul{ width:100%; margin: 0; padding: 0 10px;}
#sec01 ul li{ width: calc(25% - 20px); margin: 0 10px;}
#sec01 p.notice{ font-size:16px; margin: 10px 20px 0;}
}


/*sec02*/
#sec02{ padding: 120px 0 170px;}
#trouble ul li{ background: #e6f0f7; margin: 10px auto; padding: 60px 0; position: relative;}
#trouble ul li:nth-child(1){ padding: 60px 0;}
#trouble ul li:nth-child(2){ padding: 20px 0;}
#trouble ul li:nth-child(3){ padding: 20px 0;}
#trouble ul li:nth-child(4){ padding: 40px 0;}
#trouble ul li:nth-child(2n+1) figure{ text-align: right;}
#trouble ul li:nth-child(2n) figure{ text-align: left;}
#trouble ul li dl{ display: inline-block; position: absolute; top: 50%; transform: translateY(-50%);}
#trouble ul li:nth-child(2n+1) dl{ left: 20px; text-align: left;}
#trouble ul li:nth-child(2n) dl{ right: 20px; text-align: right;}
#trouble ul li dl dt{ margin-bottom: 10px; display: inline-block; font-size: 28px; font-weight: bold; line-height: 1em; padding-bottom: 0.25em; position: relative;}
#trouble ul li dl dt:after{ content: ""; width: 100%; height: 2px; background: #03243a; position: absolute; left: 0; right: 0; bottom: 0; margin: auto;}
#trouble ul li dl dt strong{ color: #48adfc; font-size: 36px; line-height: 1em;}
#trouble ul li dl dd li{ text-align: left; background: none; padding: 0 0 0 1.5em !important; line-height: 1.5em; margin:5px auto; position: relative;}
#trouble ul li dl dd li:before{ content: "■"; position: absolute; left: 0; top: 0;}
@media print, screen and (min-width:1000px){
#sec02{ padding: 100px 0 150px;}
#trouble ul li{ padding:45px 0;}
#trouble ul li:nth-child(1){ padding: 45px 60px;}
#trouble ul li:nth-child(2){ padding: 15px 60px;}
#trouble ul li:nth-child(3){ padding: 15px 60px;}
#trouble ul li:nth-child(4){ padding: 30px 60px;}
#trouble ul li:nth-child(2n+1) dl{ left: 60px; text-align: left;}
#trouble ul li:nth-child(2n) dl{ right: 60px; text-align: right;}
#trouble ul li dl dt{ font-size:32px;}
#trouble ul li dl dt strong{ font-size:42px;}
#trouble ul li dl dd li{ font-size: 21px;}
}

#sec02 .arrow{ margin: 40px auto;}
#sec02 h3{ font-size: 28px; line-height: 1.5em; text-align: center; margin-bottom: 20px; position: relative; z-index: 5}
#sec02 h3 strong{ display: block; font-size: 48px; line-height: 1em; color: #ff649b;}
#sec02 h3:before{ content: ""; width: 59px; height: 109px; background: url("../images/sec02_h3_ico1.png") center center; background-size: 100%; position: absolute; bottom: -40px; left:20px;}
#sec02 h3:after{ content: ""; width: 59px; height: 109px; background: url("../images/sec02_h3_ico2.png") center center; background-size: 100%; position: absolute; bottom: -40px; right:20px;}
#sec02 #staff{ background: #ffd6e4; padding: 60px 0 20px; margin-bottom: 120px; position: relative;}
#sec02 #staff h4{ font-size: 36px; line-height: 1em; margin-bottom: 40px;}
#sec02 #staff h4 span{ font-size: 28px;}
#sec02 #staff p{ width:420px; margin: 0; position: relative; z-index: 3;}
#sec02 #staff p span{ background: #fff; font-size: 28px; line-height: 1.75em;}
#sec02 #staff figure{ position: absolute; right: 50px; bottom: -50px;}
@media print, screen and (min-width:1000px){
}

#sec02 #professional p{ text-align: center; font-weight: bold;}
#sec02 #professional p span.line{ display: inline-block; font-size: 36px; line-height: 1em; position: relative;}
#sec02 #professional p span.line:before{ content: ""; width: 100%; height: 2px; background: #48adfc; position: absolute; left: 0; right: 0; bottom: -10px;}
#sec02 #professional p span.line:after{ content: ""; width: 100%; height: 2px; background: #48adfc; position: absolute; left: 0; right: 0; bottom: -18px;}
#sec02 #professional p.big{ font-size: 36px; line-height: 2em;}
#sec02 #professional p.big strong{ font-size: 48px;}
#sec02 #professional p.big strong span{ font-size: 36px;}
@media print, screen and (min-width:1000px){
}


/*sec03*/
#sec03{ background: #48adfc; padding: 60px 0 120px; text-align: center; position: relative; z-index: 5;}
#sec03:before{ content: ""; width: 100%; height: 52px; background: url("../images/wave02_1.png") center top no-repeat; background-size: 100% 100%; position: absolute; left: 0; right: 0; top: -50px;}
#sec03:after{ content: ""; width: 100%; height: 52px; background: url("../images/wave02_2.png") center top no-repeat; background-size: 100% 100%; position: absolute; left: 0; right: 0; bottom: -50px;}
#sec03 h2{ text-align: center;}
#sec03 h2 strong{ color: #fff;}
#sec03 p.lead{ font-size: 36px; font-weight: bold; line-height: 1.5em; margin:30px auto; text-align: center;}
#sec03 ul.service{ display: table; table-layout: fixed; width: calc(100% + 30px); margin-left: -15px; border-collapse: separate; border-spacing: 15px 0;}
#sec03 ul.service li{ display: table-cell; vertical-align: middle; background: #fff; padding: 30px 15px;}
#sec03 ul.service li figure{ margin-bottom: 15px;}
#sec03 ul.service li p{ font-size: 28px; font-weight: 700; line-height: 48px; text-align: center;}
#sec03 ul.service li p strong{ font-size: 36px;}
#sec03 .arrow{ margin: 20px auto;}
#sec03 .sec03_h3{ display: inline-block; margin: 0 auto 80px;}
#sec03 .sec03_h3 h3{ text-align: center; font-size: 36px; line-height: 1.75em;}
#sec03 .sec03_h3 h3 strong{ font-size: 48px;}
#sec03 .sec03_h3 p.notice{ text-align: right; font-size: 20px; line-height: 1em; margin-top: 0.5em;} 
#sec03 #sec03_logo{ background: #f0f6fa;}
#sec03 #sec03_logo ul{ letter-spacing: -1em; padding: 40px 22px;}
#sec03 #sec03_logo ul li{ display:inline-block; vertical-align: middle; letter-spacing: 0; margin: 20px 8px; width: calc(33.3333% - 16px); font-size: 28px; line-height: 1em;}
#sec03 #sec03_logo ul li:first-child{ border-left: 5px solid #03243a;}
#sec03 #sec03_logo ul li p{ text-align: center; font-size: 28px; line-height: 1.5em;}
#sec03 #sec03_logo ul li:nth-child(5) p{ line-height: 3em;}
@media print, screen and (min-width:1000px){
#sec03{ padding: 50px 0 100px;}
#sec03:before{ background: url("../images/wave02_1_pc.png") center top no-repeat; background-size: 100% 100%;}
#sec03:after{ background: url("../images/wave02_2_pc.png") center top no-repeat; background-size: 100% 100%;}
#sec03 .sec03_h3 h3{ font-size:32px;}
#sec03 .sec03_h3 h3 strong{ font-size:45px;}
#sec03 #sec03_logo ul{ padding:25px 50px;}
#sec03 #sec03_logo ul li{ margin:25px; width: calc(33.3333% - 50px);}
#sec03 #sec03_logo ul li p{ font-size: 21px; line-height: 1.25em; margin-top: 0.5em;}
#sec03 #sec03_logo ul li p br{ display: none;}
#sec03 #sec03_logo ul li:nth-child(5) p{ line-height: 1.25em;}
}

/*sec03-addsection*/
#sec03 .maincontent:first-child{ padding-bottom: 0;}
#sec03 ul figure.arrow{ margin: 60px auto;}
#sec03 ul li{ background: #fff; padding: 60px 20px; position: relative;}
#sec03 ul li dl dt{ position: absolute; left: 0; top: 0; z-index: 1; overflow: hidden; color: #fff; font-family: 'Roboto', sans-serif; font-style: italic; font-size: 28px; line-height: 1em; text-align: left; padding: 15px 60px 60px 15px;}
#sec03 ul li dl dt strong{ font-size: 48px; display:block; margin-top: 5px;}
#sec03 ul li dl dt:after{ content: ""; position: absolute; left: 0; top: 0; background: #ff649b; width: 100%; height: 100%; z-index: -1; transform: skewX(-45deg); transform-origin: left top;}
#sec03 ul li p{ text-align: center; font-size: 36px; font-weight: 700; line-height: 1.5em;}
#sec03 ul li figure.btn a{ display: block; color: #fff; background: #00b900; font-size: 36px; font-weight: 700; line-height: 1em; padding: 1em; border-radius: 2em;}


/*sec04*/
#sec04{ padding: 120px 0 180px;}
#sec04 h2{ margin-bottom: 0;}
#point h3{ font-family: 'Roboto', sans-serif; font-style: italic; color: #48adfc; font-size: 36px; line-height: 1em; display: inline-block; margin-bottom: 35px; position: relative;}
#point h3 strong{ font-size: 48px;}
#point h3:after{ content: ""; width: 100%; height: 2px; background: #48adfc; position: absolute; left: 0; right: 0; bottom: -5px;}
#point h4{ font-size: 36px; letter-spacing: 0.1em; line-height: 1.5em; margin-bottom: 15px; font-feature-settings: "palt";}
#point h4 strong{ font-size: 48px; letter-spacing: -0.025em; color: #48adfc;}
#point h4 strong.grn{ color: #00b900;}
#point p{ font-size: 28px; line-height: 1.75em; width: 450px; font-feature-settings: "palt"; padding: 10px; margin: 0 auto 0 0;}
#point ul li:nth-child(2n) p{ margin: 0 0 0 auto; background: none; width: 420px; padding: 0;}
@media print, screen and (min-width:1000px){
#sec04{ padding: 100px 0 50px;}
#point h3{ font-size:32px; margin-bottom:30px;}
#point h3 strong{ font-size:42px;}
#point h4{ font-size:32px;}
#point h4 strong{ font-size:42px;}
#point p{ font-size:21px; width:720px; padding: 10px;}
#point ul li:nth-child(2n) p{ width:700px;}
}

#point2_box{ background: #fff; margin: 40px auto 0; padding: 30px 15px; text-align: center;}
#point2_box h6{ display: inline-block; position: relative; margin-bottom: 30px;}
#point2_box h6:after{ content: ""; width: 100%; height: 2px; background: #03243a; position: absolute; left: 0; right: 0; bottom: -5px;}
#point2_box h5{ font-size: 36px; line-height: 1.5em; margin-bottom: 20px;}
#point2_box h5 strong{ color: #ff649b;}
#point2_box_in{ display: table; width: 100%; padding: 0 20px;}
#point2_box_in p{ display: table-cell; vertical-align: middle;}
#point2_box_in figure{ display: table-cell; vertical-align: middle; width: 240px; text-align: center;}
@media print, screen and (min-width:1000px){
#point2_box{ margin:50px auto 0; padding:25px 25px;}
#point2_box h5{ font-size:32px;}
#point2_box_in{ padding: 0 25px;}
#point2_box_in figure{ width:200px;}
}

#point ul li{ padding: 60px 30px; overflow: hidden;}
#point ul li:nth-child(2n+1){ background: #fff;}
#point ul li:nth-child(2n){ background: #f0f6fa; text-align: right; margin: 0 30px; padding: 60px 15px;}
#point dl{ position: relative;}
#point dl dt{ position: relative; z-index: 3;}
#point dl dd{ position: absolute;}
#point ul li:nth-child(1) dl dd{ right: -90px; top: 45px;}
#point ul li:nth-child(2) dl dd{ left: -60px; top: 90px;}
#point ul li:nth-child(3) dl dd{ right: -150px; top: 20px;}
#point ul li:nth-child(4) dl dd{ left: -250px; top: 30px;}
#point ul li:nth-child(5) dl dd{ right: -15px; top: 0;}
#point ul li:nth-child(6) dl dd{ left: -35px; top: 60px;}
#point ul li:nth-child(6) h4 strong{ font-size: 45px;}
@media print, screen and (min-width:1000px){
#point ul li{ padding: 50px 50px;}
#point ul li:nth-child(2n){ margin:0 25px; padding: 50px 25px;}
#point ul li:nth-child(1) dl dd{ right: 0; top: -50px;}
#point ul li:nth-child(2) dl dd{ left: 0; top: 0;}
#point ul li:nth-child(2) dl dt p{ display: inline-block; width: auto;}
#point ul li:nth-child(3) dl dd{ right: -100px; top: -35px;}
#point ul li:nth-child(4) dl dd{ left: -180px; top: -25px;}
#point ul li:nth-child(4) dl dt p{ display: inline-block; width: auto;}
#point ul li:nth-child(5) dl dd{ right: 50px; top: -30px;}
#point ul li:nth-child(6) dl dd{ left: 50px; top: -25px;}
#point ul li:nth-child(6) h4 strong{ font-size: 45px;}
#point ul li:nth-child(6) dl dt p{ display: inline-block; width: auto;}
}


/*sec05*/
#sec05{ background: #48adfc; padding: 60px 0 120px; text-align: center; position: relative; z-index: 5;}
#sec05:before{ content: ""; width: 100%; height: 52px; background: url("../images/wave02_1.png") center top no-repeat; background-size: 100% 100%; position: absolute; left: 0; right: 0; top: -50px;}
#sec05:after{ content: ""; width: 100%; height: 52px; background: url("../images/wave02_2.png") center top no-repeat; background-size: 100% 100%; position: absolute; left: 0; right: 0; bottom: -50px;}
#sec05 h2{ line-height: 1.25em; margin-bottom:30px;}
#sec05 h2 strong{ color: #fff;}
#sec05 h3{ font-size: 28px; line-height: 1em; margin: 75px auto 30px;}
#sec05 h3 strong{ color: #fff; font-size: 36px; line-height: 1em; margin-bottom: 1em; display: inline-block; position: relative;}
#sec05 h3 span{ display: inline-block; position: relative;}
#sec05 h3 strong:after,
#sec05 h3 span:after{ content: ""; width: 100%; height: 2px; background: #03243a; position: absolute; left: 0; right: 0; bottom: -10px;}
@media print, screen and (min-width:1000px){
#sec05{ padding: 50px 0 100px;}
#sec05:before{ background: url("../images/wave02_1_pc.png") center top no-repeat; background-size: 100% 100%;}
#sec05:after{ background: url("../images/wave02_2_pc.png") center top no-repeat; background-size: 100% 100%;}
}

#sec05 table{ margin: 45px auto 30px; table-layout: fixed; width: 100%; border-collapse: separate; border-spacing: 2px; font-weight: 700; text-align: left;}
#sec05 table.follow{ margin-bottom: 45px;}
#sec05 table thead th{ padding: 60px 10px 15px; position: relative;}
#sec05 table thead th:before{ content: ""; width: calc(100% + 4px); height: 52px; background: #48adfc; position: absolute; left: -2px; top: -2px; border-bottom: none;}
#sec05 table thead th:nth-child(2){ padding: 30px 15px;}
#sec05 table thead th:nth-child(2):before{ display: none;}
#sec05 table th{ background: #03243a; color: #fff; padding: 30px 10px; vertical-align: middle; font-size: 26px; line-height:1.25em;}
#sec05 table th:first-child{ width: 140px;}
#sec05 table td{ background: #fff; color: #03243a; padding: 30px 10px; vertical-align: middle; font-size: 26px; line-height:32px;}
#sec05 table td.top{ vertical-align: top;}
#sec05 table th:nth-child(2){ font-size: 32px; line-height:1.25em; background: #ff649b;}
#sec05 table td:nth-child(2){ font-size: 32px; line-height:32px; color: #ff649b; background: #fffff5;}
#sec05 table th span{ display: inline-block; font-size: 20px; line-height: 1.25em;}
#sec05 table td span{ display: inline-block; font-size: 22px; line-height: 1.25em;}
#sec05 table td small{ display: inline-block; font-size: 17px; line-height: 1.25em; margin-top: 0.25em;}
@media print, screen and (min-width:1000px){
#sec05 table{ margin: 50px auto 30px;}
#sec05 table.follow{ margin-bottom: 30px;}
#sec05 table thead th{ padding: 60px 20px 20px;}
#sec05 table thead th:nth-child(2){ padding: 30px 20px; width: 320px;}
#sec05 table th:first-child{ width: 180px;}
#sec05 table td{ padding: 20px 20px;}
#sec05 table td small{ font-size: 16px;}
}
#sec05 h4{ text-align: center; font-size: 28px; line-height: 2em; margin: 30px auto 45px;}
#sec05 h4 strong{ font-size: 40px; color: #fff;}
@media print, screen and (min-width:1000px){
#sec05 h4{ font-size: 24px; margin: 30px auto 60px;}
#sec05 h4 strong{ font-size: 36px;}
}

#sec05 dl#sec05_txt p{ text-align: center; line-height: 2em; font-weight: 700;}
#sec05 dl#sec05_txt dt{ margin-bottom:0;}
#sec05 dl#sec05_txt dt span{ display: inline-block; color: #fff; position: relative;}
#sec05 dl#sec05_txt dt span:before{ content: ""; width: 6px; height: 6px; background: #fff; border-radius: 50%; position: absolute; left: 0; right: 0; top: 0; margin: auto;}
#sec05 dl#sec05_txt dd{ font-size: 48px; font-weight: 700;}
#sec05 dl#sec05_txt dd strong{ display: inline-block; line-height: 1em; padding: 0.25em; margin-right: 0.25em; background: #fff;}
@media print, screen and (min-width:1000px){
#sec05 dl#sec05_txt p{ line-height: 1.75em;}
#sec05 dl#sec05_txt dt p{ font-size: 24px;}
}


/*sec06*/
#sec06{ padding: 120px 0 170px;}
#sec06 ul li:nth-child(2n+1){ background: #f0f6fa;}
#sec06 ul li{ padding: 75px 30px;}
#sec06 dl{ display: flex; align-items: flex-start; margin-bottom: 30px;}
#sec06 dl dt{ width: 200px;}
#sec06 dl dd{ width: calc(100% - 200px); padding: 0 20px;}
#sec06 ul li:nth-child(2n+1) dl dd{ padding-right: 0;}
#sec06 ul li:nth-child(2n) dl dd{ padding-left: 0;}
#sec06 dl dd p.blue{ font-weight: 700; margin-bottom: 0.25em;}
#sec06 ul li:nth-child(2n) dl{ flex-direction: row-reverse;}
@media print, screen and (min-width:1000px){
#sec06{ padding: 100px 0 100px;}
#sec06 ul li{ padding: 50px 100px;}
#sec06 dl{ margin-bottom:50px; align-items: center;}
#sec06 dl dt{ width: 200px;}
#sec06 dl dd{ padding: 0 50px;}
#sec06 ul li:nth-child(2n) dl{ flex-direction: row-reverse;}
#sec06 ul li p{ font-size: 20px;}
#sec06 ul li dl dd p{ font-size: 24px;}
}


/*sec07*/
#sec07{ background: #48adfc; padding: 60px 0 120px; text-align: center; position: relative; z-index: 5;}
#sec07:before{ content: ""; width: 100%; height: 52px; background: url("../images/wave02_1.png") center top no-repeat; background-size: 100% 100%; position: absolute; left: 0; right: 0; top: -50px;}
#sec07:after{ content: ""; width: 100%; height: 52px; background: url("../images/wave02_2.png") center top no-repeat; background-size: 100% 100%; position: absolute; left: 0; right: 0; bottom: -50px;}
#sec07 h2{ text-align: center; color: #fff;}
#sec07 ul figure.arrow{ margin: 60px auto;}
#sec07 ul li{ background: #fff; padding: 60px 20px; position: relative;}
#sec07 ul li dl dt{ position: absolute; left: 0; top: 0; z-index: 1; overflow: hidden; color: #fff; font-family: 'Roboto', sans-serif; font-style: italic; font-size: 28px; line-height: 1em; text-align: left; padding: 15px 60px 60px 15px;}
#sec07 ul li dl dt strong{ font-size: 48px; display:block; margin-top: 5px;}
#sec07 ul li dl dt:after{ content: ""; position: absolute; left: 0; top: 0; background: #ff649b; width: 100%; height: 100%; z-index: -1; transform: skewX(-45deg); transform-origin: left top;}
#sec07 ul li p{ text-align: center; font-size: 36px; font-weight: 700; line-height: 1.5em;}
#sec07 ul li figure.btn a{ display: block; color: #fff; background: #00b900; font-size: 36px; font-weight: 700; line-height: 1em; padding: 1em; border-radius: 2em;}
#sec07 .sec07_comment{ display: table; table-layout: fixed; width: 100%; margin: 30px auto;}
#sec07 .sec07_comment_l{ display: table-cell; vertical-align: top; padding: 0 22.5px;}
#sec07 .sec07_comment_r{ display: table-cell; vertical-align: top; padding: 45px 22.5px 0;}
#sec07 .sec07_comment p{ margin-bottom: 30px; background: #ffd6e4; border-radius: 10px; padding: 15px 20px; font-size: 24px; line-height: 1.5em; text-align: left;position: relative;}
#sec07 .sec07_comment p:after{ content: ""; width: 19px; height: 25px; background: url("../images/sec07_ico1.png"); background-size: 100%; position: absolute; right: -19px; top: 15px;}
#sec07 .sec07_comment p.even{ background: #deeefa;}
#sec07 .sec07_comment p.even:after{ background: url("../images/sec07_ico2.png"); background-size: 100%;}
@media print, screen and (min-width:1000px){
#sec07:before{ background: url("../images/wave02_1_pc.png") center top no-repeat; background-size: 100% 100%;}
#sec07:after{ background: url("../images/wave02_2_pc.png") center top no-repeat; background-size: 100% 100%;}
#sec07{ padding:50px 0 100px;}
#sec07 ul figure.arrow{ margin:50px auto;}
#sec07 ul li{ padding:50px 50px;}
#sec07 .sec07_comment{ margin:25px auto;}
#sec07 .sec07_comment_l{ padding: 0 25px;}
#sec07 .sec07_comment_r{ padding:50px 25px 0;}
#sec07 .sec07_comment p{ margin-bottom:25px; padding:15px; font-size: 24px;}
}


/*sec08*/
#sec08{ padding: 120px 0 40px;}
#qanda dl dt{ background: #f0f6fa; padding: 30px; line-height: 1em; font-weight: 700;}
#qanda dl dt strong{ font-size: 36px;}
#qanda dl dd{ background: #fff; padding: 30px; line-height: 1em;}
@media print, screen and (min-width:1000px){
#sec08{ padding:100px 0 50px;}
#qanda dl dt{ padding:25px 50px; font-size: 24px;}
#qanda dl dt strong{ font-size:48px;}
#qanda dl dd{ padding:25px 105px; font-size: 24px;}
}



@media print, screen and (min-width:1000px){
.smp{ display:none !important;}
}
@media screen and (max-width:999px){
.pc{ display:none !important;}
}