
html {
	overflow-y: scroll;
	overflow-x: hidden;
	-ms-overflow-style: scrollbar;
}

html, html a, body {　-webkit-font-smoothing: antialiased; }

html {
	font-size: 16px;
	-webkit-tap-highlight-color: transparent;
}

body {
	font-size: 1rem;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	color: #4b4b4b;
	line-height: 1.6;
	background-color: #fff;
	overflow: hidden!important;
}
@media (max-width: 1024px) {
body { font-size: 0.9rem; }
}
	
/* Typography */

h1 {
	margin:0;
	padding:5px 0 0!important;
	font-size:10px!important;
	text-align:left;
	color: #4b4b4b;
}

h2, h3, h4, h5, h6 {
	font-weight: 400;
	font-family:  'Zen Kaku Gothic New', sans-serif!important;
	line-height: 1.2;
	color: #4b4b4b;
	margin-top: 0;
	margin-bottom: .5rem;
}


h2,
h3,
h4,
h5,
h6 {
	margin-bottom: 0.75rem;
}


h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
	color: #4b4b4b;
	transition-duration: 200ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}


h2 a:focus,
h2 a:hover,
h3 a:focus,
h3 a:hover,
h4 a:focus,
h4 a:hover,
h5 a:focus,
h5 a:hover,
h6 a:focus,
h6 a:hover {
	color: #a79576;
	transition-duration: 200ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }

em,
li {
	font-size: 1rem;
	font-weight: 300;
	color: #4b4b4b;
}

em > a,
li > a {
	color: #4b4b4b;
}

em > a:hover,
li > a:hover {
	color: #a79576;
}

small {
	color: #656565;
}

label {
	font-size: 0.8125rem;
	font-weight: 700;
	color: #4b4b4b;
	margin-bottom: .25rem;
}

i { line-height: 1; }

/* Paragraph */
p {
	font-size: 15px;
	font-weight: 500;
	color: #4b4b4b;
	line-height: 2;
	margin-top: 0;
	margin-bottom: 1rem;
	font-family:  'Zen Kaku Gothic New', sans-serif;
}
@media (max-width: 1024px) {
p { font-size: 14px; }
}


/* Links */
a {
	color: #0099C0;
	text-decoration: none;
}

a:focus, a:hover {
	color: #00BBEB;
	text-decoration: none;
}

a:focus { outline: none; }

img {
	max-width: 100%;
	height: auto;
}

/* ===============================
   HERO SLIDER - FINAL COMPLETE FIX
   =============================== */

/* ===== ヘッダー高さ設定 ===== */

:root {
  --header-pc: 60px;
  --header-sp: 60px;
}

/* ===============================
   コンテナ
   =============================== */

.hero-slider {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
	z-index: 1;
	background: #fff;
}

/* ===============================
   高さ（元仕様＋ヘッダー分補正）
   =============================== */

/* デフォルト（PC） */
#demo-pc,
#demo-sp {
	min-height: calc(840px);
	margin-top: var(--header-pc);
}

/* 1299px以下 */
@media screen and (max-width:1299px){
#demo-pc,
#demo-sp {
	min-height: calc(500px);
}
}

/* 480px以下（SP） */
@media screen and (max-width:480px){
#demo-pc,
#demo-sp {
	min-height: calc(550px);
	margin-top: var(--header-sp);
}
}

/* ===============================
   ステージ
   =============================== */

.hero-stage {
	position: relative;
	width: 100%;
	min-height: inherit;
}

/* ===============================
   背景スライド
   =============================== */

.hero-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	z-index: 0;
	animation: zoomFade 18s infinite both;
}

/* 1枚目 */
.pc .slide1 { background-image: url("../imgs/s2.webp"); }
.sp .slide1 { background-image: url("../imgs/s2_sp.webp"); }

.slide1 { animation-delay: 0s; }
.slide2 { animation-delay: 6s; }
.slide3 { animation-delay: 12s; }

/* ===============================
   アニメーション
   =============================== */

@keyframes zoomFade {
  0%   { opacity: 0; transform: scale(1); }
  5%   { opacity: 1; }
  30%  { opacity: 1; transform: scale(1.12); }
  33%  { opacity: 0; }
  100% { opacity: 0; transform: scale(1); }
}

/* ===============================
   テキスト
   =============================== */

.inner-content {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 50%;
	text-align: center;
	padding: 0 13px;
	font-size: 4em;
	font-weight: 500;
	z-index: 5;
}

@media screen and (max-width:1200px){
.inner-content {
	width: 60%;
	font-size: 2.5em;
	color: #fff;
}
}

@media screen and (max-width:991px){
.inner-content {
	width: 60%;
	font-size: 1.75em;
	color: #fff;
}
}

@media screen and (max-width:500px){
.inner-content {
	width: 100%;
	top: 48%;
	font-size: 1.75em;
	color: #fff;
  }

.inner-content img { width: 250px; }
}

/*----------------------------------
  Selection
------------------------------------*/

::selection {
	color: #fff;
	background: #00C3FF;
	text-shadow: none;
}

::-webkit-selection {
	color: #fff;
	background: #00C3FF;
	text-shadow: none;
}

:active,
:focus {
	outline: none;
}

/*----------------------------------
  Button
------------------------------------*/

.s-btn {
	position: relative;
	display: block;
	margin: 0 auto!important;
	text-align: center;
	transition: .3s;
	font-size: 18px;
	font-weight: 600;
	padding: 5px 10px;
	z-index: 2;
}
@media only screen and (max-width: 1024px) {
.s-btn { font-size: 1rem; }
}

.sbtnc1 { background: #e8464d; border: 3px solid #e8464d; color: #fff; }
.sbtnc1:hover { background: #b3b3b3; border: 3px solid #b3b3b3; color:#fff; }
.sbtnc2 { background: #f5aa00; border: 3px solid #f5aa00; color:#fff; }
.sbtnc2:hover { background: #b3b3b3; border: 3px solid #b3b3b3; color:#fff; }
.sbtnc3 { background: #f9ce19; border: 3px solid #f9ce19; color:#fff; }
.sbtnc3:hover { background: #b3b3b3; border: 3px solid #b3b3b3; color:#fff; }
.sbtnc4 { background: #39b382; border: 3px solid #39b382; color:#fff; }
.sbtnc4:hover { background: #b3b3b3; border: 3px solid #b3b3b3; color:#fff; }
.sbtnc5 { background: #81c0e9; border: 3px solid #81c0e9; color:#fff; }
.sbtnc5:hover { background: #b3b3b3; border: 3px solid #b3b3b3; color:#fff; }
.sbtnc6 { background: #4593d0; border: 3px solid #4593d0; color:#fff; }
.sbtnc6:hover { background: #b3b3b3; border: 3px solid #b3b3b3; color:#fff; }
.sbtnc7 { background: #8f70ae; border: 3px solid #8f70ae; color:#fff; }
.sbtnc7:hover { background: #b3b3b3; border: 3px solid #b3b3b3; color:#fff; }
.sbtnc8 { background: #eb6d80; border: 3px solid #eb6d80; color:#fff; }
.sbtnc8:hover { background: #b3b3b3; border: 3px solid #b3b3b3; color:#fff; }

.fa-position-right::before {
	position: absolute;
	content: "";
	top:31%;
	right:15px;
}

/*----------------------------------
  Back To Top
------------------------------------*/

.s-back-to-top {
	position: fixed;
	z-index: 99;
	right: 0.5rem;
	bottom: 3rem;
	display: block;
	width: 1.875rem;
	height: 3rem;
	background: #f5aa00;
	border-radius: 3.125rem;
	text-align: center;
	transition-duration: 300ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

@media (max-width: 480px) {
.s-back-to-top { bottom: 5rem; }
}

.s-back-to-top:before {
	display: block;
	font-size: 0.75rem;
	font-style: normal;
	font-family: themify;
	color: #fff;
	line-height: 3rem;
	content: "\e627";
	transition-duration: 200ms;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.s-back-to-top:hover { background: #ccc; }
.s-back-to-top:hover:before { color: #fff; }
.s-back-to-top:focus, .s-back-to-top:hover { text-decoration: none; }

/* The button becomes visible */
.s-back-to-top.-is-visible { bottom: 5.125rem; }
.s-back-to-top.-is-visible:hover { opacity: 1; }

/*----------------------------------
  aisis
------------------------------------*/

.fontg1 { font-family: 'Noto Sans JP', sans-serif!important; }
.fontg2 { font-family: 'M PLUS Rounded 1c', sans-serif!important; }
.fontg3 { font-family: 'Zen Maru Gothic', sans-serif!important; }
.fontg4 { font-family: 'Zen Kaku Gothic New', sans-serif!important; }
.fontg5 { font-family: "Outfit", sans-serif!important; }

.w-shadow { text-shadow: 2px 2px 1px rgba(255,255,255,1); }
.w-shadow2 {
text-shadow:3px 3px 0 #FFF, -3px -3px 0 #FFF,
			-3px 3px 0 #FFF, 3px -3px 0 #FFF,
			0px 3px 0 #FFF,  0 -3px 0 #FFF,
			-3px 0 0 #FFF, 3px 0 0 #FFF;
}
.s_txtshadow {
text-shadow:2px 2px 0 #FFF, -2px -2px 0 #FFF,
		  -2px 2px 0 #FFF, 2px -2px 0 #FFF,
		  0px 2px 0 #FFF,  0 -2px 0 #FFF,
		  -2px 0 0 #FFF, 2px 0 0 #FFF;
}
@media screen and (max-width: 480px) {
.s_txtshadow {
text-shadow:1.3px 1.3px 0 #FFF, -1.3px -1.3px 0 #FFF,
		  -1.3px 1.3px 0 #FFF, 1.3px -1.3px 0 #FFF,
		  0px 1.3px 0 #FFF,  0 -1.3px 0 #FFF,
		  -1.3px 0 0 #FFF, 1.3px 0 0 #FFF;
}
}

.hover_o:hover { opacity: 0.8; transition: 0.3s; }

.flbox {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.flend { align-self: flex-end; }
.flcenter { align-self: center; }
.tlf { display: table; table-layout: fixed; }

.stws { text-shadow: 3px 3px #FFF; }
.stws2 { text-shadow: 2px 2px #FFF; }
.stb { text-shadow: 2px 2px #666; }

.marker { background: linear-gradient(transparent 70%, rgba(255,247,35,.8) 70%); }

.over-c { overflow-y: scroll; padding: 0 10px 0 0; }
.over-c::-webkit-scrollbar { width: 5px; }
.over-c::-webkit-scrollbar-track {
	background: #fff;
	border: none;
	border-radius:5px;
}
.over-c::-webkit-scrollbar-thumb{
	background: #ccc;
	box-shadow: none;
	border-radius:5px;
}

.bg-check { background: url("../img/top/check.png") left top / 110px; }
.bg-check2 { background: url("../img/top/check2.png") top left / 65px , #fff ; }
.bg-stripe { background-image: repeating-linear-gradient(270deg, #f2fbff, #f2fbff 16px, #ffffff 16px, #ffffff 32px); }

/*
.bg-stripe { background-image: repeating-linear-gradient(270deg, #EEF7FC, #EEF7FC 16px, #ffffff 16px, #ffffff 32px); }
.bg-stripe2 { background-image: repeating-linear-gradient(270deg, #FCFBEE, #FCFBEE 16px, #ffffff 16px, #ffffff 32px); }
*/

.imgc { margin:auto!important; }

.pc,.pc2,.pc3 { display: none!important; }
.sp,.sp2,.sp3 { display: inherit!important; }
@media (min-width: 580px) {
.pc { display: inherit!important ; }
.sp { display: none!important; }
}
@media (min-width: 992px) {
.pc2 { display: inherit!important; }
.sp2 { display: none!important; }
}
@media (min-width: 1400px) {
.pc3 { display: inherit!important; }
.sp3 { display: none!important; }
}

.disc {
	list-style: disc!important;
	color: #45340C;
	font-weight: 400!important;
}
.disc li {
	margin-bottom: .5em;
	font-weight: 500;
	font-size: 0.94rem;
}
.disc-cus,.disc-cus2 {
	list-style: none!important;
	font-weight: 400!important;
	padding: 0 ;
	margin: 0 auto;
}
.disc-cus li,.disc-cus2 li {
	position: relative;
	margin-bottom: 5px;
	font-weight: 500;
	font-size: 14px;
	padding: 0 0 0 20px;
	font-family: "Noto Sans JP", sans-serif;
	letter-spacing: 0;
}
.disc-cus li::before,.disc-cus2 li::before{
    position:  absolute; 
	content:  "";    
    width:  7px;               
    height:  7px;
	left:2px;
    top: 7px;   
    border-radius:  50%;        
}
.disc-cus li::before { background-color: #61bae7; }
.disc-cus2 li::before { background-color: #FFBF06; }

@media screen and (max-width: 480px) {
ul.disc-cus li , ul.disc-cus2 li { font-size: 12px; }
}

ul.lidisc-in { padding: 0 5px 0 15px; margin: 0; }
ul.lidisc-in li { 
	list-style: disc; 
	margin: 0 0 5px; 
	color:#444; 
	font-weight: 500; 
	font-size: 13px!important;	
	font-family: "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 768px) {
ul.lidisc li , ul.lidisc-in li { font-size: 12px !important; }
}

/*----------------------------------
  reserve
------------------------------------*/

.res { background: url("../img/top/resbg.webp") no-repeat left top / 100% , url("../img/top/resbg2.webp") no-repeat left bottom / 100% , url("../img/top/check.png") left top / 110px ; }

@media screen and (max-width:590px){
.res { 
	padding:80px 0 40px;
	background: url("../img/top/resbg_sp.webp") no-repeat left top / 100% , url("../img/top/resbg2_sp.webp") no-repeat left bottom / 100% , url("../img/top/check.png") left top / 110px ; }
}

/*----------------------------------
  feature
------------------------------------*/

.feature {
	background:url("../img/top/main_l.webp")no-repeat left top 100px / 400px , url("../img/top/main_r.webp")no-repeat right top 100px / 400px  , #fff;
	background-attachment: fixed;
}
@media only screen and (max-width: 1400px) {
.feature { background:url("../img/top/main_l_sp.webp")repeat-y left -50px top / 250px, url("../img/top/main_r_sp.webp")repeat-y right -50px top / 250px , #fff ; }
}
@media only screen and (max-width: 480px) {
.feature { background:url("../img/top/main_l_sp.webp")repeat-y left -50px top / 200px, url("../img/top/main_r_sp.webp")repeat-y right -50px top / 200px , #fff ; }
}


.fea1,.fea2,.fea3 ,.fea4 {
	position: relative;
	z-index: 1!important;
}
.fea1::before,.fea2::before,.fea3::before,.fea4::before {
	position: absolute;
	content: "";
	width: 45vw;
	height: 90%;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 0;
	z-index: -1!important;
}

.fea1::before { background: url("../img/top/fea1.webp")no-repeat center center / cover ; }
.fea2::before { background: url("../img/top/fea2.webp")no-repeat center center / cover ; }
.fea3::before { background: url("../img/top/fea3.webp")no-repeat center center / cover ; }
.fea4::before { background: url("../img/top/fea4.webp")no-repeat center center / cover ; }

@media screen and (max-width: 480px) {
.fea1::before,.fea2::before,.fea3::before,.fea4::before { display: none; }
}

.feanum1,.feanum2,.feanum3,.feanum4 { position: relative; }
.feanum1::before,.feanum2::before,.feanum3::before,.feanum4::before {
	position: absolute;
	font-family:"Outfit", sans-serif;
	font-weight: 500;
	font-size: 4rem;
	width: 100%;
	height: 50%;
	top: -80px;
	left: 0;
}
.feanum1::before { content: "Feature 1"; color:#4593d0; }
.feanum2::before { content: "Feature 2"; color:#39b382; }
.feanum3::before { content: "Feature 3"; color:#f5aa00; }
.feanum4::before { content: "Feature 4"; color:#81c0e9; }

@media screen and (max-width: 1400px) {
.feanum1::before,.feanum2::before,.feanum3::before,.feanum4::before {
	font-size: 2.5rem;
	top: -50px;
}
}
@media screen and (max-width: 480px) {
.feanum1::before,.feanum2::before,.feanum3::before,.feanum4::before {
	font-size: 2rem;
	top: -235px;
	text-align: center;
}
}

/*----------------------------------
  health
------------------------------------*/

.health { background: url("../img/top/healthbg.webp") center center / 100% , #fff; }

@media screen and (max-width:768px){
.health { background: url("../img/top/healthbg.webp") center top / 200% , #fff; }
}

/*----------------------------------
  about
------------------------------------*/

.about {
	position: relative;
}
.about::before {
	position: absolute;
	content: "";
	height: 100%;
	width: 40%;
	top: 0 ;
	right: 0;
	background:url("../img/top/invisa2.webp") no-repeat center top / cover ;
}
@media only screen and (max-width: 1300px) {
.about::before {
	background:url("../img/top/invisa2_tab.webp") no-repeat center top / cover ;
}
}
@media only screen and (max-width: 576px) {
.about::before {
	background: none;
}
}

/*----------------------------------
  flow
------------------------------------*/

.flow { overflow: hidden!important; }
.flow::before {
	position: fixed;
	content: "";
	height: 100vh;
	width: 100vw;
	z-index: -1;
	top:0;
	left: 0;
	background:url("../img/top/flowbg.webp")no-repeat left center / cover ;
}

.List-Item-Content {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	align-items: center;
	z-index: 0;
}
@media screen and (max-width: 540px) {
.List-Item-Content { flex-wrap: wrap; }
}
.List-Item-Content .col-10 { position: relative; }
.List-Item-Content .col-2 {	position: relative; }
.List-Item-Content .col-2::before {
	content: "";
	position: absolute;
	top: 50.5%!important;
	left: calc(50% - 1px);
	transform: translate(-50%,-50%);
	width: 2px;
	height: 100%;
	z-index: -1;
}
.numb1.List-Item-Content .col-2::before { background: #f5aa00; }
.numb2.List-Item-Content .col-2::before { background: #ffda3f; }
.numb3.List-Item-Content .col-2::before { background: #39b382; }
.numb4.List-Item-Content .col-2::before { background: #81c0e9; }
.numb5.List-Item-Content .col-2::before { background: #4593d0; }
.numb6.List-Item-Content .col-2::before { background: #8f70ae; }
.numb7.List-Item-Content .col-2::before { background: #e8464d; }

.List-Item-Content-Number {
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 60px;
	height: 60px;
	line-height: 60px;
	text-align: center;
	color: #fff;
	font-size: 30px;
	font-family: 'Reem Kufi', sans-serif; 
	font-weight: 500;
	border-radius: 5px;
}
.numb1 .List-Item-Content-Number { background: #f5aa00; }
.numb2 .List-Item-Content-Number { background: #ffda3f; }
.numb3 .List-Item-Content-Number { background: #39b382; }
.numb4 .List-Item-Content-Number { background: #81c0e9; }
.numb5 .List-Item-Content-Number { background: #4593d0; }
.numb6 .List-Item-Content-Number { background: #8f70ae; }
.numb7 .List-Item-Content-Number { background: #e8464d; }

.List-End .col-10::before {	border-bottom: none!important; }

@media screen and (max-width: 576px) {
.List-Item-Content-Number {
	width: 50px;
	height: 50px;
	line-height: 50px;
	font-size: 24px;
}
}

/*----------------------------------
  case
------------------------------------*/

.step {
	display: block;
	font-weight: 600;
	background-color: #444;
	color: #fff;
	padding: 5px 15px;
	text-align: center;
	border-radius: 5px;
	font-family: 'Zen Kaku Gothic New', sans-serif;
}

table.case {
	margin:0 auto;
	width:100%;
    border-collapse:separate;
    border-spacing:5px;
	empty-cells:show;
	font-family: 'Zen Kaku Gothic New', sans-serif!important;
}
.case th {
	font-size:13px;
	letter-spacing:1px;
	padding:12px 10px;
	text-align: center;
	color:#333;
	font-weight: 600;
}
.case td {
	font-size:13px;
	color:#333;
	padding:12px 10px;
	font-weight: 500;
}
.case td ul li {
	font-size:12px!important;
	margin-bottom: 2px;
	color:#333;
}

@media only screen and (max-width:1024px){
.case td,.case th { font-size: 13px; }
}
@media only screen and (max-width:580px){
.case td,.case th {
	width:100%;
	display:block;
	padding:10px;
	font-size: 13px;
}
}

.flwrc,.flwrc-2 {	position: relative; }
.flwrc p,.flwrc-2 p {	font-size: 15px; }
.flwrc::before {
	content: "";
	position: absolute;
	top: 45%;
	right: -35px;
	margin-top: -12px;
	border: 14px solid transparent;
	border-left: 14px solid #fba928;
	z-index: 2;
}

/*----------------------------------
  child
------------------------------------*/

.child { background:url("../img/top/childbg.webp") center center / 100% , #fff; }

/*----------------------------------
  price
------------------------------------*/

table.price {
	margin:0 auto;
	width:100%;
    border-collapse:separate;
    border-spacing:5px;
	empty-cells:show;
}
.price th {
	font-size:15px;
	color: #333;
	letter-spacing: 0.5px;
	padding:12px 0;
	text-align: center;
	font-family: 'Zen Kaku Gothic New', sans-serif!important;
}
.price td {
	font-size:15px;
	color:#333;
	padding:8px;
	vertical-align: middle!important;
	font-weight: 500;
	font-family: "Noto Sans JP", sans-serif!important;
	letter-spacing: 0.5px;
}
@media only screen and (max-width:1024px){
.price td,.price th { font-size: 14px; }
}
@media only screen and (max-width:580px){
.price td,.price th {
	width:100%;
	display:block;
	padding:10px;
	font-size: 13px;
	text-align: center;
}
}

/*----------------------------------
  Q&A
------------------------------------*/

.cp_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 auto 10px;
	color: #ffffff;
}
.cp_actab input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.cp_actab label {
	line-height: 2;
	position: relative;
	display: block;
	cursor: pointer;
	margin: 0 0 1px 0;
	font-weight: 400!important;
	background-color: #FFFFFF;
	color: #333;
	font-family: "Outfit", sans-serif;
}
.cp_actab th {
	padding:10px;
	background-color: #81c0e9;
	width: 50px;
	text-align: center;
	color: #fff;
}
.cp_actab td {
	padding:10px 3em 10px 10px;
	color:#444;
}
.cp_actab .cp_actab-content {
	margin:0!important;
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 1s;
	transition: max-height 1s;
	background: #FFFFFF;
}
.cp_actab .cp_actab-content p {
	margin: 1em;
	color: #555!important;
	font-weight: 500!important;
	line-height: 1.7;
}
.cp_actab input:checked ~ .cp_actab-content { max-height: 500em; }
.cp_actab label::after {
	line-height: 4;
	position: absolute;
	top: 0;
	bottom:0;
	right: 0;
	display: block;
	width: 4em;
	height: 4em;
	-webkit-transition: all .5s;
	transition: all .5s;
	text-align: center;
	margin: auto;
}
.cp_actab input[type=checkbox] + label::after {	content: '+'; }
.cp_actab input[type=checkbox]:checked + label::after {	transform: rotate(315deg); }

/*----------------------------------
  doctor
------------------------------------*/

.doc {
	background:url("../img/top/main_l.webp")no-repeat left top 100px / 400px , url("../img/top/main_r.webp")no-repeat right top 100px / 400px  , #fff;
	background-attachment: fixed;
}
@media only screen and (max-width: 1400px) {
.doc { background:url("../img/top/main_l_sp.webp")repeat-y left -50px top / 250px, url("../img/top/main_r_sp.webp")repeat-y right -50px top / 250px , #fff ; }
}
@media only screen and (max-width: 480px) {
.doc { background:url("../img/top/main_l_sp.webp")repeat-y left -50px top / 200px, url("../img/top/main_r_sp.webp")repeat-y right -50px top / 200px , #fff ; }
}

/*----------------------------------
  infinit slide
------------------------------------*/

#pic {
	position: relative;
	clear:both;
	margin:0;
	padding:0;
	width:100%;
	background: #fff;
}
#pic::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 50%;
	bottom:0;
	left: 0;
	background: url("../img/top/check.png") left bottom / 110px;
}
#pic ul,#pic li {
	float:left;
	list-style: none;
	margin: 0!important;
	padding:0!important;
}
#pic li img{
	width: 280px!important;
}

/*----------------------------------
  footer
------------------------------------*/

.foot-d { display: inherit!important; }
@media (min-width: 1099px) {
.foot-d { display: none!important; }
}

#footel {
	position: relative;
	margin:0;
	width:100%;
	font-weight:normal;
	background: #63b3aa;
	z-index: 999!important;
}
@media screen and (max-width:1100px){
#footel {
	z-index: 999;
	margin:0;
	position: fixed;
    bottom:0;
	width:100%;
	padding:0;
	background-color: rgba(0,0,0,0);
}
}

.map {
	margin:0;
	width:100%;
	height:90%;
	padding:0;
	text-align:center;
}
@media only screen and (max-width:480px){
.map { height:350px; }
}

.fitem {
	font-size: 13px;
	margin: 3px 0 -2px;
	color:#fff;
}

.time {
	width: 100%;
	margin: 0 auto 10px;
}
.time th {
	padding:10px 4px;
	word-break: break-all;
	font-weight: 600!important;
	text-align: center;
	white-space: nowrap;
	font-size: 16px!important;
	color:#fff;
	background: #ffb401;
	font-family: "Outfit", sans-serif;
}
.time td {
	padding:10px 4px;
	word-break: break-all;
	font-weight: 600!important;
	text-align: center;
	font-size: 15px!important;
	border-bottom: 1px solid #DFE0E4;
	color: #4b4b4b;
	background: #ffffff;
	font-family: "Outfit", sans-serif;
}

@media screen and (max-width:480px){
.time td {	font-size: 14px!important; }
.time th {	font-size: 14px!important; }
}

/*----------------------------------
  title st
------------------------------------*/

.stt {
	position: relative;
	text-align: center;
	font-weight: 600;
	margin-top: 45px;
	font-family:  'Zen Kaku Gothic New', sans-serif;
	line-height: 1.3;
}
.stt::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 50px;
	top: -45px;
	left: 0;
	right: 0;
	margin: 0 auto;
	background: url("../img/top/tit.png")no-repeat center center / contain ;
}
.stt span {
	font-family: 'Reem Kufi', sans-serif!important;
	color:#b3b3b3;
	font-size: 24px!important;
}
@media only screen and (max-width:768px){
.stt { margin-top: 35px; }
.stt::before {
	height: 40px;
	top: -35px;
}
.stt span { font-size: 18px!important; }
}


/*----- st -----*/

.st {
	background: #75d0c9;
	padding: 10px;
	border-radius: 20px 20px 0 0;
	color: #fff;
	text-align: center;
	overflow: hidden;
}

.st2 {
	position: relative;
	display: inline-block;
	padding: 0 45px;
	line-height: 1.5;
}
.st2:before, .st2:after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 44px;
	height: 2px;
	background-color: #F86B96;
}
.st2:before {
	left:0;
	-webkit-transform: rotate(60deg);
	transform: rotate(60deg);
}
.st2:after {
	right: 0;
	-webkit-transform: rotate(-60deg);
	transform: rotate(-60deg);
}

.st3 {
    position: relative;
    text-align: center;
    color: #fff;
	padding:12px;
	background: #ccc;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 600;
	width: 100%;
}

.st3::before {
	position: absolute;
	content: "";
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	border: #fff dashed 2px;
	top: 0;
	bottom:0;
	right: 0;
	left: 0;
	margin:auto ;
}

.st4 , .st4-2 , .st4-3 , .st4-4 , .st4-5 , .st4-6 , .st4-7 {
	padding: 8px 10px 10px;
	letter-spacing: 0.05em;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 600;
}
.st4 { border-left: 6px solid #e8464d; }
.st4-2 { border-left: 6px solid #f5aa00; }
.st4-3 { border-left: 6px solid #ffda3f; }
.st4-4 { border-left: 6px solid #39b382; }
.st4-5 { border-left: 6px solid #81c0e9; }
.st4-6 { border-left: 6px solid #4593d0; }
.st4-7 { border-left: 6px solid #8f70ae; }


.st5 {
	padding: .5em .75em;
	background-color: #75d0c9;
	color: #fff;
	font-weight: 600;
}

.st6 {
	padding: 1rem 2rem;
	border-top: 6px double #ffff00;
	border-bottom: 6px double #ff0;
	color: #ffff00;
	text-align: center;
}

.st7 {
	font-weight: bold;
	background-color: #28a9dc;
	color: #fff;
	padding: 0.5em 1em;
	position: relative;
	text-align: center;
	line-height: 1;
}
.st7::after {
	content: '';
	background-color: #28a9dc;
	width: 100%;
	height: 3px;
	position: absolute;
	bottom: -6px;
	left: 0;
}

.st8 {
	position: relative;
	overflow: hidden;
	padding: 25px 0 ;
}
.st8::before {
	content: '';
	position: absolute;
	top: -10px ;
	left: 0 ;
	width: 100%;
	height: 100%;
	border-bottom: 4px dotted #fff;
	z-index: 1;
	pointer-events: none;
}
.st8::after {
	content: '';
	position: absolute;
	top: 10px ;
	left: 0 ;
	width: 100%;
	height: 100%;
	border-top: 4px dotted #fff;
	z-index: 1;
	pointer-events: none;
}

/*----- stf -----*/

.stf,.stf2,.stf2-2{
	position: relative;
	padding: .5em 0;
	line-height: inherit;
	color: #fff;
	font-weight: 600;
	border-radius: 5px;
	font-family: 'Zen Kaku Gothic New', sans-serif;
}
.stf2{
	color: #4d4d4d;
	border-radius: 100px;
}
.stf::after , .stf2::after {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	margin: auto;
	content: '';
	width: 0;
	height: 0;
	border: 10px solid transparent;
}
.stf2::after {
	border: 16px solid transparent;
}
.stf2-2::after {
	position: absolute;
	top: 100%;
	left: 30px;
	content: '';
	width: 0;
	height: 0;
	border: 10px solid transparent;
}

.stfc1 { background-color: #e8464d;}
.stfc1::after { border-top: 10px solid #e8464d;}
.stfc2 { background-color: #f5aa00;}
.stfc2::after { border-top: 10px solid #f5aa00;}
.stfc3 { background-color: #ffda3f;}
.stfc3::after { border-top: 10px solid #ffda3f;}
.stfc4 { background-color: #39b382;}
.stfc4::after { border-top: 10px solid #39b382;}
.stfc5 { background-color: #81c0e9;}
.stfc5::after { border-top: 10px solid #81c0e9;}
.stfc6 { background-color: #4593d0;}
.stfc6::after { border-top: 10px solid #4593d0;}
.stfc7 { background-color: #8f70ae;}
.stfc7::after { border-top: 10px solid #8f70ae;}

.stf2c1 { background-color: #fff; border: 5px solid #e8464d;}
.stf2c1::after { border-top: 16px solid #e8464d;}
.stf2c2 { background-color: #fff; border: 5px solid #f5aa00;}
.stf2c2::after { border-top: 16px solid #f5aa00;}
.stf2c3 { background-color: #fff; border: 5px solid #ffda3f;}
.stf2c3::after { border-top: 16px solid #ffda3f;}
.stf2c4 { background-color: #fff; border: 5px solid #39b382;}
.stf2c4::after { border-top: 16px solid #39b382;}
.stf2c5 { background-color: #fff; border: 5px solid #81c0e9;}
.stf2c5::after { border-top: 16px solid #81c0e9;}
.stf2c6 { background-color: #fff; border: 5px solid #4593d0;}
.stf2c6::after { border-top: 16px solid #4593d0;}
.stf2c7 { background-color: #fff; border: 5px solid #8f70ae;}
.stf2c7::after { border-top: 16px solid #8f70ae;}.stfc1 { background-color: #e8464d; }


/*----------------------------------
  table
------------------------------------*/

table.com {
	margin:0;
	width:100%;
    border-collapse:separate;
    border-spacing:5px;
    empty-cells:show;
	font-family: 'Noto Sans JP', sans-serif;
}
.com th {
	font-weight: 600;
    padding:10px;
	font-size: 14px;
	vertical-align: middle!important;
	color: #fff;
	text-align: center;
}
.com td {
	font-weight: 500;
    padding:10px;
	font-size: 14px;
	vertical-align: middle!important;
}
@media screen and (max-width: 1024px) {
.com td,.com th { font-size: 14px; }
}
@media screen and (max-width: 480px) {
.com td,.com th {
	width: 100%;
	display: block;
}
}

table.com2 {
	margin:0;
	padding: 4px;
	width:100%;
	border-collapse:collapse;
	empty-cells:show;
	border-spacing: 20px!important;
	background-color: rgba(255,255,255,0.60);
}
.com2 th {
	letter-spacing: 1px;
	padding:10px;
	border-spacing: 20px!important;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	text-align: center;
	font-weight: 600;
	font-family: 'Noto Sans JP', sans-serif!important;
}
.com2 td {
	font-size: 14px;
	padding: 10px;
	border-spacing: 20px!important;
	border-bottom: 1px solid #ccc;
}

@media only screen and (max-width: 480px) {
table { border-collapse: collapse; }
.com td,.com th {
	width: 100%;
	display: block;
	padding: 10px;
	font-size: 14px;
}
.com2 th { font-size: 14px; }
}

/*----------------------------------
  box
------------------------------------*/

.txtbox {
	background-color: #fff;
	padding: 20px 20px;
	width: 100%;
}
.txtbox2 {
	background-color: #fff;
	padding: 40px 40px;
}

.boxbg{
    padding: 60px;
	margin-top: -20px;
}

@media only screen and (max-width:1200px){
.txtbox , .txtbox2 {
	background-color: #fff;
	padding: 15px 15px;
}
.boxbg{
    padding: 40px 20px 20px;
	margin-top: -5px;
}
}

.bgbox {
	background-color: rgba(255, 255, 255, 0.5);
	padding: 40px;
	margin-top: -35px;
}

@media screen and (max-width: 768px) {
.bgbox {
	padding: 30px 15px 15px;
	margin-top: -30px;
}
}


/*----------------------------------
  border
------------------------------------*/

.border1 { border: 2px solid #e8464d !important; margin-top: -2px; }
.border2 { border: 2px solid #f5aa00 !important; margin-top: -2px; }
.border3 { border: 2px solid #ffda3f !important; margin-top: -2px; }
.border4 { border: 2px solid #39b382 !important; margin-top: -2px; }
.border5 { border: 2px solid #81c0e9 !important; margin-top: -2px; }
.border6 { border: 2px solid #4593d0 !important; margin-top: -2px; }
.border7 { border: 2px solid #8f70ae !important; margin-top: -2px; }

/*----------------------------------
  other
------------------------------------*/

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	box-shadow: -9px 6px 16px -6px rgba(0,0,0,0.2);
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
} 
	
/*----- accordion -----*/

.accordion { width: 100%; }
.accordion-hidden { display: none; }

.accordion-open {
	display: block;
	padding: 10px 80px 10px 20px;
	background: #f86b96;
	cursor: pointer;
	margin: 5px 0;
	position: relative;
	color:#fff;
	font-weight: bold;
}

.accordion-open::before,
.accordion-open::after {
	content: '';
	width: 20px;
	height: 3px;
	background: #fff;
	position: absolute;
	top: 50%;
	right: 5%;
	transform: translateY(-50%);
}

.accordion-open::after {
	transform: translateY(-50%) rotate(90deg);
	transition: .5s;
}

.accordion-hidden:checked+.accordion-open:after { transform: translateY(-50%) rotate(0); }

.accordion-inner {
	display: block;
	height: 0;
	overflow: hidden;
	padding: 0;
	opacity: 0;
	transition: 0.5s;
	cursor: pointer;
}

.accordion-hidden:checked+.accordion-open+.accordion-inner { height: auto;	opacity: 1; }

.accordion_qa .Q,
.accordion_qa .A { position: relative; }

.accordion_qa .Q::before,
.accordion_qa .A::before {
	font-size: 1.5em;
	display: block;
	position: absolute;
	top: -.3em;
	left: -1.0em;
}

.accordion_qa .c::before {
	font-size: 1.5em;
	display: block;
	position: absolute;
	top: -.3em;
	left: 0em;
}
.accordion_qa .Q::before { content: 'Q.'; }
.accordion_qa .A::before { content: 'A.'; }

.accordion_qa .accordion-open { padding-left: 2.5em; }
.accordion_qa .accordion-hidden:checked+.accordion-open+.accordion-inner {
	height: auto;
	opacity: 1;
	padding: 10px 10px 10px 2.5em;
}

.accordion-inner2 {
	height: auto;
	opacity: 1;
	padding: 10px 10px;
}

.aco-padding { padding: 10px 0px!important; }




