@charset "utf-8";
/* CSS Document */

body{
	margin: 0;
	padding: 0;
	font-size: 3vw;
	font-family: "Noto Sans Japanese", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Avenir, "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, sans-serif;
	color: #012738;
}


#header{
	margin: 0 0 5vw 0;
}
#header .slider {
	display: flex;
	background: #003640;
}


#cont01{
	padding: 0 0 4vw 0;
}
#cont01 .midashi{
	padding: 2vw 3vw;
	font-size: 5vw;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background: #e05434;
}
#cont01 .midashi2{
	display: flex;
	align-items: center;
	padding: 3vw;
}
#cont01 .midashi2 p{
	margin: 0 0 0 4vw;
	font-size: 4.6vw;
	font-weight: bold;
	text-align: center;
}
#cont01 .table{
	padding: 0 3vw;
}
#cont01 table{
	width: 100%;
	border-collapse: collapse;
    border: none;
	box-sizing: border-box;
}
#cont01 tr th{
	padding: 1vw;
	font-size: 3.2vw;
	color: #fff;
	text-align: center;
	background: #003640;
	border-top: solid 1px #003640;
	border-right: solid 1px #9fb4b8;
}
#cont01 tr td{
	color: #333;
	font-weight: bold;
	text-align: center;
	background: #fff;
	border: solid 1px #9fb4b8;
}
#cont01 tr.stand td{
	color: #333;
	background: #fffde0;
}


#cont02{
	padding: 3vw;
	background: url("../images/lp2_015.png") no-repeat top right / 100%;
}
#cont02 table{
	margin: 32vw 0 0 0;
}
#cont02 table tr th{
	font-size: 3.4vw;
	color: #fff;
	text-align: center;
	background: #0a7981;
	border-top: solid 2px #0a7981;
	border-bottom: solid 2px #97c1c7;
	border-left: solid 2px #0a7981;
}
#cont02 table tr td{
	padding: 2vw 1vw;
	font-size: 3vw;
	font-weight: bold;
	text-align: center;
	border-top: solid 2px #97c1c7;
	border-right: solid 2px #97c1c7;
	border-bottom: solid 2px #97c1c7;
	background: #fff;
}
#cont02 table tr td.top{
	position: relative;
	padding: 6vw 1vw 2vw;
	background: #d5eff1;
}
#cont02 table tr td img{
	width: 80%;
	position: absolute;
	margin: 0 auto;
	top: -11vw;
	right: 0;
	left: 0;
}

#cont03{
	margin: 0 0 5vw 0;
}
#cont03 .inner{
	margin: 2vw 0 0 0;
	padding: 3vw;
}
#cont03 .inner .tt{
	padding: 1vw;
	color: #fff;
	font-size: 4vw;
	font-weight: bold;
	text-align: center;
	background: #003640;
	border-radius: 1vw 1vw 0 0;
}
#cont03 .inner .ta{
	padding: 3vw;
	color: #333;
	font-size: 3.6vw;
	background: #fff;
	border: solid 2px #003640;
	border-radius: 0 0 1vw 1vw;
}


#cont04{
	padding: 3vw 3vw 8vw;
	background: url("../images/lp2_020.png") no-repeat top right / 100%;
}
#cont04 .scrollbox{
	display: flex;
	width: 100%;
	height: 50%;
	margin: 30vw 0 0 0;
	overflow-x: scroll;
}
#cont04 .scrollbox img{
	width: 55%;
	margin: 0 1.6vw 0 0;
}


#cont05{
	padding: 3vw;
}
#cont05 img{
	width: 80%;
	margin: 4vw auto;
}
#cont05 .scrollbox2{
	padding: 1vw 0;
	overflow-x: scroll;
	width: 100%;
}
#cont05 .scrollbox2 table{
	white-space: nowrap;
	table-layout: fixed;
	width: 155%;
}
#cont05 .scrollbox2 table tr th{
	padding: 2vw;
	font-size: 3.4vw;
	color: #fff;
	text-align: center;
	background: #0a7981;
	border-left: solid 1px #03282b;
}
#cont05 .scrollbox2 table tr td{
	padding: 2vw 1vw;
	font-size: 3.4vw;
	font-weight: bold;
	text-align: center;
	border: solid 1px #03282b;
}
#cont05 .scrollbox2 table tr td img{
	width: 100%;
	margin: auto;
}
#cont05 .scrollbox2 table tr td a{
	font-size: 3.4vw;
	font-weight: bold;
	color: #256edb;
}
#cont05 .scrollbox2 table tr td.stand{
	background: #feffe3;	
}
#cont05 .scrollbox2 .fixed01 {
    position: sticky;
    left: 0px;
	width: 18%;
	z-index: 10;
}
#cont05 .scrollbox2 .fixed01::before {
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: 100%;
    height: 100%;
    border: 1px solid #03282b;
}
#cont05 .cont5btn{
	position: relative;
	padding: 3vw 1vw;
	font-size: 3.6vw;
	color: #fff;
	background: #e05434;
	border-radius: 1vw;
}
#cont05 .cont5btn::before{
	content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-135deg);
    position: absolute;
    margin: auto;
    top: 0vw;
    right: 3vw;
    bottom: 0;
}


#cont06{
}
#cont06 img{
	margin: 4vw auto;
}
#cont06 .no1{
	margin: 0 0 3vw 0;
	padding: 3vw;
	background: #0a7981;
}
#cont06 .noall{
	margin: 0 0 3vw 0;
	padding: 3vw;
	background: #e2e2e2;
}
#cont06 .no1 .midashi4{
	display: flex;
	align-items: center;
	background: #fff;
}
#cont06 .noall .midashi4{
	display: flex;
	align-items: center;
	background: #fff;
	border-top: solid 2px #929292;
	border-right: solid 2px #929292;
	border-left: solid 2px #929292;
}
#cont06 .noall .midashi5{
	background: #fff;
	border-top: solid 2px #929292;
	border-right: solid 2px #929292;
	border-left: solid 2px #929292;
}
#cont06 .no1 .midashi4 .m_cheak , #cont06 .noall .midashi4 .m_cheak{
	padding: 3vw 2vw;
	color: #fff;
	font-size: 5vw;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	background: #e05434;
}
#cont06 .no1 .midashi4 .m_name , #cont06 .noall .midashi4 .m_name{
	padding: 2vw 2vw;
	color: #124fcb;
	font-size: 6vw;
	font-weight: bolder;
	line-height: 1.2;
	text-decoration: underline;
	text-align: center;
}
#cont06 .noall .midashi5 .m_name{
	padding: 2vw 2vw;
	color: #124fcb;
	font-size: 5.6vw;
	font-weight: bolder;
	line-height: 1.2;
	text-decoration: underline;
	text-align: center;
}
#cont06 .no1 .inner .img img , #cont06 .noall .inner .img img{
	margin: auto;
}
#cont06 .no1 .inner{
	padding: 3vw 3vw;
	background: #fff;
}
#cont06 .noall .inner{
	padding: 2vw 3vw 3vw;
	background: #fff;
	border-right: solid 2px #929292;
	border-bottom: solid 2px #929292;
	border-left: solid 2px #929292;
}
#cont06 .noall .inner .img , #cont06 .no1 .inner .img{
	margin: 0 0 5vw 0;
}
#cont06 .no1 .inner .spec , #cont06 .noall .inner .spec{
}
#cont06 .no1 .inner .point , #cont06 .noall .inner .point{
	margin: 3vw 0;
}
#cont06 .no1 .inner .point .midashi , #cont06 .noall .inner .point .midashi{
	margin: 0 0 3vw 0;
    padding: 0 0 2vw 0;
    font-size: 5vw;
    font-weight: bold;
    line-height: 1.3;
    border-bottom: solid 2px #012738;
}
#cont06 .no1 .inner .point .text , #cont06 .noall .inner .point .text{
	margin: 0 0 3vw 0;
    padding: 0 0 2vw 0;
    font-size: 4vw;
}
#cont06 .no1 .inner .wom img , #cont06 .noall .inner .wom img{
	width: 100%;
	margin: 4vw 0 6vw;
}
#cont06 .no1 .inner .apparea , #cont06 .noall .inner .apparea{
	padding: 0;
	width: 100%;
}
#cont06 .no1 .inner .apparea img , #cont06 .noall .inner .apparea img{
	margin: 4vw auto 2vw;
	padding: 0;
	width: 75%;
}
#cont06 .no1 .inner a.light , #cont06 .noall .inner a.light{
    display: block;
    position: relative;
    overflow: hidden;
    margin: 0 0 3vw 0;
    padding: 2vw 0 3vw;
    text-align: center;
    color: #fff;
    font-size: 6vw;
    font-weight: bold;
    text-decoration: none;
    line-height: 1.3;
    background: #e05434;
    border-radius: 1vw;
    box-shadow: 0 4px 0 #b32a0b;
}
#cont06 .no1 .inner a.light::before , #cont06 .noall .inner a.light::before{
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: ligth 3s ease-in-out infinite;
}
#cont06 .no1 .inner .appbtn::before , #cont06 .noall .inner .appbtn::before{
    content: "";
    position: absolute;
    margin: auto;
    top: 50%;
    right: 2vw;
    bottom: 50%;
    width: 5vw;
    height: 5vw;
    border-radius: 50%;
    background: #fff;
}
#cont06 .no1 .inner .appbtn::before , #cont06 .noall .inner .appbtn::before{
    content: "";
    position: absolute;
    margin: auto;
    top: 50%;
    right: 2vw;
    bottom: 50%;
    width: 5vw;
    height: 5vw;
    border-radius: 50%;
    background: #fff;
}
#cont06 .no1 .inner .appbtn::after , #cont06 .noall .inner .appbtn::after{
	content: "";
    position: absolute;
    margin: auto;
    top: 50%;
    right: 4.5%;
    bottom: 50%;
    width: 1.2vw;
    height: 1.2vw;
    border-top: 2px solid #f00e3e;
    border-right: 2px solid #f00e3e;
    transform: rotate(45deg);
}




@keyframes ligth{
    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;}
}


#faq{
	margin: 3vw 0 0 0;
}
#faq .inner{
	padding: 8vw 3vw 0 3vw;
}
#faq .qq6{
	margin: 0;
}
#faq .qq1,#faq .qq2,#faq .qq3,#faq .qq4,#faq .qq5,#faq .qq6{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	position: relative;
	height: 15vw;
	margin: -6vw 0 0 0;
	padding: 0 0 2vw 2vw;
	font-size: 4vw;
	font-weight: bold;
	color: #0a7981;
	border-bottom: solid 1px #0a7981; 
}
#faq .qq1::before,#faq .qq2::before,#faq .qq3::before,#faq .qq4::before,#faq .qq5::before,#faq .qq6::before{
	content: '';
	position: absolute;
	width: 26px;
	height: 26px;
	background: #0a7981;
	border-radius: 1vw;
	margin: auto;
	right: 0;
}
#faq .qq1::after,#faq .qq2::after,#faq .qq3::after,#faq .qq4::after,#faq .qq5::after,#faq .qq6::after{
	content: '';
	position: absolute;
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	line-height: 1;
	width: 10px;
	height: 10px;
	top: 37%;
	right: 2.2vw;
	bottom: 50%;
	border: 2px solid currentColor;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: translateY(-25%) rotate(135deg);
}
#faq .qq1.active::after,#faq .qq2.active::after,#faq .qq3.active::after,#faq .qq4.active::after,#faq .qq5.active::after,#faq .qq6.active::after{
	top: 43%;
	transform: translateY(-25%) rotate(315deg);
}
#faq .qq1 p,#faq .qq2 p,#faq .qq3 p,#faq .qq4 p,#faq .qq5 p,#faq .qq6 p{
	width: 90%;
	line-height: 1.4;
}
#faq .qq1 .rigth,#faq .qq2 .rigth,#faq .qq3 .rigth,#faq .qq4 .rigth,#faq .qq5 .rigth,#faq .qq6 .rigth{
	width: 10%;
	margin: 0 1vw 0 0;
	font-size: 9vw;
}
#faq .aa1,#faq .aa2,#faq .aa3,#faq .aa4,#faq .aa5,#faq .aa6{
	display: flex;
	justify-content: flex-start;
	height: auto;
    max-height: 0;
	margin: 4vw 0;
	padding: 0 2vw;
    transition: max-height 0.2s;
    overflow: hidden;
	font-size: 3.6vw;
    background-color: #fff;
    border-radius: 0 0 4px 4px;
}
#faq .aa1.open,#faq .aa2.open,#faq .aa3.open,#faq .aa4.open,#faq .aa5.open,#faq .aa6.open{
	display: flex;
	justify-content: flex-start;
	max-height: 3000px;
    transition: max-height 1s;
	margin: 4vw 0;
	padding: 0 2vw;
	font-size: 3.6vw;
	color: #111;
}
#faq .aa1 p,#faq .aa2 p,#faq .aa3 p,#faq .aa4 p,#faq .aa5 p,#faq .aa6 p{
	padding: 0 0 7vw 0;
	width: 100%;
}
#faq .aa1 .rigth,#faq .aa2 .rigth,#faq .aa3 .rigth,#faq .aa4 .rigth,#faq .aa5 .rigth,#faq .aa6 .rigth{
	width: 10%;
	margin: 0 1vw 0 0;
	font-size: 10vw;
	color: #0a7981;
	font-weight: bold;
	line-height: 1.2;
}


.cardbox5 .title{
	padding: 2vw;
	font-size: 6vw;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background: #0a7981;
}
.cardbox5 .inner{
	padding: 3vw;
	background: #e6f0f4;
}
.cardbox5 .inner .nbox{
	margin: 0 0 3vw 0;
	padding: 3vw;
	background: #fff;
}
.cardbox5 .inner .nbox .box{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.cardbox5 .inner .nbox .box:nth-child(3){
	margin: 0;
}
.cardbox5 .inner .nbox .box .left{
	width: 30%;
}
.cardbox5 .inner .nbox .box .rigth{
	width: 65%;
}
.cardbox5 .inner .nbox .box .rigth p{
	font-size: 3.6vw;
}
.cardbox5 .inner .nbox .box .rigth p a{
	font-size: 5vw;
	font-weight: bold;
	color: #0469d0;
	text-decoration: underline;
}
.cardbox5 .inner .nbox .underbox{
	margin: 3vw 0 1vw 0;
	padding: 2vw 0;
	border-top: solid 1px #0a7981;
	border-bottom: solid 1px #0a7981;
}
.cardbox5 .inner .nbox .underbox .flex{
	display: flex;
	justify-content: space-between;
}
.cardbox5 .inner .nbox .underbox .flex .flexbox{
	margin: 0 1vw 0 0;
}
.cardbox5 .inner .nbox .underbox .flex .flexbox table{
	padding: 1vw;
	width: 100%;
}
.cardbox5 .inner .nbox .underbox .flex .flexbox table tr th{
	margin: 0 2vw 0 0;
	font-size: 3.4vw;
	font-weight: bold;
}
.cardbox5 .inner .nbox .underbox .flex .flexbox table tr td{
	font-size: 3.4vw;
	font-weight: bold;
}
.cardbox5 .inner .nbox .underbox .flex .flexbox .midashi{
	margin: 0 0 1vw 0;
	padding: 1vw;
	color: #fff;
	font-weight: bold;
	text-align: center;
	background: #0a7981;
	border-radius: 1vw;
}
.cardbox5 .inner .nbox .underbox .flex .flexbox .text{
	text-align: center;
}



footer {
    color: #fff;
    background-color: #0a7981;
    font-size: 3.2vw;
    text-align: center;
	padding: 1em;
	line-height: 1.6;
}
footer p{
	margin: 0 0 1em 0;
	font-size: 3vw;
	text-align: left;
}
footer a {
	padding: 0 0 1em 0;
    color: #fff;
    text-decoration: underline;
}


.follow{
	position: fixed;
	right: 0;
	bottom: 0;
	color: #fff;
	background: #000;
	cursor: pointer;
	transition: .3s;
	z-index: 1000;
  
  /*デフォルトで非表示にする*/
  opacity: 0;
  visibility: hidden;
}
/*このクラスが付与されると表示する*/
.active{
  opacity: 1;
  visibility: visible;
}


.apparea3{
	padding: 0 3vw;
	text-align: center;
}
.apparea3 .apptext{
	padding: 5vw 0 0 0;
	font-size: 4.2vw;
	font-weight: bold;
}
.appbtn3{
	margin: 10vw 0;
}
.appbtn3 a .btn{
	position: relative;
	margin: 1vw 0 3vw;
	padding: 4vw;
	color: #fff;
	font-size: 6vw;
	font-weight: bold;
	background: #e25232;
	border-radius: 100vw;
	box-shadow: 0 1vw 0 #aa3015;
}
.appbtn3 a .btn::before,
.appbtn3 a .btn::after{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 5vw;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.appbtn3 a .btn::before{
    width: 4.4vw;
    height: 4.4vw;
    border-radius: 50%;
    background: #fff;
}
.appbtn3 a .btn::after{
    right: 6.5vw;
    width: 1.5vw;
    height: 1.5vw;
    border-top: 2px solid #e25232;
    border-right: 2px solid #e25232;
    transform: rotate(45deg);
}
.appbtn3 p{
	font-size: 4vw;
	font-weight: bold;
}
.appbtn3 p.comment{
	font-size: 2.8vw;
	font-weight: normal;
	color: #333;
}


.menseki{
	padding: 2vw 3vw;
	background: #dfe9e8;
}
.menseki .inner{
}
.menseki .inner h2{
	padding: 3vw;
	font-size: 26px;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
}
.menseki .inner .textBox{
	padding: 5vw;
	font-size: 14px;
	background-color: #fff;
    margin: 0 auto;
    border-radius: 10px;
}
.menseki .inner .textBox h3 {
	margin: 0 0 10px 0;
    fnt-size: 16px;
	font-weight: bold;
    background: #d1e1e0;
    padding: 10px ;
    border-radius: 5px;
    text-align: left;
    background-position: 50% 50%;
}
.menseki .inner .textBox p{
	margin: 0 0 20px 0;
}


/*  ここから装飾   */
hr{
	border-top: 3px dotted #bfbfbf;
    border-right: none;
    border-bottom: none;
    border-left: none;
}

/*  ここまで装飾   */