@charset "utf-8";

/*******************************
/* リセット
*******************************/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	font-weight: normal;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
.object-fit-img {
  object-fit: cover;
  object-position: center;
  font-family: 'object-fit: cover; object-position: center;'
}
*{margin:0;padding:0;}
html{overflow-x: hidden; min-width:1200px;}
body{
font-family:'Poppins', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
color:#0f1f4d;
font-size: 16px;
line-height: 1.8;
letter-spacing:0.1rem;
overflow-x: hidden;
 min-width:1200px;
}
a{color: #07284b;text-decoration:none;transition: all 300ms ease-out 0s;
    will-change: transform;}
a:hover{color:#919fa4;}
a:active, a:focus {outline: 0;}
img{border:0; vertical-align:bottom;}
p{ line-height: 2;}
.clear{clear:both;}
.center{text-align:center;}
.right{text-align:right;}
li{ list-style:none;}
.none_pc{ display:none;}
.none_sp{ display: block;}
.tel {
    cursor: default;
    pointer-events: none;
}
input[type=submit] {
  -webkit-appearance: none;
  border-radius: 0;
}
input {
  -webkit-appearance: none;
  border-radius: 0;
}
h2,h2 span{font-weight: bold;}
.wf-sawarabimincho { font-family: "Sawarabi Mincho"; }
@media screen and (max-width:767px) {
html {
overflow: auto;
 min-width:100%;
}
body{
font-size: 3.8vw;
line-height: 1.8;
letter-spacing:0.1rem;
overflow-x: hidden;
min-width:100%;
}
img{ width: 100%; }
.none_pc{ display: block;}
.none_sp{ display: none;}
.tel {
    pointer-events: auto;
}
}
/*******************************
/* 共通
*******************************/
.num{font-family: 'Lato', sans-serif; font-weight: 900;}
.border-radius{ border-radius: 3px;}
/*******************************
/* ヘッダー
*******************************/
header{ position: fixed; top: 0; width: 100%; z-index: 999; display: flex; justify-content: center; background: #fff;}
.header_inner{ width: 1200px; display: flex; justify-content: space-between; align-items: center; height: 90px; }
.header_inner .logo img{ height: 33px;}
.header_inner nav{ width: auto; }
.header_inner nav ul{display: flex; justify-content: flex-end;}
.header_inner nav ul li a{ line-height: 55px; font-weight: bold; display: block;}
.header_inner nav ul li:nth-of-type(n+2){ margin-left:25px;}
.header_contact a{position: relative;display:inline-block;background: #f7941e;color: #fff;text-decoration: none;outline: none;padding: 0 30px;border-radius: 30px;overflow: hidden;}
.header_contact a::before {content: '';position: absolute;top: 0;left: -75%;width: 50%;height: 100%;background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);transform: skewX(-25deg);}
.header_contact a:hover::before {animation: shine 0.7s;}
.header_login a{position: relative;display:inline-block;background: #0071bc;color: #fff;text-decoration: none;outline: none;padding: 0 30px;border-radius: 30px;overflow: hidden;}
.header_login a::before {content: '';position: absolute;top: 0;left: -75%;width: 50%;height: 100%;background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);transform: skewX(-25deg);}
.header_login a:hover::before {animation: shine 0.7s;}
.header_line a{position: relative;display:inline-block;background: #07b53b;color: #fff;text-decoration: none;outline: none;padding: 0 30px;border-radius: 30px;overflow: hidden;}
.header_line a::before {content: '';position: absolute;top: 0;left: -75%;width: 50%;height: 100%;background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);transform: skewX(-25deg);}
.header_line a:hover::before {animation: shine 0.7s;}
@keyframes shine {
  100% {
    left: 125%;
  }
}
@media screen and (max-width:767px) {
	header{ height: 50px; padding: 0 3vw;}
	.header_inner{ width:100%;height: 50px;}
	.header_inner .logo img{ height:20px; width: auto; vertical-align: middle;}
	
	.header_inner nav ul{display: block;}
	.header_inner nav ul li{ border-bottom:1px solid #eee; }
	.header_inner nav ul li:nth-of-type(n+2){ margin-left:0px ;}
	.header_contact{margin-top: 40px;}
	.header_login{margin-top: 20px;}
	.header_line{margin-top: 20px;}
	.header_contact, .header_login{border-bottom: none !important;}
	.header_contact a, .header_login a, .header_line a{ text-align: center;}
	.header_login a{}
	
	nav{ 
position: fixed;
    top: 50px;
    right: 0;
    width: 100vw !important;
    min-height: 100vh;
    height: 100vh;
    width: 100%;
    text-align: left;
    background: #fff;
    box-sizing: border-box;
    padding: 10px 10% 60vw 10%;
    opacity: 0;
    transform: translateX(100vw);
    transition: .4s all;
    visibility: visible;
    overflow: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
	}
nav.open{transform: translateX(0);opacity:1;visibility: visible;overflow:hidden; overflow-y: scroll;
  -webkit-overflow-scrolling:touch;z-index:10;}
	
.menu-trigger_oya{ position: fixed; right:2%; top:3px; z-index:11;width: 50px; height: 50px;transition: all .3s ease-in-out;}
.menu-trigger,
.menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
}
.menu-trigger {
    position: relative;
	top:14px;
	right:-12px;
    width: 25px;
  height: 20px;
}
.menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #212121;
    border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 9px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
  background-color:#212121;
}


/*click蠕後�繧ｹ繧ｿ繧､繝ｫ*/
.menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
    left: 50%;
    opacity: 0;
    -webkit-animation: active-menu-bar02 .8s forwards;
    animation: active-menu-bar02 .8s forwards;
}
@-webkit-keyframes active-menu-bar02 {
    100% {
        height: 0;
    }
}
@keyframes active-menu-bar02 {
    100% {
        height: 0;
    }
}
.menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg);
}
}

#flow,#price,#faq,#law{ margin-top: -90px; padding-top: 90px;}
@media screen and (max-width:767px) {
	#flow,#price,#faq,#law{ margin-top: -50px; padding-top: 50px;}
}
/*******************************
/* メインビジュアル
*******************************/
.main_v{height:700px; padding-top: 90px; position: relative;display: flex;justify-content: center;align-items: center;}
.main_v::after{ position: absolute; content: ""; top: 0;  width: 100%; height: 100%;background: linear-gradient(to right, #000, transparent); z-index: 1;}
.main_v .inner{ position: absolute; z-index: 2; color: #fff;}
.main_v .inner h1 strong{ display: block;font-size: 3.5rem;font-weight: bold; line-height: 1.2;}
.main_v .inner h1 strong em{ color: #26a6df;font-weight: bold;}
.main_v .inner h1 span{ display: block; font-size: 1rem; padding-bottom: 25px;}
.main_v .inner h1 img{ width:600px; height: auto; }
.main_v .inner p{ font-size: 2rem;font-weight: bold; padding-top: 20px;}
.main_v .inner p strong{color: #f7941e;font-weight: bold;}
.main_v .inner ul{ display: flex; margin-top: 20px;}
.main_v .inner ul li{ background: #fff; color:#0f1f4d; font-weight: bold; padding: 13px 25px;box-shadow: 0px 0px 13px #fff; text-align: center; line-height: 1.5;border-radius:0px; font-size: .9rem;}
.main_v .inner ul li img{ width: 50px; padding-bottom:10px;}
.main_v .inner ul li strong{ color:#0071bc; display: block;font-weight: bold;font-size: 1.1rem;}
.main_v .inner ul li:nth-of-type(n+2){ margin-left:20px; }
.main_img_pc{ position: absolute; left: 50%; right: -120px; bottom: -180px;margin-left:150px; z-index: 2;}
.main_img_pc img{ width:600px;}
ul.slider{ width: 100%;}
ul.slider li img{ width: 100%; height: 700px; object-fit: cover;}

.lines {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  margin: auto;
  width: 90vw;
	z-index: 2;
}

.line {
  position: absolute;
  width: 1px;
  height: 100%;
  top: 0;
  left: 50%;
  background: rgba(255, 255, 255, 0.1);
  overflow: hidden;
}
.line::after {
  content: "";
  display: block;
  position: absolute;
  height: 15vh;
  width: 100%;
  top: -50%;
  left: 0;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #fff 75%, #fff 100%);
  -webkit-animation: drop 7s 0s infinite;
          animation: drop 7s 0s infinite;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.4, 0.26, 0, 0.97);
          animation-timing-function: cubic-bezier(0.4, 0.26, 0, 0.97);
}
.line:nth-child(1) {
  margin-left: -40%;
}
.line:nth-child(1)::after {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}
.line:nth-child(2) {
  margin-left: -20%;
}
.line:nth-child(2)::after {
  -webkit-animation-delay: 2.5s;
          animation-delay: 2.5s;
}
.line:nth-child(3) {
  margin-left: 0%;
}
.line:nth-child(3)::after {
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
}
.line:nth-child(4) {
  margin-left: 20%;
}
.line:nth-child(4)::after {
  -webkit-animation-delay: 3.5s;
          animation-delay: 3.5s;
}
.line:nth-child(5) {
  margin-left: 40%;
}
.line:nth-child(5)::after {
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
}

@-webkit-keyframes drop {
  0% {
    top: -50%;
  }
  100% {
    top: 110%;
  }
}

@keyframes drop {
  0% {
    top: -50%;
  }
  100% {
    top: 110%;
  }
}
@media screen and (max-width:767px) {
	.main_v{height:100vw;; padding-top: 50px; position: relative;display: flex;justify-content: center;align-items: center; margin-bottom: 50vw;}
	.main_v::after{ position: absolute; content: ""; top: 0;  width: 100%; height: 100%;background: linear-gradient(to right, #000, transparent); z-index: 1;}
	.main_v .inner h1 strong{ font-size: 6vw;font-weight: bold; line-height: 1.2;}
	.main_v .inner h1 strong em{ color: #26a6df;font-weight: bold;}
	.main_v .inner h1 span{ display: block; font-size:3.6vw; padding-bottom: 10px;}
	.main_v .inner h1 img{ width:60vw; height: auto;}
	.main_img_pc{ position: absolute; left: 50%; right: -120px; bottom: -180px;margin-left:150px; z-index: 2;}
	.main_img_pc img{ width:600px;}
	.main_v .inner p{ font-size:4vw;font-weight: bold; padding-top: 10px;}
	.main_v .inner p strong{color: #f7941e;font-weight: bold;}
	.main_v .inner ul{ display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 20px; width:100%;}
	.main_v .inner ul li{ padding: 13px 3vw;text-align: center; line-height: 1.5;border-radius:0px; font-size:2.6vw; width:18.5%; box-sizing: border-box;}
	.main_v .inner ul li img{ width: 100%; padding-bottom:10px;}
	.main_v .inner ul li strong{ color:#0071bc; display: block;font-weight: bold;font-size:2.6vw;}
	.main_v .inner ul li:nth-of-type(n+2){ margin-left:0; }
	.main_img_pc{ position: absolute; left: 0%; right: -0px; bottom: -60vw;margin-left:0px; z-index: 2; padding: 0 13%;}
	.main_img_pc img{ width:100%;}
	
	ul.slider{ width: 100%;}
	ul.slider li img{ width: 100%; height: 100vw; object-fit: cover;}
}

.underlayer_img{padding-top: 90px;height: 250px; display: flex; align-items: center; background: #f7f7f7;}
.underlayer_img h1{ font-size: 2.3rem; font-weight: bold;}
.underlayer_img h1 span{ display: block; color: #0071bc;font-weight: bold; font-size: .9rem;}
@media screen and (max-width:767px) {
	.underlayer_img{padding-top: 50px;height:50vw; }
	.underlayer_img h1{ font-size: 6vw;}
	.underlayer_img h1 span{font-size: 3vw;}
}
/*******************************
/* 枠
*******************************/
.contents{ padding: 80px 0;}
.contents_0{ padding: 0 0 80px 0;}
.inner{ width:1200px; margin: 0 auto;}

@media screen and (max-width:767px) {
	.contents{ padding: 60px 0;}
	.contents_0{ padding: 0 0 60px 0;}
	.inner{ width:100%; padding: 0 5vw; box-sizing: border-box;}
}

.pankuzu{ padding-top: 20px; font-size: .85rem;}
.pankuzu a{text-decoration: underline; }
.pankuzu .fa-angle-right{ padding: 0 8px;}
@media screen and (max-width:767px) {
   
}
/*******************************
/* バックグラウンド
*******************************/
.bg_blu{ background: #d2effc;}
.bg_gry{ background: #f7f7f7;}
.bg_blu_gra{background:linear-gradient(to right, #26a6df, #0071bc);}
/*******************************
/* hタグ
*******************************/
.contents_title{ font-size: 2rem; padding-bottom: 30px;text-align: center;}

.marker {
 background: linear-gradient(transparent 85%, #ffe200 85%);
font-weight: bold;
}
@media screen and (max-width:767px) {
	.contents_title{ font-size: 5.5vw;}
	.contents_title:before {}
}
/*******************************
/* TOP
*******************************/
.box_01 h2{ font-size: 2rem; text-align: center; line-height: 1.3; margin-bottom: 60px;}
.box_01 h2 span.blu_box{ display: inline-block; background:#0071bc; color: #fff; padding: 6px 15px;}
.box_01 h2 span.org_box{ display: inline-block; background:#f7941e; color: #fff;padding: 6px 15px;}
.fa-plus{ margin: 0 13px;}
.fa-long-arrow-left{ margin: 0 13px;}
.box_01 p{ text-align: center; font-size: 1.1rem;}
@media screen and (max-width:767px) {
	.box_01 h2{ font-size:5.5vw;line-height: 2; margin-bottom: 30px;}
	.box_01 h2 span.blu_box{ padding: 0px 15px;}
	.box_01 h2 span.org_box{padding: 0px 15px;}
	.box_01 p{ text-align:left; font-size:4vw;;}
	.fa-long-arrow-left{ display: none;}
}

.box_02{ display: flex; justify-content: space-between; flex-wrap: wrap; }
.box_02_left{ width: 100%;}
.box_02_right{ width: 100%;}
.box_02_left h2{ font-size: 2rem; padding-bottom: 30px; text-align: center; color: #fff;}
.box_02_left p{ color: #fff;}
.box_02_right ul{ display: flex; justify-content: space-between; flex-wrap: wrap; padding-top: 40px;}
.box_02_right ul li{ background: #fff; color:#0f1f4d; font-weight: bold; padding: 13px 25px;box-shadow: 0px 0px 13px #fff; text-align: center; line-height: 1.5;border-radius:0px; font-size: .9rem; width: 13%;}
.box_02_right ul li img{ width: 50px; padding-bottom:10px;}
.box_02_right ul li strong{ color:#0071bc; display: block;font-weight: bold;font-size: 1.1rem;}
.box_02_right ul li:nth-of-type(n+2){ margin-left:20px; }
@media screen and (max-width:767px) {
	.box_02_left h2{ font-size: 5.5vw;}
	.box_02_right ul{justify-content: center;}
	.box_02_right ul li{padding:3vw;line-height: 1.5; box-sizing: border-box; font-size:2.6vw; width:31%; margin: 0 1.6%;box-shadow: 0px 0px 0.3vw #fff;}
	.box_02_right ul li:nth-of-type(n+4){ margin-top: 10px;}
	.box_02_right ul li strong{font-size:3vw;}
	.box_02_right ul li:nth-of-type(n+2){ margin-left:0px; }
}

.box_03{ display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center;}
.box_03_left{ width: 60%;}
.box_03_right{ width: 36%;}
.box_03_left h2{ font-size: 2rem; padding-bottom: 30px;}
.box_03_right img{ width: 100%;}
@media screen and (max-width:767px) {
	.box_03_left{ width:100%;}
	.box_03_right{ width: 100%; padding-top: 30px;}
	.box_03_left h2{ font-size:5.5vw;}
}

.box_04{ display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center;}
.box_04_left{ width: 36%;}
.box_04_right{ width: 60%;}
.box_04_right h2{ font-size: 2rem; padding-bottom: 15px;}
.box_04_left img{ width: 100%;}
.box_04_right h3{ font-size: 1.5rem; padding-bottom: 30px;}
.box_04_right dl{ background: #fff; display: flex; flex-wrap: wrap; border:3px solid #f7941e; box-sizing: border-box;box-shadow: 0 8px 15px rgb(0 0 0 / 15%);}
.box_04_right dt{ width: 20%; text-align: center; font-weight: bold; border-bottom: 1px solid #f1f1f1; padding: 10px 0; background: #fef9f4;}
.box_04_right dd{ width: 80%;border-bottom: 1px solid #f1f1f1;padding: 10px 15px; box-sizing: border-box;}
@media screen and (max-width:767px) {
	.box_04_left{ display: none;}
	.box_04_right{ width: 100%;}
	.box_04_left img{ width: 50vw;}
	.box_04_right h2{ font-size:5.5vw;}
	.box_04_right h3{ font-size:5vw;}
}

.flow{}
/* アコーディオンメニュー */
.ac-menu{ width: 1000px; margin: 0 auto;box-shadow: 0 8px 15px rgb(0 0 0 / 15%);}
.ac-menu input {
  display: none;
}
.ac-menu label {
  color: #fff;
  font-weight: bold;
  text-align: center;
  background:#0071bc;
  padding: 20px;
  cursor: pointer;
  position: relative;
  display: block;
}
.ac-menu label:after {
  position: absolute;
  right: 20px; /* 左からの距離 */
  top: 50%; /* 上下中央配置 */
  -webkit-transform : translateY(-50%);
  transform : translateY(-50%);
  content: "＋"; /* アイコン */
}
.ac-menu input:checked ~ label::after {
  content: "−"; /* クリック後のアイコン */
}
.ac-menu div {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.3s; /* 開閉スピード */
}
.ac-menu input:checked ~ div {
  height: auto;
	text-align: center;
  opacity: 1;
	height: 600px;
	overflow-y: scroll;
  background: #f7f7f7;
	white-space: nowrap;
}
.ac-menu input:checked ~ div img{ width: 100%;}
.ac-menu input:checked ~ div::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.ac-menu input:checked ~ div::-webkit-scrollbar-track {
  border-radius: 5px;
	background: #fff;
  box-shadow: 0 0 4px #aaa inset;
}
.ac-menu input:checked ~ div::-webkit-scrollbar-thumb {
  background: #0071bc;
	border-radius: 5px;
}
.ac-menu-inside {
}

@media screen and (max-width:767px) {
	.ac-menu{ width: 100%;}
	.ac-menu label {padding:15px;}
	.ac-menu input:checked ~ div {padding:0; height: 100vw;}
}

.price{}
.price_description{ border: 3px solid #0071bc; background: #fff; padding: 25px; box-sizing: border-box; margin-bottom: 40px;box-shadow: 0 8px 15px rgb(0 0 0 / 15%);}
.price_description ul li{ font-size: .9rem; font-weight: bold;}
.price_description ul li:nth-of-type(n+2){ margin-top: 5px;}
.price_description ul li span{ display: block; font-size: .8rem;}
/*タブ切り替え全体のスタイル*/
.tabs {
  margin-top: 50px;
  background-color: #fff;
  box-shadow: 0 8px 15px rgb(0 0 0 / 15%);
  width: 100%;
  margin: 0 auto;}

/*タブのスタイル*/
.tab_item {
  width: calc(100%/2);
  height: 50px;
  border-bottom: 3px solid #0071bc;
  background-color: #fff;
	padding: 10px 0;
  font-size: 1.6rem;
  text-align: center;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
}
.tab_item:hover {
  opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 40px 40px;
  clear: both;
  overflow: hidden;
}


/*選択されているタブのコンテンツのみを表示*/
#tab_01:checked ~ #tab_01_content,
#tab_02:checked ~ #tab_02_content{
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  background-color: #0071bc;
  color: #fff;
}
@media screen and (max-width:767px) {
	.price_description{padding:5vw;margin-bottom: 40px;}
	.price_description ul li{ font-size: 3vw;}
	.price_description ul li:nth-of-type(n+2){ margin-top: 5px;}
	.price_description ul li span{font-size:2.6vw;}
	.tab_item {height:auto;font-size:3vw; padding: 5vw 0;}
	.tab_content { padding: 3vw; box-sizing: border-box;}
}

.price_table table{border-collapse: collapse; width: 100%;font-size: 1.3rem;}
.price_table table th {background-color: #26a6df; color: #fff; font-weight: bold; border-bottom: 3px solid #fff;border-right: 3px solid #fff; vertical-align: middle; width: 30%;padding: 25px 0;}
.price_table table td{ background:#f7f7f7; width:70%;padding: 25px 35px;border-bottom: 3px solid #fff; text-align: center;}
.price_table table td .price_btn{padding-top: 10px; display: flex; justify-content: space-between;}
.price_table table td .price_btn_box{ width: 48%; font-size: 1rem; }
.price_table table td .price_btn_box a{font-weight: bold;padding: 8px 0px;}
.price_table table td .price_btn_box:nth-of-type(1) a{ display:block; background:#01ab7c; color: #fff;box-shadow: 0 1px 2px rgb(0 0 0 / 10%);  width: auto; border-radius: 4px; position: relative; overflow: hidden;}
.price_table table td .price_btn_box:nth-of-type(1) a::before {content: '';position: absolute;top: 0;left: -75%;width: 50%;height: 100%;background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);transform: skewX(-25deg);}
.price_table table td .price_btn_box:nth-of-type(1) a:hover::before {animation: shine 0.7s;}

.price_table table td .price_btn_box:nth-of-type(2) a{ display:block; background:#f7941e; color: #fff;box-shadow: 0 1px 2px rgb(0 0 0 / 10%); width: auto; border-radius: 4px; position: relative; overflow: hidden;}
.price_table table td .price_btn_box:nth-of-type(2) a::before {content: '';position: absolute;top: 0;left: -75%;width: 50%;height: 100%;background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);transform: skewX(-25deg);}
.price_table table td .price_btn_box:nth-of-type(2) a:hover::before {animation: shine 0.7s;}
.price_table table td .price_nom{font-family: 'Lato', sans-serif; font-size: 1.7rem; display: inline-block; padding-right: 5px;}
.price_table table td small{ display: block; font-size: .9rem;}
@media screen and (max-width:767px) {
	.price_table table{font-size:3vw; box-sizing: border-box;}
	.price_table table th {border-right: 3px solid #fff; vertical-align: middle; width: 30%;padding: 25px 0;}
	.price_table table td{ background:#f7f7f7; width:70%;padding:3vw;box-sizing: border-box; vertical-align: middle; font-size: 2vw;}
	.price_table table td .price_btn{flex-wrap: wrap;}
	.price_table table td .price_btn_box{ width:100%;}
	.price_table table td .price_btn_box:nth-of-type(2){ margin-top: 10px;}
	.price_table table td .price_btn_box a{padding:10px 0px; font-size: 3vw; line-height: 1.5; letter-spacing: -.01vw;}
	.price_table table td .price_btn{margin: 0 auto; width: 100%; padding-top: 10px;}
	.price_table table td .price_nom{font-size:4.5vw; padding-right: 5px;}
	
}

.credit_card{ margin-top: 20px;}
.credit_card p{ font-size: .8rem; padding-bottom: 5px;}

.faq{}
.faq_box{ border: 2px solid #f7f7f7; font-size: .9rem;}
.faq_box:nth-of-type(n+2){ margin-top: 25px;}
.faq_box h3{ display: flex; align-items: center; color: #0071bc; font-weight: bold;background: #f7f7f7; padding:3px 25px; font-size: 1rem;}
.faq_box h3:before {content: "Q";font-family: 'Raleway', sans-serif; font-size:1.6rem; margin-right: 10px;}
.faq_box .a_box{padding:20px 25px;}
.faq_box .a_box p small{ display: block; font-size: .8rem;}
.faq_box .a_box p small:nth-of-type(1){ padding-top:10px;}
.faq_box .a_box p a{ color: #0066c0;text-decoration: underline;}
@media screen and (max-width:767px) {
	.faq_box:nth-of-type(n+2){ margin-top: 20px;}
	.faq_box h3{align-items:first baseline; padding:10px 25px; font-size:3.6vw;}
	.faq_box h3:before{ line-height: 1; position: relative; bottom: -5px;}
}

.law{position: relative;}
.law_box{}
.law table {width: 100%;border-collapse: collapse;}
.law table th {width: 25%;border: 1px solid #ccc;vertical-align: middle;background:#303030; font-weight: bold; color: #fff;}
.law table td {width: 75%;border: 1px solid #ccc;padding: 15px 25px; box-sizing: border-box; background: #fff;}
.law table td img{ vertical-align: middle;}
.law span{ display: block; padding-top: 20px; font-size: .8rem;}
.law span a {color: #0066c0;text-decoration: underline;}

.law label {
	position: absolute;
	z-index: 1;
	bottom: 0px;
	width: 100%;
	height:150px; /* グラデーションの高さ */
	cursor: pointer;
	text-align: center;
	/* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
	background: linear-gradient(to bottom, rgba(247, 247, 247, 0) 0%, rgba(247, 247, 247, 0.95) 90%);
}
.law input:checked + label {
	background: inherit; /* 開いた時にグラデーションを消す */
}
.law label:after {
	line-height: 2.5rem;
	position: absolute;
	z-index: 2;
	bottom: 20px;
	left: 50%;
	width: 16rem;
	content: '+ 続きをよむ';
	transform: translate(-50%, 0);
	letter-spacing: 0.05em;
	color: #ffffff;
	border-radius: 20px;
	background-color:#303030;
}
.law input {
	display: none;
}
.law .law_box {
	overflow: hidden;
	height: 0px; /* 開く前に見えている部分の高さ */
	transition: all 0.5s;
}
.law input:checked + label {
	display: none ; 
}
.law input:checked + label:after {
	font-family: FontAwesome;
	content: '× 閉じる';
}
.law input:checked ~ .law_box {
	height: auto;
	transition: all 0.5s;
}
@media screen and (max-width:767px) {
	.law table th {width: 100%; display: block; border: 1px solid #ccc; box-sizing: border-box; padding: 15px 0px;}
	.law table td {width: 100%;display: block; border-top: none; padding: 15px 25px;}
	.law table tr:nth-of-type(n+2) th{border-top: none;}
	.law table td img{ width: 15vw;}
}

.company{}
.company table {width: 100%;border-collapse: collapse;}
.company table th {width: 25%;border: 1px solid #ccc;vertical-align: middle;background:#303030; font-weight: bold; color: #fff;}
.company table td {width: 75%;border: 1px solid #ccc;padding: 15px 25px; box-sizing: border-box; background: #fff;}
.company table td img{ vertical-align: middle;}
@media screen and (max-width:767px) {
	.company table th {width: 100%; display: block; border: 1px solid #ccc; box-sizing: border-box; padding: 15px 0px;}
	.company table td {width: 100%;display: block; border-top: none; padding: 15px 25px;}
	.company table tr:nth-of-type(n+2) th{border-top: none;}
}
/*******************************
/* フッター固定メニュー
*******************************/
.ft_contact{ position: fixed; bottom: 0; width: 100%; height: 120px;background: #0057b8; z-index: 99;animation-duration: 1s;animation-fill-mode: both; display: none;}
.ft_contact_inner{ width: 1200px; margin: 0 auto;}
.fixed-menu {
  display: block;
  z-index: 999;
  bottom: 0;
  width: 100%;
  animation-name: fadeIn;
  background: #0040b9;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
.ft_contact_inner ul{ display: flex; justify-content: space-between;align-items: center; height: 120px; }
.ft_contact_inner ul li{ width: 48%;}
.ft_contact_inner ul li a{ font-weight: bold; font-size: 1.6rem;}
.ft_contact_inner ul li .btn a{ display: inline-block;color:#0d437e;background-color:#ffe200;border-bottom: 6px solid #c4af05;border-radius: 7px; padding: 20px 15px;-webkit-transition: all 0.3s;transition: all 0.3s;position: relative; width: 100%; box-sizing: border-box; text-align: center;}
.ft_contact_inner ul li .btn a:hover{background: #fff073;border-bottom: 2px solid #c4af05; margin-top: 3px;}
.ft_contact_inner ul li .line_btn a{ display: inline-block;color: #fff;background-color: #07b53b;border-bottom: 6px solid #347648;border-radius: 7px; padding: 20px 15px;-webkit-transition: all 0.3s;transition: all 0.3s;position: relative; width: 100%;box-sizing: border-box;text-align: center;}
.ft_contact_inner ul li .line_btn a:hover{background: #1dcd52;border-bottom: 2px solid #347648; margin-top: 3px;}
.ft_contact_inner ul li .btn a .fa-envelope{ padding-right: 10px;}
.ft_contact_inner ul li .line_btn a .fa-comment{ padding-right: 10px;}
@media screen and (max-width:767px) {
	.ft_contact{height:20vw;}
	.ft_contact_inner{ width: 100%; padding: 0 3vw; box-sizing: border-box;}
	.ft_contact_inner ul{height:20vw; }
	.ft_contact_inner ul li a{ font-weight: bold; font-size:3.5vw; }
	.ft_contact_inner ul li .btn a{padding: 10px 2vw;}
	.ft_contact_inner ul li .line_btn a{padding: 10px 2vw;}
	.ft_contact_inner ul li a span{font-weight: bold;}
}
/*******************************
/* フッター
*******************************/
footer{ padding: 100px 0 50px 0; background-color: #303030; color: #fff; font-size: .9rem;}
footer a{ color: #fff;}
.ft_flex{ display: flex; justify-content: center;align-items: center;}
.ft_about{ width: auto;}
.ft_logo{ padding-bottom: 15px; text-align: center;}
.ft_logo a img{ width: 300px;}
.ft_about span{ display: block;}

.ft_right{ width: 55%; display: flex; justify-content: flex-end;}
.ft_right ul:nth-of-type(n+2){ margin-left: 5%;}

.copyright{ display: block; text-align: center; padding-top:50px;font-size: .75rem; font-weight: normal; color: #ccc;}
@media screen and (max-width:767px) {
footer{ padding: 60px 0 50px 0; background-color: #303030; color: #fff; font-size: 3vw;}
footer a{ color: #fff; text-decoration: underline;}
.ft_flex{ display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;}
.ft_about{ width: 100%; text-align: center;}
.ft_logo{ padding-bottom: 15px;}
.ft_logo a img{ width: 50vw;}
.ft_about span{ display: block;}

.ft_right{ width:100%; display: flex; justify-content: space-between; padding-top: 30px;}
.ft_right ul:nth-of-type(n+2){ margin-left:0%;}

.copyright{ display: block; text-align: center; padding-top:30px;font-size: .75rem; font-weight: normal; color: #ccc;}
}

.fade-in{position:relative;opacity:0;-webkit-transform:translateY(40px);-ms-transform:translateY(40px);transform:translateY(40px);-webkit-transition:opacity 2s ease,-webkit-transform 1s ease;transition:opacity 2s ease,-webkit-transform 1s ease;transition:opacity 2s ease,transform 1s ease;transition:opacity 2s ease,transform 1s ease,-webkit-transform 1s ease}
.fade-in.is-active{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}
/*******************************
/* 画像ホバーアニメーション
*******************************/
a .imgbox{ width:100%; display:block; overflow:hidden; position:relative;}

a .imgbox img{transition: all .6s ease-out 0s !important;filter: saturate(150%);}
a:hover .imgbox img{ transform: scale(1.02);}