@charset "utf-8";
/*  */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Noto+Serif+JP:wght@400;500;600;700;900&display=swap');
.serif{
	font-family:'Noto Serif JP' ,"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}
.sans{
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.hiragino{
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
/*------------------------------
リセットCSS
------------------------------*/
html, body, div, 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, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	line-height:0px;
}
nav ul,
ul {
	list-style-image: none;
	list-style-type: none;
}
blockquote, q {
	quotes:none;
}
a {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	text-decoration: none;
}
ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
hr {
	display:block;
	height:1px;
	border:0;
	border-top:1px solid #cccccc;
	margin:1em 0;
	padding:0;
	clear: both;
	float: none;
	width: 100%;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}
html {
	box-sizing: border-box;
	font-size: 62.5%;
	transition:all .5s ;
	-moz-transition:all .5s ;
	-webkit-transition:all .5s ;
	scroll-behavior: smooth;
}
body{
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.wrapper{
	overflow:hidden;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	position:relative;
}
h1, h2, h3, h4, h5, h6, p , ul , ol , li , a{
	font-size: 1.6rem;
	line-height: 1.65em;
}
/*------------------------------
基本
------------------------------*/
.inner {
	width: calc(100% - 6rem);
	margin: 0 auto;
	max-width:1000px;
	padding:0 3rem;
}
.inner1060{
	margin: 0 auto;
	max-width:1060px;
}
.flex{
	display:flex;
}
.flex_column{
	display:flex;
	flex-direction: column;
}
.white_c{
	color:#FFF;
}
.yellow{
	color:#fff153;
}
.lightblue{
	color:#00b1ed;
}
.lightblue_bg{
	background-color:#00b1ed;
}
.font_italic{
	font-style:italic;
}
.font_80{
	font-size:80%;
}
.font_120{
	font-size:120%;
}
.font_130{
	font-size:130%;
}
.font_140{
	font-size:140%;
}
.font_150{
	font-size:150%;
}
.font_160{
	font-size:160%;
}
.font_180{
	font-size:180%;
}
.font_230{
	font-size:230%;
}
.font_270{
	font-size:270%;
}
.t_align_c{
	text-align:center;
}
.ml_m03{
	margin-left:-0.3em;
}
.ml_m05{
	margin-left:-0.5em;
}
.ml_m08{
	margin-left:-0.8em;
}
.ml_m10{
	margin-left:-1em;
}
.ml_10{
	margin-left:1em;
}
.mr_03{
	margin-right:0.3em;
}
.mr_05{
	margin-right:0.5em;
}
.mr_08{
	margin-right:0.8em;
}
.mr_m05{
	margin-right:-0.5em;
}
.mr_m03{
	margin-right:-0.3em;
}
.mb_10{
	margin-bottom:1rem;
}
.mb_20{
	margin-bottom:2rem;
}
.mb_30{
	margin-bottom:3rem;
}
.mb_40{
	margin-bottom:4rem;
}
.mb_50{
	margin-bottom:5rem;
}
.mb_60{
	margin-bottom:6rem;
}
.mb_80{
	margin-bottom:8rem;
}
.mb_100{
	margin-bottom:10rem;
}
.mb_120{
	margin-bottom:12rem;
}
.mt_10{
	margin-top:1rem;
}
.mt_20{
	margin-top:2rem;
}
.mt_30{
	margin-top:3rem;
}
.mt_40{
	margin-top:4rem;
}
.mt_50{
	margin-top:5rem;
}
.mt_80{
	margin-top:8rem;
}
.pt_10{
	padding-top:1rem;
}
.pt_10{
	padding-top:1rem;
}
.pt_20{
	padding-top:2rem;
}
.pt_30{
	padding-top:3rem;
}
.pt_40{
	padding-top:4rem;
}
.pt_50{
	padding-top:5rem;
}
.pt_80{
	padding-top:8rem;
}
.pt_100{
	padding-top:10rem;
}
.pb_10{
	padding-bottom:1rem;
}
.pb_20{
	padding-bottom:2rem;
}
.pb_30{
	padding-bottom:3rem;
}
.pb_40{
	padding-bottom:4rem;
}
.pb_50{
	padding-bottom:5rem;
}
.pb_80{
	padding-bottom:8rem;
}
.pb_100{
	padding-bottom:10rem;
}
.red{
	color:#D52427;
}
.letter_s05{
	letter-spacing:0.05rem;
}
.letter_s1{
	letter-spacing:1px;
}
.letter_s2{
	letter-spacing:2px;
}
.letter_sm1{
	letter-spacing:-0.05rem;
}
.letter_sm2{
	letter-spacing:-1px;
}
.t_nowrap{
	white-space:nowrap;
}
.f_bold{
	font-weight:bold;
}
.width_0{
	width:0;
	display:inline-block;
}
/************
PC共通
********/
.tite_rap{
	padding:1.6rem 0 2.2rem;
}
.zenk_h2_title{
	text-align:center;
	padding-right:2em;
	display:inline-block;
	background:url(img/title_kazari.png) no-repeat top 0.4rem right;
	background-size:auto;
	background-color:#00b1ed;
	font-size:3.6rem;
}
.under_tenten{
	position:relative;
	display:inline-block;
	top:0.3em;
}
.font_16{
	font-size:1.6rem;
	font-weight:500;
}
/**************
effect-fade
************/
.effect-fade_up {
	opacity : 0;
	transform : translate(0, 150px);
	transition : 0.5s;
}
.effect-fade_up_pc {
	opacity : 0;
	transform : translate(0, 150px);
	transition : 0.5s;
}
.effect-fade.effect-scroll , .effect-scroll {
	opacity : 1;
	transform : translate(0, 0);
}
/**************
時差
************/
.effect{
	transition-delay:200ms;
}
.effect02{
	transition-delay:400ms;
}
.effect03{
	transition-delay:600ms;
}
/**********
header
**********/
.wrapper{
	padding-top:8em;
}
.header{
	position:fixed;
	top:0;
	background-color:#FFF;
	width:100%;
	height:8rem;
	box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.08);
	z-index:20;
	padding-top:0.4rem
}
.header .inner{
	align-items: center;
	justify-content: space-between;
	align-items: center;
}
.header .inner .flex{
	align-items: center;
}
.header h1{
	margin-right:0.6rem;
}
.header h3{
	background-color:#00b0ed;
	border-radius:50%;
	color:#FFF;
	font-size:1.2rem;
	font-weight:500;
	height:6.5rem;
	width:6.5rem;
	min-width:6.5rem;
	display: grid;
	align-items: center;
	justify-content: center;
	line-height:1.4em;
	margin-right: 7rem;
}
.wrapper .header .line_logo, .wrapper .header .mail_logo, .wrapper .header .mobile_logoo{
	width:6.5rem;
	height:6.5rem;
	border-width:4px;
	min-width:6.5rem;
}
.line_logo, .mail_logo, .mobile_logo{
	box-sizing:border-box;
	width:8.2rem;
	height:8.2rem;
	min-width:8.2rem;
	border-radius:1.4rem;
	padding:0.6rem;
	display: grid;
	align-items: center;
	justify-content: center;
	margin-right:1.4rem;
}
.line_logo{
	border:6px solid #a6e7a6;
}
.line_logo img{
	max-width:4.1rem;
}
.mail_logo{
	border:6px solid #aab7d3;
}
.mail_logo img{
	max-width:3.7rem;
}
.mobile_logo{
	border:6px solid #cceffc;
}
.mobile_logo img{
	max-width:2.8rem;
}
.freephone_logo{
	width:5.9rem;
	height:3.4rem;
	margin-right: 0.2em;
}
.header h5{
	margin-top:-0.6rem;
	min-width:28.5rem;
	font-size:3.2rem;
	font-weight: 900;
	display: flex;
	align-items: center;
	line-height:1.4em;
}
.header h5 a{
	font-size:3.2rem;
	color:#000;
}
.header p{
	margin-top:-0.4rem;
	font-weight:bold;
	font-size:128%;
}
/****
cta
****/
.cta{
	margin-top: -0.4rem;
	text-align:center;
	padding:5rem 0;
}
.cta h2{
	position:relative;
	font-size:2.4rem;
	margin-bottom:3rem;
}
.cta h2:before , .cta h2:after{
	position: absolute;
	content: '';
	top: 0;
	height:10rem;
	border-left:1px solid #000;
	height: 5rem;
}
.cta h2:before {
	left:11rem;
	transform: rotate(315deg);
}
.cta h2:after {
	right:11rem;
	transform: rotate(45deg);
}
.cta h5 {
	font-size:4rem;
	font-weight:900;
	line-height:1.2em;
}
.cta h5 a{
	font-size:4rem;
	color:#000;
	line-height:1.2em;
}
.cta p{
	font-size:1.5rem;
	font-weight:900;
}
.cta .flex{
	padding:0 2rem;
	justify-content: space-between;
}
.cta .flex div{
	margin-right:2.5rem;
}
.cta .line_logo , .cta .mail_logo{
	display:flex;
	height:7.2rem;
	width:auto;
	color:#FFF;
	padding:0;
	margin:0;
	align-items: inherit;
}
.line_logo_img , .mail_logo_img{
	background-color: #FFF;
	display: grid;
	align-items: center;
	justify-items: center;
	border-radius:1.4rem 0 0 1.4rem;
}
.cta .line_logo img , .cta .mail_logo_img{
	padding:0 1.2rem
}
.cta .line_logo .line_text , .cta .mail_logo .mail_text{
	font-size:2rem;
	font-weight:500;
	padding:0 3rem;
	display: flex;
	align-items: center;
	justify-items: center;
	border-radius:0 0.8rem 0.8rem 0;
}
.cta .line_logo .line_text{
	background-color:#00b900;
	padding:0 3rem;
}
.cta .mail_logo .mail_text{
	background-color:#0c3082;
	padding:0 2rem;
}
/********************************
PCコンテツ
mv
****/
.lp_mv_rap{
	background: url(img/main.jpg) no-repeat bottom center;
	background-size:cover;
	height:57rem;
}
.lp_mv_rap .inner{
	text-align:right;
}
.lp_mv_rap h3{
	background-color:#FFF;
	font-style:italic;
	display: inline-block;
	padding:1rem 1.4rem;
	margin-top:6rem;
	margin-right:2rem;
	letter-spacing:-0.05rem;
}
.lp_mv_rap h2{
	color:#0c3082;
	font-size:5.2rem;
	font-weight:900;
	margin-top:2.5rem;
	margin-right:2rem;
	line-height:1.6em;
}
.mv_h2sp1{
	font-size:8rem;
}
.mv_h2sp2{
	font-size:6.5rem;
	margin-right:2rem;
}
.lp_mv_rap div.flex{
	margin-top:1.5rem;
	margin-right:2rem;
	justify-content: flex-end;
}
.mv_text01{
	font-size:2.15rem;
	background: url(img/mv_object01.svg) no-repeat center center;
	background-size: 100%;;
	width: 13.4rem;
	height: 9.9rem;
	padding-top: 3rem;
	padding-left: 1.4rem;
	top: 1rem;
	left: 0.5rem;
}
.mv_text02{
	font-size:3.6rem;
	background: url(img/mv_object02.svg) no-repeat center center;
	width: 17.7rem;
	height: 14.5rem;
	padding-top: 3rem;
	padding-right: 1.1rem;
	margin-right: -2rem;
	letter-spacing:0.8rem;
}
.mv_text03{
	font-size:2.15rem;
	background: url(img/mv_object03.svg) no-repeat center center;
	width: 11.8rem;
	height: 10.6rem;
	padding-top: 4.8rem;
	padding-right: 0.6rem;
}
.mv_text01 , .mv_text02 , .mv_text03{
	color:#FFF;
	background-size:contain;
	line-height:1.2em;
	position:relative;
	text-align:center;
}
@media screen and (min-width: 1100px) {
.lp_mv_rap{
	background-image:url(img/main_1920.jpg);
	height:49vw;
}
.lp_mv_rap h3{
	margin-top:7vw;
	font-size:2.4vw;
}
.lp_mv_rap h2{
	font-size:4.4vw;
	margin-top:3vw;
	margin-bottom:2vw;
}
.mv_h2sp1{
	font-size:7vw;
}
.mv_h2sp2{
	font-size:5.2vw;
}
}
@media screen and (min-width: 1920px) {
.lp_mv_rap{
	background-image:url(img/main_big.jpg);
	height:94rem;
}
.lp_mv_rap h3{
	margin-top:13.5rem;
	font-size:3.85rem;
}
.lp_mv_rap h2{
	font-size:7.7rem;
	margin-top:5.8rem;
	margin-bottom:3.4rem;
}
.mv_h2sp1{
	font-size:11.2rem;
}
.mv_h2sp2{
	font-size:9.6rem;
}
}
/****
sec1
*****/
.sec1{
	padding-bottom:8rem;
}
.sec1_box_rap {
	justify-content: center;
	align-items: center;
	gap:2.5rem;
}
.sec1_chart_rap{
	flex-direction: column;
	align-items: center;
}
.sec1 .sec1_p1{
	line-height:1.9em;
	font-weight:500;
	padding:5rem 0;
}
.sec1_chart{
	gap:0.6rem;
}
.chart01{
	width:9rem;
	height:8rem;
	background:url(img/sec1_svg.svg) center center no-repeat;
	background-size:contain;
	font-size:1.8rem;
	display: grid;
	justify-items: center;
	padding-top:2rem;
	line-height:1.2em;
	font-weight:500;
}
.chart01_box{
	max-width:35rem;
}
.sec1_chart_p{
	text-align:center;
	width:35rem;
	font-size:2rem;
	font-weight:bold;
	border:2px solid #000;
	border-radius:0.2rem;
	background-color:#f9be00;
	padding:0.5rem 0;
	margin-bottom:0.8rem;
}
.sec1_chart_p.v2{
	background-color:#ffe071;
}
.sec1_chart_p.v3{
	background-color:#FFF;
	padding:3.2rem 0;
}
.sec1_hr{
	height:0.6rem;
	width:49rem;
	margin:0 0 0.8rem;
}
.sec1_box_right{
	position:relative;
	font-size:1.9rem;
	padding:1.4rem 4rem;
	max-width:32rem;
	border:solid 2px #00b1ed;
	border-radius:1.5rem;
	line-height:2em;
	font-weight:500;
	top:-6.6rem;
}
.sec1_box_right:before {
	content: "";
	position: absolute;
	top: 50%;
	left: -16px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 16px 8px 0;
	border-color: transparent #00b1ed transparent transparent;
}
.sec1_box_right:after {
	content: "";
	position: absolute;
	top: 50%;
	left: -12px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 16px 8px 0;
	border-color: transparent #FFF transparent transparent;
}
.sec1_under{
	border-bottom:1px solid #00b1ed;
	display:inline-block;
	line-height:1.2em;
}
/***********
sec2
**********/
.sec2{
	padding-bottom:8rem;
}
.sec2 .inner{
	padding-top:5rem;
}
.sec2_h3box{
	max-width:78rem;
	margin:0 auto;
}
.sec2 h3{
	margin-left:3rem;
	font-size:2.6rem;
}
.sec2 p{
	margin:4rem auto 4rem;
	font-weight:500;
	line-height:1.8em;
}
.sec2 figure{
	max-width:45.7rem;
	margin:0 auto;
}
.tite_rap.v2{
	background-color:#0c3082;
	padding:4rem 0;
}
.zenk_h2_title02{
	font-size:2.4rem;
	line-height:2.6em;
}
/***********
sec3
**********/
.sec3{
	padding-bottom:6rem;
}
.sec3_box{
	padding:7rem 0 0;
}
.sec3_box_h2{
	font-size:3.6rem;
	margin:0 auto 0.5em;
	text-align:center;
}
.sec3_flex{
	max-width:96rem;
	margin:0 auto;
	border:1px solid #00b1ed;
}
.sec3_flex figure{
	min-width:25.4rem;
}
.sec3_left{
	padding:3rem;
}
.sec3_left h3{
	font-size:2.4rem;
}
.sec3_left p{
	font-weight:500;
	line-height:1.8em;
}
.sec3_span{
	margin-left:1.2em;
	margin-right:0.3em;
	font-weight:900;
}
/***********
sec4
**********/
.sec4{
	margin-bottom:10rem;
}
.sec4 .zenk_h2_title03 , .sec6 .zenk_h2_title03 , .sec7 .zenk_h2_title03{
	padding:2.6rem 0 3rem;
	font-size:3.6rem;
	background-color:#cceffb;
	color:#00b1ed;
	letter-spacing:0.3rem;
}
.sec4 .inner{
	padding-top:6rem;
}
.sec4 p{
	text-align:center;
}
.sec4 .cont{
	position:relative;
	height:110rem;
	max-width:95rem;
	margin:0 auto;
	z-index:0;
}
.sec4 .cont p{
	max-width:32rem;
}
.sec4 .contbox01 , .sec4 .contbox02 , .sec4 .contbox03 , .sec4 .contbox04{
	position:absolute;
	background-color:rgba(230,234,242,0.5);
	border-radius:50%;
	width:43rem;
	height:43rem;
	display:flex;
	flex-direction: column;
	align-items: center;
	z-index: auto;
}
.sec4 .contbox01{
	top:0;
	margin:0 auto;
	right:0;
	left:0;
}
.sec4 .contbox02{
	top:32rem;
	left:0;
}
.sec4 .contbox03{
	top:32rem;
	right:0;
}
.sec4 .contbox04{
	top:64rem;
	margin:0 auto;
	right:0;
	left:0;
}
.sec4 h3{
	position:relative;
	color:#0c3082;
	font-style:italic;
	margin:5rem auto 3rem;
}
.sec4 h3:before {
	position: absolute;
	content: '';
	top: 6.5rem;
	border:1px solid #00b1ed;
	width:8rem;
	height:0.1rem;
	
	margin:0 auto;
	right:0;
	left:0;
}
.sec4 h2{
	color:#0c3082;
	font-size:2.8rem;
	margin-bottom:1rem;
	line-height:1.3em;
	text-align:center;
}
.sec4 .contbox02:before {
	position: absolute;
	content: '';
	width:15.3rem;
	height:22.3rem;
	background:url(img/sec4_img01.png) no-repeat center center;
	background-size:contain;
	top: -17.2rem;
	left:7.2rem;
	z-index:5;
}
.sec4 .contbox03:before {
	position: absolute;
	content: '';
	width:15.7rem;
	height:21.7rem;
	background:url(img/sec4_img02.png) no-repeat center center;
	background-size:contain;
	top: -18.4rem;
	left: 18.4rem;
	z-index:5;
}
.sec4 .contbox02:after {
	position: absolute;
	content: '';
	width:18rem;
	height:28.8rem;
	background:url(img/sec4_img03.png) no-repeat center center;
	background-size:contain;
	top: 45.4rem;
	left:7.2rem;
	z-index:5;
}
.sec4 .contbox03:after {
	position: absolute;
	content: '';
	width:18.3rem;
	height:29.4rem;
	background:url(img/sec4_img04.png) no-repeat center center;
	background-size:contain;
	top: 45.4rem;
	left: 18.4rem;
	z-index:5;
}
.zenk_h2_title05{
	position:relative;
	margin-bottom:1rem;
}
.zenk_h2_title05:after {
	position: absolute;
	content: '';
	width:11rem;
	border-top:0.3rem solid #00b1ed;
	margin:0 auto;
	bottom:-3rem;
	right:0;
	left:0;
}
/************
sec5
***********/
.sec5{
	margin-bottom:16rem;
}
.sec5 .tite_rap{
	margin-bottom:8rem;
}
.zenk_h2_title05{
	position:relative;
	margin-bottom:1rem;
	letter-spacing:0.2rem;
}
.zenk_h2_title05:after {
	position: absolute;
	content: '';
	width:11rem;
	border-top:0.3rem solid #00b1ed;
	margin:0 auto;
	bottom:-3rem;
	right:0;
	left:0;
}
.sec5_textbox{
	width:calc(50% - 5rem);
	padding-left:5rem;
}
.sec5_textbox.v1{
	padding-left:0rem;
	padding-right:5rem;
	margin-top:2em;
}
.sec5 figure{
	position:relative;
	width:50%;
	min-width:47.5rem;
}
.sec5 figure.v1:after , .sec5 figure.v2:after  {
	position: absolute;
	content: '';
	top:0;
	width: 0;
	height: 0;
	border-style: solid;
}
.sec5 figure.v1:after {
	left:0;
	border-width: 380px 180px 0 0;
	border-color: #FFF transparent transparent transparent;
}
.sec5 figure.v2:after {
	right:0;
	border-width:0 0 380px 180px;
	border-color:transparent transparent #FFF transparent;
}
.sec5 h3{
	font-size:1.8rem;
	margin-top:0.6em;
	margin-bottom:0.6em;
}
.sec5 h4{
	font-size:1.4rem;
	line-height:1.5em;
}
.sec5 ul{
	margin-left:0.5em;
	margin-bottom:0.6em;
}
.sec5 ul li{
	font-size:1.4rem;
	line-height:1.5em;
	font-weight:500;
}
.sec5 ul li span{
	min-width:5em;
	display:inline-block;
}
.sec5 p{
	font-size:1.4rem;
	margin-bottom:1em;
	line-height:1.45em;
	font-weight:500;
}
.sec5_mv{
	height:44rem;
	background:url(img/sec5_img04.jpg) bottom center no-repeat;
	background-size:cover;
}
.sec5_mv h5{
	padding-top:5rem;
	text-align:center;
	margin:0 auto;
	font-size:2.5rem;
	width:100%;
}
@media screen and (min-width: 1100px) {
.sec5_mv{
	height:44vw;
}
.sec5_mv h5{
	padding-top:5vw;
	font-size:2.5vw;
}
}
/************
sec6
***********/
.sec6 .zenk_h2_title03{
	margin-bottom:7rem;
}
.sec6_cont_rap{
	max-width:78.2rem;
	margin:0 auto;
}
.sec6_header{
	text-align:center;
	padding:2rem 2rem 2rem;
	margin-bottom:2rem;
}
.sec6_header h3{
	font-size:2.8rem;
}
.sec6_header p{
	font-weight:normal;
	margin-bottom:0.5em;
}
.sec6_header ul{
	gap:2rem;
}
.sec6_header ul li{
	font-size:1.6rem;
	color:#FFF;
	background-color:#4dc9f2;
	border-radius:0.8rem;
	display:inline-block;
	padding:0.5rem 1rem;
}
.sec6_header ul li.li_v1{
	width:70%;
}
.sec6_header ul li.li_v2{
	width:100%;
}
.sec6 .flex_box{
	gap:3rem;
	margin-bottom:3rem;
}
.sec6 .flex_box figure{
	width:100%;
	max-width:32rem;
}
.sec6 .flex_box p{
	width:100%;
	line-height:2em;
}
/***********
Q&A
************/
.accordion {
	width:100%;
	margin-bottom:10rem;
}
.accordion h5{
	font-size:1.4rem;
}
.accordion p{
	font-size:1.4rem;
	margin-bottom:2em;
	line-height:2.2em;
}
.accordion_link , .accordion_link02 , .accordion_link03{
	position: relative;
}
.accordion_text , .accordion_text02 , .accordion_text03 {
	position:relative;
	display:block;
	max-width:28.5rem;
	height:3rem;
	color: #4dc9f2;
	ttransition: all 0.2s ease 0s;
	font-size: 1.6rem;
	cursor:pointer;
	margin:0 auto;
	border:solid 1px #4dc9f2;
	text-align:center;
	border-radius:0.6rem;
}
.accordion_text:hover, .accordion_text02:hover , .accordion_text03:hover {
	background-color:#4dc9f2;
	color:#FFF;
}
.accordion_text .accordion_arrow,
.accordion_text02 .accordion_arrow,
.accordion_text03 .accordion_arrow{
	position: absolute;
	left: 19rem;
	transition: all 0.2s ease 0s;
	transform: rotate(180deg);
	display:block;
}
.accordion_text.close .accordion_arrow,
.accordion_text02.close .accordion_arrow,
.accordion_text03.close .accordion_arrow{
	transform: rotate(0deg);
}
.accordion_text:before ,
.accordion_text02:before ,
.accordion_text03:before {
	position: absolute;
	content: 'もっと見る';
	margin:0 auto;
	right:0;
	left:0;
	transition: all 0.2s ease 0s;
	opacity:1;
	font-weight: 500;
}
.accordion_text.close:before ,
.accordion_text02.close:before ,
.accordion_text03.close:before {
	position: absolute;
	content: 'もっと見る';
	opacity:0;
	transition: all 0.2s ease 0s;
	font-weight: 500;
}
.accordion_text:after ,
.accordion_text02:after ,
.accordion_text03:after {
	position: absolute;
	content: '閉じる';
	margin:0 auto;
	right:0;
	left:0;
	transition: all 0.2s ease 0s;
	opacity:0;
	font-weight: 500;
}
.accordion_text.close:after ,
.accordion_text02.close:after ,
.accordion_text03.close:after {
	position: absolute;
	content: '閉じる';
	transition: all 0.2s ease 0s;
	opacity:1;
	font-weight: 500;
}
.accordion_text svg{
	width:1.4rem;
	height:1.4rem;
}
.accordion_body {
	margin:0;
}
/***********
sec7
************/
.sec7{
	padding-bottom:6rem;
}
.sec7 .zenk_h2_title03{
	margin-bottom:5rem;
}
.sec7_flex{
	max-width:71rem;
	margin:0 auto 2em;
}
.sec7 h3{
	font-size: 1.5rem;
	position: relative;
	min-width: 11rem;
}
.sec7 h3:before {
	position: absolute;
	content: '';
	left: -1.4em;
	border-left: 2px solid #7f7f7f;
	height: 1.1em;
	top: 0.4rem;
}
.sec7 p{
	font-size:1.4rem;
	letter-spacing:0.05rem;
}
.sec7_span_left{
	min-width:11rem;
}
.sec7 a , .sec7 a:visited{
	font-size:1.4rem;
	color:#0c3082;
	border-bottom:solid 1px #0c3082;
	padding-bottom:0.2rem;
}
.sec7 a:hover{
	color:#2b9be2;
	border-bottom:solid 1px #2b9be2;
}
/***********
footer
************/
.footer{
	padding:4rem 0 3rem;
	background-color:#b2e7f8;
}
.footer .inner.flex{
	justify-content: space-between;
}
.footer_box {
	margin-top:2rem;
}
.footer_box ul{
	justify-content: flex-end;
}
.footer_box ul li {
	padding:0 2rem;
	border-left:1px solid #000;
	border-right:1px solid #000;
	font-size:1.2rem;
	height:1em;
	line-height:1em;
	margin-bottom:1.8rem;
}
.footer_box ul li:first-child {
	border-right:none;
}
.footer_box ul li a , .footer_box ul li a:visited{
	font-size:1.2rem;
	line-height:0;
	padding-bottom:0.2rem;
	border-bottom:solid 1px #000;
	color:#000;
	font-weight:500;
}
.footer_box ul li a:hover {
	color:#2b9be2;
	border-bottom:solid 1px #2b9be2;
}
.footer_box p{
	font-size:1em;
}
/***********
top_again
************/
.top_again{
	position:fixed;
	right:1rem;
	bottom:2rem;
	transition: .4s;
	opacity:0;
	background-color:#ffffff9c;
	border-radius: 1rem;
	display: grid;
	align-items: center;
	justify-items: center;
	padding: 1rem;
	box-sizing:border-box;
	border:solid 1px #ffffff9c;
}
.top_again:link , .top_again:visited{
	background-color:#ffffff9c;
}
.top_again:hover{
	background-color:#FFF;
	border:solid 1px #00b1ed;
}
.top_again img{
	width:3.7rem;
}
.top_again p{
	font-size:1.4rem;
	font-weight:900;
	letter-spacing:0.5rem;
	margin-left: 0.5rem;
}
/********************************
モバイル共通
********************************/
.sp_only_b , .br_sp , .sp{
	display: none;
}
.sp_only {
	display: none;
}
img{
	width:100%;
}
a:hover{
	opacity:0.7;
}
h1, h2, h3, h4, h5, h6, p , ul , ol , li{
	font-size: 2.8rem;
}
/********************************
モバイル基本
********************************/
.sp1060 , .sp900 , .sp_br1060{
	display:none;
}
@media only screen and (max-width: 1100px) {
.inner {
	width: calc(100% - 6rem);
	margin: 0 auto;
	max-width:1000px;
	padding:0 3rem;
}

}
@media only screen and (max-width: 1060px) {
.br1060{
	display:none;
}
.sp1060{
	display: inline-block;
}
}
@media only screen and (max-width: 1000px) {
}
@media only screen and (max-width: 900px) {
.pc900{
	display:none;
}
.sp900{
	display:inline-block;
}
}
@media only screen and (max-width: 767px) {
html{
	font-size: 1.33333vw;
}
}
@media only screen and (max-width: 640px) {
.pc_only , .sp_no{
	display:none !important;
}
.sp_only_b{
	display:block;
}
.sp_only , .br_sp , sp{
	display: inline-block;
}
.flex_column{
	flex-direction: column;
}
.sp_font28{
	font-size:2.8rem !important;
}
.sp_font26{
	font-size:2.6rem !important;
}
.sp_font20{
	font-size:2.0rem !important;
}
.inner {
	width: calc(100% - 4rem);
	padding: 0 2rem;
}
.font_16 {
	font-size: 2.8rem;
	font-weight:600;
}
.sp_nowrap{
	white-space:nowrap;
}
.effect-fade_up_pc {
	opacity : 1;
	transform : initial;
	transition : 0.5s;
}
.effect-fade_up_sp{
	opacity : 0;
	transform : translate(0, 150px);
	transition : 0.5s;
}
.effect-scroll{
	opacity: 1;
	transform: translate(0, 0);
}
.sp_bloc_r{
	display: inline-block;
	text-indent: 1em
}
.sp_bloc_r.v2{
	display: inline-block;
	text-indent: 2em
}
.sp_bloc_r.v3{
	display: inline-block;
	float:right;
}

/****end共通****/
}
/********************************
モバイル header-sec1
********************************/
@media screen and (max-width: 1060px) {
.header{
	padding:0rem 0 1.8rem;
}
.header .inner{
	justify-content: space-between;
}
.header .flex.v1{
	flex-direction: column;
	margin-right:2rem;
}
.lp_mv_rap h2 , .mv_h2sp2{
	margin-right:0;
}
.header h3{
	width:100%;
	border-radius:0.6rem;
	margin-right:0;
	display: block;
	text-align:center;
	font-size:1.8rem;
	height:1.6em;
	padding-top:0.4em;
	margin-top:-2rem;
}
.header h3{
	margin-right:2rem;
}
.cta .flex{
	flex-wrap: wrap;
}
.cta_sptest{
	width:100%;
}
.cta .flex a{
	margin:3rem auto 0;
}
}
@media screen and (max-width: 1000px) {
.sec1_chart_p{
	width:35vw;
}
.sec1_hr{
	width:50vw;
}
.sec1_box_right{
	font-size:2vw;
	padding: 1.4rem 1.8vw;
}
}
@media screen and (max-width: 900px) {
.header .mobile_logo.sp900{
	display:grid;
}
.cta h2:before{
	left:4rem;
}
.cta h2:after {
	right:4rem;
}
.cta h2:before, .cta h2:after {
	top:4.6rem;
	height:5rem;
}
}
@media screen and (max-width: 640px) {
.wrapper{
	padding-top:15rem;
}
.header{
	padding: 1rem 0 6rem;
}
.header .flex.v1 , .header h3{
	margin-right:0;
}
.cta h2{
}
.header .flex.v1{
	width:56%;
}
.header h3{
	width:96%;
	font-size:2.2rem;
	padding-top:0.6rem;
	margin-top:1rem;
}

.wrapper .header .line_logo , .wrapper .header .mail_logo , .mobile_logo{
	border-width:4px;
	margin-right:0;
	margin-left:1rem;
	width: 9.2rem;
	height: 9.2rem;
}
.line_logo img {
	max-width: 5.1rem;
}
.mail_logo img {
	max-width: 4.7rem;
}
.mobile_logo img {
	max-width: 3.3rem;
}
.lp_mv_rap h3 {
	font-size:3.2rem;
	padding-right:3rem;
	margin-top:5rem;
}
.lp_mv_rap{
	height:82rem;
	background-image:url(img/main_sp.jpg);
}
.lp_mv_rap h3{
	margin-right: -3.2rem;
}
.lp_mv_rap h2{
	line-height:1.4em;
	font-size:6.2rem;
}
.mv_h2sp1{
	font-size:9.5rem;
}
.mv_h2sp2{
	font-size:7.5rem;
}
.mv_text01 , .mv_text03{
	font-size:3rem;
}
.mv_text02{
	font-size:4rem;
}
.mv_text01 {
	width: 14.4rem;
	height: auto;
	padding-top: 7.2rem;
	padding-left: 2.4rem;
	top: 1rem;
	left: -0.5rem;
}
.mv_text02 {
	width: 20.7rem;
	height: 17rem;
	padding-top: 6rem;
	margin-right: -3rem;
}
.mv_text03 {
	width: 15.8rem;
	height: 16.6rem;
	padding-top: 7.8rem;
	padding-right: 0.6rem;
	margin-right: -3rem;
}
.cta h2{
	font-size:2.8rem;
}
.cta h2 .font_120{
	font-size:140%;
	letter-spacing:0.2rem;
}
.cta h5{
	font-size:7rem;
}
.cta h5 a{
	font-size:7rem;
}
.freephone_logo {
	width: 9rem;
	height:auto;
}
.cta{
	padding: 5rem 0 12rem;
}
.cta p{
	font-size:2.6rem;
}
.cta .flex{
	padding:0;
}
.cta .line_logo, .cta .mail_logo {
	height:9.2rem;
}
.cta .line_logo .line_text, .cta .mail_logo .mail_text{
	font-size:2.6rem;
}
.zenk_h2_title {
	font-size:4rem;
	background-size:contain;
}
.sec1_box_rap {
	gap: 1.5rem;
}
.sec1 .sec1_p1{
	font-weight:600;
}
.sec1_chart_p {
	width:32rem;
}
.sec1_hr {
	height:0.4rem;
	width:46rem;
}
.chart01 {
	width: 11rem;
	height: 9.4rem;
}
.sec1_box_right {
	font-size:2rem;
	padding: 2rem 2rem 2.6rem;
	border: solid 1px #00b1ed;
	top:-1.6rem;
}
.sec1_box_right:after{
	border-width: 4px 8px 4px 0;
	left:-6px;
	top: 7.1rem;
}
.sec1_box_right:before{
	border-width: 4px 8px 4px 0;
	left:-8px;
	top: 7.1rem;
}
.sec1_under{
	border:none;
	display: inline;
}
.sec1_under_sp{
	border-bottom: 1px solid #00b1ed;
	display: inline-block;
	padding-bottom:0rem;
	line-height: 1.8em;
	white-space:nowrap;
}
}
/********************************
sec2-4
********************************/
@media screen and (max-width: 1060px) {
.sec3_flex figure {
	min-width: 25.4rem;
	overflow:hidden;
}
.sec3_flex figure img {
	object-fit: cover;
	width: 25.4rem;
	height: 100%;
}
}
@media screen and (max-width: 900px) {
.sec4 .cont{
	height:154rem;
}
.sec4 .contbox01 , .sec4 .contbox02 , .sec4 .contbox03 , .sec4 .contbox04{
	margin:0 auto;
	right:0;
	left:0;
}
.sec4 .contbox01{
	top:0;
}
.sec4 .contbox02{
	top:39rem;
	left:0;
}
.sec4 .contbox03{
	top:78rem;
	right:0;
}
.sec4 .contbox04{
	top:116rem;
	margin:0 auto;
	right:0;
	left:0;
}
.sec4 .contbox02:before{
	background-size: contain;
	top: -42.2rem;
	left: -4.8rem;
	width: 14.3rem;
}
.sec4 .contbox03:before {
	width: 13.7rem;
	background-size: contain;
	top: -40.4rem;
	left: 29.8rem;
}
.sec4 .contbox02:after{
	width: 10rem;
	height: 16.8rem;
	background-size: contain;
	top: 36rem;
	left: -0.8rem;
}
.sec4 .contbox03:after {
	width: 9.3rem;
	height: 15.4rem;
	background-size: contain;
	top: 36rem;
	left: 34.4rem;
}
}
@media screen and (max-width: 640px) {
.sec2_h3box{
	max-width:none;
	margin:inherit;
}
.sec2 h3 {
	margin-right: 3.6rem;
	margin-left: 3.8rem;
	font-size: 3.6rem;
}
.sec2 p{
	letter-spacing:0.05rem;
}
.sec2 figure{
	max-width:inherit;
	width:60rem;
}
.zenk_h2_title02 {
	font-size: 3.2rem;
	line-height: 1.6em;
}
.zenk_h2_title02 .font_230{
	font-size:160%;
	white-space:nowrap;
}
.zenk_h2_title02 .font_150 , .zenk_h2_title02 .font_230{
	display:inline-block;
	padding-top:2rem;
}
.cta.mb_80.ver_sp{
	margin-bottom:1rem;
}
.sec3_box_h2 {
	font-size:5rem;
}
.sec3_flex figure img {
	object-fit: contain;
	width: 100%;
	height: auto;
}
.sec3_flex{
	flex-direction: column;
}
.sec3_left h3 {
	font-size: 3.4rem;
}
.sec3_left {
	padding: 3rem 4rem;
}
.sec4 .zenk_h2_title03{
	font-size:4.2rem;
	padding: 3.6rem 0 4rem;
}
.sec4 p{
	font-size:3rem;
	font-weight:500;
	line-height:1.8em;
}
.sec4 p.mb_40{
	margin-bottom:6rem;
}
.sec4 .inner {
	padding-top: 2rem;
}
.sec4 .contbox01, .sec4 .contbox02, .sec4 .contbox03, .sec4 .contbox04{
	width: 70rem;
	height: 70rem;
}
.sec4 .cont{
	height:264rem;
}
.sec4 h3 {
	font-size: 5rem;
	letter-spacing: 0.2rem;
	font-weight:600;
	margin: 7rem auto 3rem;
}
.sec4 h2 {
	font-size: 4.5rem;
	margin-bottom: 2rem;
	line-height: 1.3em;
	font-weight:600;
}
.sec4 h3:before {
	top:10rem;
	width: 14rem;
	height: 0.3rem;
}
.sec4 .cont p {
	font-size:3rem;
	max-width: 54rem;
}
.sec4 .contbox01 , .sec4 .contbox02 , .sec4 .contbox03 , .sec4 .contbox04{
	margin:0 auto;
	right:0;
	left:0;
}
.sec4 .contbox01{
	top:0;
}
.sec4 .contbox02{
	top:65rem;
}
.sec4 .contbox03{
	top:130rem;
}
.sec4 .contbox04{
	top:195em;
}
.sec4 .contbox02:before{
	top: -65.2rem;
	left: -0.8rem;
	width: 17.3rem;
	height: 28rem;
}
.sec4 .contbox03:before {
	width: 18.7rem;
	height: 25rem;
	top: -62.4rem;
	left: 51.8rem;
}
.sec4 .contbox02:after{
	width: 15rem;
	height: 23.8rem;
	background-size: contain;
	top: 62rem;
	left: -0.2rem;
}
.sec4 .contbox03:after {
	width: 16.3rem;
	height: 23.4rem;
	top: 61.5rem;
	left: 54.4rem;
}
}
/********************************
sec5-last
********************************/
@media screen and (max-width: 1060px) {
.sec5 figure {
	overflow: hidden;
	min-width: 36.5rem;
}.sec5 figure img{
	object-fit: cover;
	height: 100%;
}
.sec5 figure.v2:after{
	top: inherit;
	bottom: 0;
}
}
@media screen and (max-width: 640px) {
.sec5 {
	margin-bottom: 10rem;
}
.sec5_rap{
	flex-direction: column;
}
.sec5 .tite_rap {
	margin-bottom: 6rem;
	padding: 3.6rem 0 2.2rem;
}
.zenk_h2_title05{
	font-size: 4.2rem;
}
.zenk_h2_title05:after{
	bottom: -3rem;
	width: 15rem;
	border-top: 0.6rem solid #00b1ed;
}
.sec5_textbox , .sec5_textbox.v1 , .sec5_textbox.v2 {
	max-width:none;
	width:calc(100% - 6rem);
	padding:0 3rem;
	order: 2;
}
.sec5 figure {
	order: 1;
	max-width:none;
	width:100%;
	overflow:hidden;
}
.sec5 figure.v1:after {
	border-width: 90rem 26rem 0 0;
}
.sec5 figure.v2:after{
	border-width: 0 0 90rem 26rem;
}
.sec5 h3 {
	font-size: 3.8rem;
	margin-top: 0.6em;
	margin-bottom: 1.2em;
}
.sec5 h4 {
	font-size: 3rem;
	line-height: 1.8em;
}
.sec5 ul {
	margin-bottom: 1.6em;
}
.sec5 ul li {
	font-size: 2.8rem;
	line-height: 1.8em;
	letter-spacing: 0.2rem;
}
.sec5 p {
	font-size: 2.8rem;
	margin-bottom: 3em;
	line-height: 1.8em;
}
.sec5_mv h5 {
	font-size: 3.4rem;
	line-height: 1.6em;
}
.sec5_mv {
	height: 64rem;
	background: url(img/sec5_img04_sp.jpg) bottom center no-repeat;
	background-size: cover;
}
.sec5 p.last{
	margin-bottom:4rem;
}
.sec6 .zenk_h2_title03{
	margin-bottom:4rem;
}
.sec6 .zenk_h2_title03, .sec7 .zenk_h2_title03 {
	padding: 3.6rem 0 4rem;
	font-size: 5.6rem;
}
.sec6_header {
	padding: 3rem 2rem 4rem;
}
.sec6_header p {
	margin: 0.5rem auto 2rem;
}
.sec6_header h3 {
	font-size: 4rem;
}
.sec6_header ul{
	flex-direction: column;
	gap:2rem;
}
.sec6_header ul li.li_v1 , .sec6_header ul li.li_v2{
	width:75%;
	margin:0 auto;
}
.sec6_header ul li{
	font-size:2.6rem;
}
.sec6 .flex_box{
	flex-direction: column;
	padding: 3rem 3rem 0;
}
.sec6 .flex_box figure{
	width: 70%;
	margin: 0 auto;
	max-width: inherit;
}
.accordion p {
	font-size: 2.8rem;
	line-height:2.2em;
}
.accordion_text, .accordion_text02, .accordion_text03{
	height: 6rem;
	max-width:inherit;
	width:70%;
	border-radius:1.4rem;
}
.accordion_text .accordion_arrow, .accordion_text02 .accordion_arrow, .accordion_text03 .accordion_arrow{
	left: 37rem;
}
.accordion{
	width:calc(100% - 6rem);
	padding:0 3rem;
}
.accordion h5 {
	font-size: 3rem;
}
.sec7 {
	padding-bottom: 16rem;
}
.sec7_flex{
	flex-direction: column;
	width:96%;
	position:relative;
}
.sec7 h3{
	position:relative;
	left:1.8em;
	font-size: 2.8rem;
}
.sec7 p{
	font-size:2.6rem;
	letter-spacing: 0.2rem;
	margin-bottom:4rem;
	flex-direction: column;
}
.sec7 h3:before {
	top: 0.68rem;
}
.sec7 a, .sec7 a:visited{
	font-size:2.6rem;
}
.sec7_span_right{
	margin-left:1em;
}
.sec7 p.sp_mb_0{
	margin-bottom:0;
}
.footer .inner.flex{
	flex-direction: column;
	align-items: center;
}
.footer figure{
	position:relative;
	top:-1rem;
	width:60%;
	order:2;
}
.footer_box{
	order:1;
}
.footer_box ul li a, .footer_box ul li a:visited{
	font-size:2.6rem;
}
.footer_box ul {
	justify-content: center;
}
.footer_box ul li{
	font-size:2.2rem;
	padding: 0 4rem;
}
.footer_box p {
	font-size: 2em;
	position: relative;
	top: 14rem;
}
/**********
.op_again
**********/
.top_again {
	background-color: #ffffff9c;
	height: 7rem;
	width: 8rem;
	border-radius: 1rem;
	display: grid;
	align-items: center;
	justify-items: center;
	padding: 0.5rem;
	right: 2rem;
	bottom: 9rem;
}
.top_again p {
	font-size: 2rem;
}
.top_again img {
	margin-top:0.5rem;
	width: 4.7rem;
}
}
