/* ---------------------------------------------
 font
--------------------------------------------- */
body,select,input,button,textarea {
    font-size:1.4rem; color:#333;
    font-family:'Noto Sans JP', sans-serif,"游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;
    font-weight:400;
}

.f_serif { font-family:'Noto Serif JP', serif; }
.f_letterspace { letter-spacing:.3em; margin-left:.3em; }

/* ---------------------------------------------
 text
--------------------------------------------- */
.p + * { margin-top:20px; padding:0; }
.note { font-size:.9em; color:#666; }

.lead { text-align:center; margin-top:2em; }
.lead p { text-align:center; /* font-family:'Noto Serif JP', serif;  */font-size:1.8rem; color:#555; line-height:2; }
.lead p + * { margin-top:2em; }
@media screen and (max-width:767px) {
    .lead { margin:0 auto; max-width:90vw; }
    .lead p { font-size:1.5rem; line-height:1.8; }
    .lead p + * { margin-top:0; }
}

/* ---------------------------------------------
 h
--------------------------------------------- */
h1 { margin-top:1.2em; margin-bottom:1.0em; font-family:'Noto Serif JP', serif; font-size:3.8rem; color:#5591c5; text-align:center; }
h2 { color:#5591c5; font-weight:bold; font-size:2rem; margin:3em 0 1em 0; text-align:center; }
h3 { color:#000; font-weight:bold; font-size:2rem; margin-top:2em 0 1em 0; }
h4 { color:#000; font-weight:bold; font-size:1.8rem; margin-top:2em; }
h5 { color:#333; font-weight:bold; font-size:1.6rem; margin-top:1em; }
h5.rec { color:#5591c5; font-weight:bold; font-size:1.6rem; margin-top:1em; }
body.cnts h1 { margin-top:0.5em; margin-bottom:0em; }
@media only screen and (max-width:767px) {
  h1  { font-size:1.8em; }
}

/* ---------------------------------------------
 a
--------------------------------------------- */
a { color:#09e; transition:color .2s; text-decoration:none; }
a:hover { color:#0cf; }

a.link { margin-top:0.5em; display:inline-block; font-family:'Noto Sans JP', sans-serif; }
a.link:before { font-family:"Font Awesome 5 Free"; content:'\f061'; font-weight:900; margin-right:5px; }

a.newwin { text-decoration:none; margin-top:0.5em; display:inline-block; font-family:'Noto Sans JP', sans-serif; }
a.newwin:after { font-family:"Font Awesome 5 Free"; content:'\f24d'; font-weight:400; margin-left:5px; }

.link_spec { text-align: right; }
.link_spec a { color: #5591c5; }
.link_spec a::before { content:'\f138'; display:inline-block; margin-right:0.5em; font-family:"Font Awesome 5 Free"; font-weight:900; }
.link_spec a:hover { color:#0cf; }

/* ---------------------------------------------
 list
--------------------------------------------- */
ul.caution { margin:0 auto 10px auto; padding:7px 0 0 3rem; text-align:left; font-size:1.5rem; max-width:840px;}
ul.caution li { list-style-type:none; padding:0 0 0.5rem 0; margin-left:0rem; }
ul.caution li:before { content:"※"; font-weight:bold; margin:0 0.5rem 0 -2.0rem; position:relative; }


/* ---------------------------------------------
 btn
--------------------------------------------- */
a.btn1{ margin:10px auto; width: 250px; display:block; color:#fff; text-align:center; font-weight:bold; text-decoration:none; transition: .2s; background-color:#5591c5;
box-shadow:1px 1px 3px rgba(0,0,0,0.3); transition:.1s; position:relative; padding:10px 30px; border-radius: 50px;}
a.btn1:hover { background-color:#0af; color:#fff; text-decoration:none; box-shadow:0 0 1px rgba(0,0,0,0.1); transform:translate(1px,1px); }
a.btn1::before { content:'\f138'; display:inline-block; margin-right:0.5em; font-family:"Font Awesome 5 Free"; font-weight:900; }

a.btn2{ margin:10px auto; width: 240px; display:block; color:#fff; text-align:center; font-weight:bold; text-decoration:none; transition: .2s; background-color:#3ebaff;
box-shadow:1px 1px 3px rgba(0,0,0,0.3); transition:.1s; position:relative; padding:10px 20px; border-radius: 50px;}
a.btn2:hover { background-color:#5591c5; color:#fff; text-decoration:none; box-shadow:0 0 1px rgba(0,0,0,0.1); transform:translate(1px,1px); }
a.btn2::before { content:'\f138'; display:inline-block; margin-right:0.5em; font-family:"Font Awesome 5 Free"; font-weight:900; }


/* ------------------------------------
header
------------------------------------ */
#header { max-width: 980px; width: 100%; height: 520px; margin: 0 auto; position: relative; }
#header a { text-decoration:none; }
#header #sitelogo { margin:0 1em 0 0; position:relative; z-index: 100; display: inline-block; }
#header .contentsinner { position: relative; width: 100%; top:-100px; max-width: 840px; margin: 0 auto; }
#header p.catch { font-size: 14px; position: absolute; top:15px; left: 170px; color: #5591c5; }
#header .link_contact a { font-size: 14px; position: absolute; top:15px; right: 70px; color: #5591c5; }
#header .link_contact a::before { content:'\f0e0'; display:inline-block; font-family:"Font Awesome 5 Free"; font-weight:900; margin-right:0.15em; }
#header .link_contact a:hover { color:#0cf; }
#header .link_recruit a { font-size: 14px; position: absolute; top:15px; right: 190px; color: #fc47ed; }
#header .link_recruit a::before { content:'\f500'; display:inline-block; font-family:"Font Awesome 5 Free"; font-weight:900; margin-right:0.15em; }
#header .link_recruit a:hover { color:#ff00c3; }
body.cnts #header { height: 180px; }

nav { display:none; /* width:calc(100% - 250px); display:flex; justify-content:space-between; */ }

#gnavi { display: block; /* display:flex; */ }
#gnavi li a { color:#5591c5; display:block; padding:10px; font-family:'Noto Serif JP', serif; font-size:1.5rem;  transition:.3s box-shadow;}
#gnavi li a.on,
#gnavi li a:hover { background-color: #0cf; }

@media screen and (min-width:768px) and ( max-width:980px) {
  #header p.catch { font-size: 13px; padding-right: 230px; line-height: 1.2; }
  #header .link_contact a { right: 0px; }
  #header .link_recruit a { right: 115px; }
}

@media screen and (max-width:767px) {
  #header { /* position:fixed; */ top:0; width:100%; z-index:99; background:#fff; height: inherit !important; }
  body #container { /* padding-top:40px; */ /* margin-top:45px; */ position:relative; z-index:1000; }
  nav { display:none; position:absolute; top:0px; left:0; width:100%; background:#fff; padding:30px 10px; text-align:center; box-shadow:0 2px 2px rgba(0,0,0,.4); z-index: 2000; }

  #header .contentsinner { flex-wrap:wrap; justify-content:center; padding:0; width:100%; }
  #header #sitelogo { margin:0; font-size:2rem; width: 35%; }
  body.cnts #header #sitelogo { width: 30%; }
  #header #sitelogo img { width: 100%; }
  #header .link_contact,
  #header .link_recruit { display: none; }
  #header p.catch { top:50px; left: 36.5%; line-height: 1.4; padding-right: 5px; }
  body.cnts #header p.catch { left: 32%; }

  #gnavi { justify-content:center; }
  #gnavi li { /* width:15vw; */ }
}

@media screen and (max-width:360px) {
  #header p.catch { font-size: 1.3rem; line-height: 1.2; top:45px; }
}

/* ============================================
 ハンバーガーメニュー
============================================ */
#nav_toggle{ display:none; }
@media only screen and (max-width:767px) {
	/*開閉ボタン*/
	#nav_toggle { display:block; width:30px; height:30px; position:absolute; top:12px; right:15px; z-index:300; cursor :pointer; z-index: 3000; }
	#nav_toggle div { position:relative; }
	#nav_toggle span{ display:block; height:3px; background:#5591c5; position:absolute; width:100%; left:0;
                    -webkit-transition:0.2s ease-in-out; -moz-transition:0.2s ease-in-out; transition:0.2s ease-in-out; }
	#nav_toggle span:nth-child(1){ top:0px; }
	#nav_toggle span:nth-child(2){ top:10px; }
	#nav_toggle span:nth-child(3){ top:20px; }

	/*開閉ボタンopen時*/
	.open #nav_toggle span:nth-child(1) { top:12px; -webkit-transform:rotate(135deg); -moz-transform:rotate(135deg); transform:rotate(135deg); }
  .open #nav_toggle span:nth-child(2) { width:0; left:50%; }
  .open #nav_toggle span:nth-child(3) { top:12px; -webkit-transform:rotate(-135deg); -moz-transform:rotate(-135deg); transform:rotate(-135deg); }
}

/* ------------------------------------
  #mainv
----------------------------------------------------------------------- */
#mainv { width:100%; position: relative; z-index: 1;  /* height:440px;  */}

#mainv .slide_area .slide01 .slide_txt { position: absolute; font-family:'Noto Serif JP', serif; top:70px; left: 50%; transform: translateX(-50%); color: #fff; text-align: center; }
#mainv .slide_area .slide01 .slide_txt .txt1 { font-size: 3.8rem; margin: 0 0 7px 0; }
#mainv .slide_area .slide01 .slide_txt .txt1 span { color: #ff99f1; }
#mainv .slide_area .slide01 .slide_txt .txt2 { font-size: 1.4rem; margin: 0 0 0 auto; display: block; width: 500px; letter-spacing: 0.05em; }
#mainv .slide_area .slide01 .slide_txt .txt2 span { display: block; /* text-indent: 2.0em; */ }


@media only screen and (max-width:767px) {
  #mainv { top: 70px;  /* height:220px; */ }
  body.cnts #mainv { top: 100px; }
  #mainv .slide_area .slide01 .slide_txt { top:35px; right: 0; text-align: left; width: 280px; }
  #mainv .slide_area .slide01 .slide_txt .txt1 { width: 280px; font-size: 3.0rem; margin: 0 0 5px 0; }
  #mainv .slide_area .slide01 .slide_txt .txt2 { width: inherit; }
  #mainv .slide_area .slide01 .slide_txt .txt2 span { display: block; text-align: right; /* text-indent: 2.0em; */ }
}

/* ------------------------------------
  footer
------------------------------------ */
footer { padding:0; margin: 0; position: relative; }
footer a { text-decoration:none; }

footer .foot1 { background:#f9f8f2; padding: 50px 0; }
footer .foot1 .contentsinner { max-width: 840px; width: 100%; margin: 0 auto; }
footer .foot1 .contentsinner h3 { margin-bottom: 10px; }
footer .foot1 .contentsinner .foot_container { display: flex; justify-content: space-between; align-items:center; }
footer .foot1 .contentsinner .foot_container .item p { font-size: 1.6rem; }
footer .foot1 .contentsinner .foot_container .item img.qr { width: 100%; max-width: 110px; margin-top: 40px; }

footer .foot2 { background:#edebe2; padding: 20px 0; }
footer .foot2 .contentsinner { max-width: 840px; width: 100%; margin: 0 auto; display:flex; justify-content:space-between; }
footer .foot2 .contentsinner #copyright { display:inline-block; color:#666; }
footer .foot2 .contentsinner ul.links { display:inline-block; }
footer .foot2 .contentsinner ul.links li { display:inline-block; margin:0 1em 0 0; }
footer .foot2 .contentsinner ul.links li a { color:#666; transition: .2s; }
footer .foot2 .contentsinner ul.links li a:hover { color:#000; }

@media only screen and (max-width:767px) {
  footer .foot1 { padding: 30px 0; }
  footer .foot1 .contentsinner .foot_container { display: block; }
  footer .foot1 .contentsinner .foot_container .item { padding: 0 5%; }
  footer .foot1 .contentsinner .foot_container .item img.qr { margin: 20px auto; display: block; }
  footer .foot2 { padding: 15px 5%; font-size: 1.3rem; }
  footer .foot2 .contentsinner { margin: 0 auto; display:block; text-align: center; }
  footer .foot2 .contentsinner ul.links { margin-bottom: 10px; }
}


/*トップへ戻るボタン*/
.topBtn {
  position:fixed; /*固定*/
  bottom:10px; /*場所を右下に移動*/
  right:10px; /*場所を右下に移動*/
  display:block; /*aタグをblock要素に変更*/
  width: 50px; height: 50px; background: #f9f8f2; border-radius: 50%;
  z-index:1000; }
.topBtn:before {
  font-family: "Font Awesome 5 Free"; content: '\f077'; font-weight: 900; font-size: 25px; color: #5591c5; position: absolute; width: 25px; height: 25px; top: -3px; bottom: 0; right: 0; left: 0; margin: auto; text-align: center;}
.topBtn:hover { opacity:1.0; background: #edebe2; }

@media only screen and (max-width: 767px) {
    .topBtn:hover { background: #69B2BD; }
}

/* -----------------------------------
contents
-------------------------------------*/
#container { padding:0 0 10px 0; margin:0; max-width:none; }
#contents { width: 100%; max-width: 840px; margin: 0 auto; }
#contents.recruit { max-width: 700px; padding-top: 10px; }
article { margin:0 auto; max-width:100%; }
section { margin:0 auto; padding:0 0 20px 0; font-size:1.5rem; }
#contents section:last-child { margin-bottom:60px; }
section:after { content:''; display:block; clear:both; }

@media only screen and (max-width:767px) {
  /* #contents section:last-child { margin-bottom:0; } */
  .contentsinner { min-width:0; }
  /* .contentsinner * { max-width:100%; } */
  #contents .contentsinner2 { width:90vw; }
  #contents.recruit { padding-top: 80px; }
}

/* ---------------------------------------------
 greeting
--------------------------------------------- */
#greeting {}
#greeting p { margin: 0; padding: 0 0 20px 0;}
.concept { text-align: center; margin: 30px auto 80px auto; font-family:'Noto Serif JP', serif; }
.concept .jp { color: #333; font-size: 2.0rem; }
.concept .en { color: #3ebaff; font-size: 2.8rem;}
.concept .en span { color: #ff00c3; font-weight: 600; }

body.cnts .concept { position: relative; }
body.cnts .concept .jp { font-size: 3.2rem; }
body.cnts .concept .en { font-size: 3.8rem;}
body.cnts .concept .illust03 { position: absolute; bottom: -90px; right: -90px; }

.prof_area {}
.prof_area:after { content:""; display:table; clear:both; }
.prof_area .face { float: left; width: 30%; }
.prof_area .face img { width: 200px; height: auto; border-radius: 20px; /* object-fit: cover; */ /* height: 200px; border-radius: 50%; */ }
.prof_area .profile { float: right; width: 70%; }
.prof_area .profile .name { color: #5591c5; font-size: 2.4rem; font-weight: 800; margin: 0 0 20px 0; }
.prof_area .profile .name span { font-size: 0.7em; font-weight: 400; }

@media only screen and (max-width:767px) {
  #greeting { width: 90vw; margin: 0 auto; }
  .prof_area .face { float: none; width: 100%; text-align: center; margin-bottom: 20px; }
  .prof_area .profile { float: none; width: 100%; }
  .concept { margin: 30px auto 70px auto }
  body.cnts .concept .jp { font-size: 2.2rem; }
  body.cnts .concept .en { font-size: 2.8rem;}
  body.cnts .concept .illust03 { width: 20%; top:-85px; left: 50%; transform: translateX(-50%); }
}
@media only screen and (min-width:640px) and (max-width:767px) {
  body.cnts .concept .illust03 { width: 15%; top:-90px; left: 50%; transform: translateX(-50%); }
}

/* ---------------------------------------------
 cleaning
--------------------------------------------- */
#cleaning { position: relative; padding-bottom: 120px; }
#cleaning .box_area { display: flex; justify-content: space-between; flex-wrap: wrap; margin: 50px auto 20px auto; }
#cleaning .box_area .itembox { text-align: center; padding:15px 10px; background-color: #f9f8f2; border-radius: 10px; width: calc(33.3% - 7px); margin-bottom: 10px; }
#cleaning .box_area .itembox h4 { color: #5591c5; margin: 10px 0; font-size: 1.95rem; }
#cleaning .box_area .itembox p { line-height: 1.4; font-feature-settings: "palt"; }
#cleaning .illust01 { position: absolute; bottom: 0; }

@media only screen and (max-width:767px) {
  #cleaning .box_area {max-width: 90vw; }
  #cleaning .box_area .itembox { width: 100%; }
  #cleaning .illust01 { width: 30%; bottom: 0; left: 20px; }
}

/* ---------------------------------------------
map_area
--------------------------------------------- */
.map_area { margin: 0 0 30px 0; max-width: 100%; border-radius: 10px; }

@media only screen and (max-width:767px) {
  .map_area { margin: 0 0 20px 0; }
}
/* ---------------------------------------------
 recruit_box
--------------------------------------------- */
#recruit_box { margin:  0 0 50px 0; }
#recruit_box h3 {color:#3ebaff; font-family:'Noto Serif JP', serif; font-size: 2.2rem; margin: 0 0 20px 0; }
.frm { background:#ffe; border-radius:10px; padding:50px; margin-top:50px; }
.frm:after { content:""; display:table; clear:both; }
.frm_l { width: 65%; float: left; }
.frm_r { width: 35%; float: right; text-align: center; }
@media only screen and (max-width:767px) {
  .frm { padding: 20px; margin:30px auto; width: 90%; }
  .frm_l { width: 100%; float: none; margin-bottom: 20px; }
  .frm_r { width: 100%; float: none; }
}

/* ---------------------------------------------
recruit_cnts
--------------------------------------------- */
#recruit_cnts { margin-bottom: 50px; }
#recruit_cnts p { margin: 0 0 80px 0; }
#recruit_cnts p.catch { font-size: 1.6rem; text-align: center; margin: 0 0 80px 0; }
#recruit_cnts p.catch2 { font-size: 1.6rem; text-align: center; margin: 0 0 80px 0; }
#recruit_cnts h2 { font-size: 2.2rem; margin: 0 0 40px 0; }

ul.list_c { margin:0 auto 80px auto; padding:0 0 0 3rem; text-align:left; font-size:1.5rem; }
ul.list_c li { list-style-type:none; padding:0 0 10px 0; margin:0; display:flex; }
ul.list_c li:before { content:"●"; font-size:1.0em; margin:0 1rem 0 -3rem; position:relative; top:0; left: 0.2em; color: #5591c5; }

table.reward { margin: 0 auto 80px auto; width: 100%; }
table.reward th { padding:15px 30px; border:none; font-weight:bold; font-size:1.8rem; vertical-align: top; color:#555; background:#f9f8f2; line-height: 1.2; }
table.reward th span { font-weight: normal; font-size:1.3rem; }
table.reward td { padding:15px 30px; vertical-align:middle; font-size:1.3rem; }
table.reward td span.price1 { font-size:2.2rem; font-weight: bold; color: #5591c5; }
table.reward td span.price2 { font-size:1.4rem; color: #5591c5; }
table.reward td span.price3 { font-size:1.8rem; font-weight: bold; color: #5591c5; }
table.reward td span.bold15 { font-size:1.5rem; font-weight: bold; }
table.reward td p { margin: 0 !important; padding: 10px 0 0 0;}
table.reward td hr { height: 0; margin: 0; padding: 0; border: 0; }
table.reward td hr.hr1 { border-top: 1px solid #eee; margin: 10px 0;  }
table.reward th,table.reward td { border-collapse: collapse; border:1px solid #ccc; }
@media only screen and (max-width:767px) {
  #recruit_cnts { margin: 0 5%; }
  #recruit_cnts p.catch2 { font-size: 1.6rem; text-align: left; margin: 0 0 50px 0; }
  table.reward { /* margin: 0 auto 80px auto; */ width: 100%; }
  table.reward th,
  table.reward td { padding:5px 10px; }
}

/* ---------------------------------------------
privacy_cnts
--------------------------------------------- */
#privacy_cnts { margin-bottom: 50px; }
#privacy_cnts h2 { text-align: left; }

ul.list2 { margin:0 auto 20px auto; padding:7px 0 0 4rem; text-align:left; font-size:1.5rem; max-width:900px;}
ul.list2 li { list-style-type:none; padding:0 0 10px 0; margin-left:-2rem; }
ul.list2 li:before { content:"・"; color:#5591c5; font-size:1.0rem; font-weight:bold; margin:0 0.5rem 0 -1.8rem; position:relative; top:-2px; }

@media only screen and (max-width:767px) {
  #privacy_cnts { margin: 0 5%; }
}

/* ---------------------------------------------
form
--------------------------------------------- */
#form { background-color: #f9f8f2; border-radius: 20px; padding:50px 50px 30px 50px; width: 100%; max-width: 840px; margin: 0 auto 50px auto; }
#form h2 { margin: 0 0 30px 0; padding: 0; }
#form .form_inner { margin: 0; }
/* #form .form_inner .box { display: flex; margin-bottom: 20px; }
#form .form_inner .box .left { color: #333; font-weight: 700; width: 160px; line-height: 36px; margin-right: 50px; }
#form .form_inner .box .right { -webkit-flex: 1; flex: 1; color: #333; } */
#form .form_inner input[type="text"],
#form .form_inner input[type="email"],
#form .form_inner input[type="tel"],
#form .form_inner textarea { width: calc(100% - 220px); background-color: #fff; color: #333; border: 1px solid #fff; font-size: 100%; padding: 10px; border-radius: 4px; box-shadow: 1px 1px 3px rgba(0,0,0,.1) inset; }
#form .form_inner textarea { height: 10em; }

#form .wpforms-field-radio input[type="radio"]{ display: none; }
#form .wpforms-field-radio ul li { padding: 10px 0 0 0; }
#form .wpforms-field-radio label { cursor: pointer; padding-left: 30px; position: relative; }
#form .wpforms-field-radio label::before,
#form .wpforms-field-radio label::after { content: ""; display: block; border-radius: 50%; position: absolute; transform: translateY(-50%); top: 50%; }
#form .wpforms-field-radio label::before { background-color: #fff; border: 2px solid #5591c5; height: 20px; width: 20px; left: 5px; }
#form .wpforms-field-radio label::after { background-color: #5591c5; opacity: 0; height: 12px; width: 12px; left: 9px; }
#form .wpforms-field-radio input:checked + label::after { opacity: 1; }
#form div.wpforms-container-full .wpforms-confirmation-container-full,
#form div[submit-success]>.wpforms-confirmation-container-full:not(.wpforms-redirection-message) { background: none; border: none; box-sizing: border-box; text-align: center; }

#form .wpforms-field { /* display: flex; */ }
  #form .wpforms-field::after { content:""; display:table; clear:both; }
#form .wpforms-field input,
#form .wpforms-field textarea { float:left; }
#form .wpforms-field .wpforms-error { display: inline-block; color: #c00; }
#form div.wpforms-container-full .wpforms-form label.wpforms-error:before,
#form div.wpforms-container-full .wpforms-form em.wpforms-error:before { background-image: url(/images/error.svg) !important; background-repeat: no-repeat; margin-left: 210px; }
#form .wpforms-field label { width: 200px; float: left; }
#form .wpforms-field fieldset::after { content:""; display:table; clear:both; }
#form .wpforms-field fieldset legend { float: left; width: 200px; }
#form .wpforms-field fieldset ul { float: left; margin-bottom: 10px; }
#form .wpforms-field fieldset ul li label{ width: inherit; }
#form .btn_form{ margin:10px auto 0 auto; width: 240px; display:block; color:#fff; text-align:center; font-weight:bold; text-decoration:none; transition: .2s; background-color:#3ebaff;
box-shadow:1px 1px 3px rgba(0,0,0,0.3); transition:.1s; position:relative; padding:10px 20px; border-radius: 50px;}
#form .btn_form:hover { background-color:#5591c5 !important; color:#fff; text-decoration:none; box-shadow:0 0 1px rgba(0,0,0,0.1); transform:translate(1px,1px); }
#form .btn_form::before { content:'\f138'; display:inline-block; margin-right:0.5em; font-family:"Font Awesome 5 Free"; font-weight:900; }

@media only screen and (max-width:767px) {
  #form { margin-bottom: 80px; padding: 30px; }
  #form .wpforms-field { display: block; }
  #form .form_inner input[type="text"],
  #form .form_inner input[type="email"],
  #form .form_inner input[type="tel"],
  #form .form_inner textarea {width:100%; }
  #form div.wpforms-container-full .wpforms-form label.wpforms-error:before,
  #form div.wpforms-container-full .wpforms-form em.wpforms-error:before { margin-left: 10px; }
}

/* ---------------------------------------------
 price
--------------------------------------------- */
#price { position: relative; padding-bottom: 120px; }
#price .illust02 { position: absolute; top: 0; right: 0; }
#price .illust03 { position: absolute; bottom: 0; right: 0; }
.tbl_price {font-size:1.6rem; line-height:1.4; border:none; width: 100%; margin-bottom: 10px; }
.tbl_price tr:nth-child(odd) { background:#f9f8f2; }
.tbl_price th { padding:10px 20px; border:none; font-weight:bold; font-size:1.5rem; vertical-align:middle; color:#555; background:none; }
.tbl_price td { padding:10px 20px; vertical-align:middle; font-size:1.3rem; }
.tbl_price td em { font-size:1.6rem; font-weight:normal; }

.tbl_price1_area { width: 500px; margin: 0 auto 100px auto; }
.tbl_price2_area { width: 100%; margin: 0 auto 100px auto; }
.tbl_price2_area .tbl_price th { width: 30%;}
.tbl_price2_area .tbl_price td.exp { width: 40%; }
.tbl_price3_area { width: 500px; margin: 0 auto 50px auto; }

@media only screen and (max-width:767px) {
  #price .illust02 { width: 50%; top: -70px; right: 0; }
  #price .illust03 { width: 30% ;bottom: 0; right: 10px; }
  .tbl_price1_area { width: 90vw; margin: 0 auto 50px auto; }
  .tbl_price2_area { width: 90vw; margin: 0 auto 100px auto; }
  .tbl_price3_area { width: 90vw;; margin: 0 auto 5px auto; }
  .tbl_price td { font-size:1.4rem; }

  /* .table-scroll { overflow-x: scroll; }
  .tbl_price2_area table { width: 840px; } */
}

@media only screen and (max-width:767px) {
	.spTbl tr,
	.spTbl th,
	.spTbl td { display:block; width:inherit !important; }
	.spTbl td { padding-top: 5px; }

}


/* ---------------------------------------------
  横並びグリッド
--------------------------------------------- */
.cols { display:flex; flex-wrap:wrap; }
.cols .col { box-sizing:border-box; position: relative; }
.cols .col:after { content:""; display:table; clear:both; }

/* レイアウト:横2つ  */
.cols2 { margin-right:-40px; }
.cols2 .col { width:calc(50% - 40px); }
.cols2 .col { margin:0 40px 40px 0; }

/* レイアウト:横3つ  */
.cols3 { margin-right:-30px; }
.cols3 .col { width:calc(33.3% - 30px); }
.cols3 .colspan2 { width:66.6%; }
.cols3 .col { margin:0 30px 30px 0; }

/* レイアウト:横4つ  */
.cols4 { margin-right:-20px; }
.cols4 .col { width:calc(25% - 20px); }
.cols4 .colspan2 { width:50%;}
.cols4 .col { margin:0 20px 20px 0;}

@media only screen and (max-width:1080px) {
    .cols3 { margin-right:-15px; }
    .cols3 .col { margin-right:15px; margin-bottom:15px; }
}

@media only screen and (max-width:767px) {
    .cols2,
    .cols3 { margin-left:auto; margin-right:auto; }
    .cols.cols2 .col,
    .cols.cols3 .col { width:100%; margin:0 auto 30px; }
    .cols2,
    .cols3 { margin:0 0 10px !important; }
    .cols.cols1sp { margin-left:auto; margin-right:auto; }
    .cols.cols1sp .col {width:100%; margin:0 auto; }
    .cols1sp { margin:0 0 10px !important; }
    .cols2sp { margin-right:-3vw; }
    .cols2sp .col { width:50%; margin:0; }
    .cols2sp .col { margin:0 3vw 3vw 0 !important; }
}


/* ---------------------------------------------
 .img
--------------------------------------------- */
a.img  { overflow:hidden; display:block; }
a.img img  { transition:transform .2s; width:100%; height:100%; }
a.img_hover:hover img  { transform:scale(1.05); }



























/* ---------------------------------------------
  ↓ 未使用 ↓
--------------------------------------------- */

/* ---------------------------------------------
 list
--------------------------------------------- */
/*.article ul li,*/
ul.list { margin:0 auto 20px auto; padding:1em 0 0 3em; text-align:left; }
ul.list li { list-style-type:none; padding:0 0 .5em 0; margin-left:-2em; }
ul.list li:before { content:"※"; margin:0 0.5em 0 -1em; position:relative; width:1em; }

ul.list0 { padding-top:7px; text-align:left; }
ul.list0 li { padding:0 0 7px 12px; line-height:1.5; list-style:none; }

ul.idt { margin-left:1.3em; line-height:1.7;}
ul.idt li { text-indent:-1.3em; text-align:left; padding:0 0 10px; background:none;}
ul.idt li span { font-weight:bold; color:#378; margin-right:2px;}

ol { margin:0 0 20px 1.7em; list-style:decimal outside; }
ol li { padding:0 0 10px 2px; line-height:1.5; }

ol.num { margin:0 auto 20px auto; padding:0 0 0 5rem; list-style:decimal outside; font-size:1.5rem; list-style:none; counter-reset:num; max-width:950px; /*width:100%;*/ }
ol.num li { padding:0 0 10px 0; line-height:1.8; margin-left:-2rem; }
ol.num li:before { counter-increment:num; content:counter(num)"."; color:#666;; font-weight:100; margin:0 1rem 0 -2.2rem; font-size:1.5rem; }
    ul.list2 li ol.num li:before { top:0px; }
ol.num li.num_k:before { counter-increment:num; content:counter(num)"."; color:#333; font-weight:100; margin:0.1rem 1rem 0 -2.2rem; }

ul.inlineblock li { position:relative; display:inline-block; letter-spacing:normal; margin-right:25px; }
ul.inlineblock li img { vertical-align:middle; margin:3px;}

ul li.nolistmark { background:none;}

ul.tags { text-align:left; font-size:1.5rem; margin:50px auto 20px auto; max-width:1000px; }
ul.tags li { display:inline-block; margin:0 30px 0 0; line-height:2.0; }
ul.tags li a { color:#555; text-decoration:none; }

@media only screen and (max-width:767px) {
    ul.list li { max-width:calc(100% + 2em); }
}

/* グレー */
.tbl { border-bottom:#ccc 1px solid; border-right:#ccc 1px solid; line-height:1.2; margin:5px auto 10px auto; background-color:#fff; font-size:1.5rem; width:100%; max-width:998px; }
.tbl caption { border:1px solid #ccc; text-align:left; font-weight:bold; padding:13px 15px; background-color:#18d; color:#fff; }
.tbl th { padding:10px 30px; vertical-align:top; text-align:left; font-weight:bold; color:#338A98; line-height:1.6; background-color:#f3f3f3; border-top:1px solid #ccc; border-left:1px solid #ccc;}
.tbl td { padding:10px 30px; border-top:1px solid #ccc; border-left:1px solid #ccc; vertical-align:top; line-height:1.6; background-color:#fcfcfc; }
.tbl td.noborder { border:none; }
.tbl td span { display:inline-block; *display:inline; *zoom:1; }

/* 調整 */
table tr.noborder { border:none;}
table th.noborder-bottom,
table td.noborder-bottom { border-bottom:none;}
table .blankLefttop { border-left:0; border-top:0; background:none; }

thead.inlineL th,
tr.inlineL th,
tr.inlineL td { text-align:left;}

table.inlineC th,
table.inlineC td,
thead.inlineC th,
tr.inlineC th,
tr.inlineC td { text-align:center; padding-left:3px; padding-right:3px;}

.tbl p,
.tbl ul {font-size:100%; padding-bottom:6px;}

table ul.list1 { margin-bottom:0;}

table.th10p th { width:10%;}
table.th20p th { width:20%;}
table.th30p th { width:30%;}
table.th40p th { width:40%;}
table.th50p th { width:50%;}

.th_td_w1 th { width:18%; }
.th_td_w1 td { width:32%; }

.min-w-100px th { min-width:100px; }




