/* CSS Document */
* {
  /* 文字詰め */
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: 0.2rem;
  list-style: none;
  margin: 0;
  padding: 0;
  text-decoration: none;
}

main, footer, .inner, .inner > * {
  max-width: 100%;
}

/* ///////////////////////////////////////////////////////////////////// 
//  global
/////////////////////////////////////////////////////////////////////*/
section {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 4rem 0;
  background: #FFF;
  color: #111;
  padding: 130px 0;
}

.sec-inner {
  max-width: 980px;
  margin: auto;
  padding: 0 20px;
}
a{
  display: block;
}


.sp {
  display: none;
}
.tb {
  display: none;
}
.pc {
  display: block;
}

.center{
    text-align: center;
}

main{
  margin: 0 auto;
  padding: 100px 0 0 0;
}

img {
  width: 100%;
}

.absolute {
  position: absolute;
}

.primary {
  background: #9a2438;
}

.white{
  color: #FFF;
}
.black {
  background: #111;
}
.bg-y{
	    background: #f8efc2;
}
.bld{
  font-weight: bold;
}
.m-all-10{
  margin:10px !important;
}
.m-t-10{
  margin-top: 10px !important;
}
.m-t-20{
  margin-top: 20px !important;
}
.m-t-30{
  margin-top: 30px;
}
.m-l-30{
  margin-left:30px !important;
}
.m-b-10{
  margin-bottom: 10px !important;
}
.m-b-20{
  margin-bottom: 20px !important;
}
.m-b-30{
  margin-bottom: 30px;
}
.m-b-60{
  margin-bottom: 60px;
}
.m-auto{
  margin: 0 auto;
}
.pd-0{
	padding:0 !important;
}
.bg-white {
  background: #FFF;
}
.sticky {
  position: fixed;
  transition: all 0.5s;
  z-index: 99999;
}

.fixed{
  position: fixed;
  transition: all 0.5s;
}
h1{
	margin:0;
	text-align:center;
}
h2{
  font-family: 'EB Garamond', 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  letter-spacing: .25rem;
	font-size: 2rem;
}

.home section h2{
  font-size: 3.8rem;
  line-height: 3.8rem;
  text-transform: uppercase;
	color: #9a2438;
	  display: inline-block;
  text-align: center;
  font-weight: 600;
	letter-spacing: 1rem;
	margin-bottom:0;
	line-height:1;
}

.home section h3{
  font-size: 2.4rem;
    letter-spacing: .5rem;
    line-height: 3rem;
	margin: 3rem 0 0;
  color: #111;
	text-align: center;
}

.home .head_txt{
  position: relative;
    text-align: center;
}
.page .head_txt{
	  text-align: center;
}
.page .sec-inner h1{
	margin-bottom:2rem;
}

.flex{
  display: flex;
  flex-wrap: wrap;
}
.flex-half{
	  padding: 2rem;
  width: 48%;

}
.flex .head_txt{
  width: 100%;
}
.bd-1-dots{
	border:2px dotted #ccc;
}

/* page 共通 */
#page section h2{
  font-size: 3rem;
  color: #111;
  letter-spacing: .25rem;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
#page section h3{
  font-size: 1.8rem;
  position: relative;
  z-index: 2;
  text-align: center;
}
#page section .head_txt h2{
  display: inline-block;
  text-align: center;
  z-index: 2;
  font-weight: 600;
  text-transform: uppercase;
  color: #9a2438;
	letter-spacing: 1rem;
	margin-bottom:0;
	line-height:1;
}
#page section .head_txt h3{
	font-size: 1.4rem;
}


.privacy h2{
  font-size: 2rem;
  letter-spacing: .25rem;
}


.page-template_default{
  background: #fafafa;
  color: #111;
  position: relative;
  padding: 40px 0;
}
.page-template_post{
  background: #fafafa;
  color: #111;
  position: relative;
}
.page-template_post .sec-inner{
	margin-top: -70px;
}

/* table */
th{
  padding-top: 20px;
  padding-bottom: 20px;
  border-top: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
}

td{
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 30px;
  border-top: 1px solid #e5e5e5;
}
td:first-child{
  min-width: 120px;
  text-align: left;
  font-weight: 600;
}

.page-template_default .block_content.bg-white,
.page-template_post .block_content.bg-white{
  padding: 5rem;
}

.pagination{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.page-numbers{
  padding: 16px 20px;
  border-bottom: 1px solid #d9d9d9;
}
.page-numbers.current{
  color: #555;
  border-bottom: 3px solid #111;
  webkit-box-shadow: 0 -2px #111 inset;
    box-shadow: 0 -2px #111 inset;
}

/* ///////////////////////////////////////////////////////////////////// 
//  Preloader
/////////////////////////////////////////////////////////////////////*/

#preloader { 
  position: fixed; 
  left: 0; 
  top: 0; 
  z-index: 99999999999; 
  width: 100%; 
  height: 100%; 
  overflow: visible; 
  background: #FFF;
}
#preloader:before{
  content: '';
  position: fixed; 
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;  
  width: 80px; 
  height: 80px; 
  overflow: visible; 
  background: url('../img/loader.svg') no-repeat center center; 
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* //////////////////////////////////////// 
//  nav
/////////////////////////////////////////*/
#header{
  height: 100px;
  width: 100%;
  background: #ffffffe6;
  position: fixed;
  z-index: 100;
	    text-align: center;
	transition: all .2s ease-out;
}
#header.min-header nav{
  height: 70px;
	background: rgba(255,255,255,0.5);
}

nav.nav-top{
  display: flex;
  justify-content: space-around;
  align-items: center;
  position: fixed;
  z-index: 200;
  padding: 0 20px;
  height: 100px;
  transition: all .2s ease-out;
	width: 100%;
}

.head_logo{
  padding: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.head_logo a {
	line-height: 1;
	width: 100px;
    height: 100px;
}
.head_logo a img{
  width: auto;
  height: 100px;
  transition: all .2s ease-out;

}
#header.min-header .head_logo a img{
  height: 70px;
}

nav.nav-top ul{
  display: flex;
  justify-content: space-between;
  width: auto;
  text-align: center;
  font-size: 1.4rem;
  list-style: none;
  padding: 0px;
  margin: 30px 0;
}

#menu-main-menu-left{
	    margin-right: 100px;
}

#menu-mainmenu-right{
	    margin-left: 100px;
}
nav ul li{
  width: auto;
}
nav ul li a{
  color: #9a2438;
  padding: 0 15px;
}

nav ul li a:hover{
  color: #111;
  transition: 0.9s ease 0s;
}

.sp-nav {
	display: none;
}
.sp_head_logo{
  display: none;
}

/* /////////////////////////////////////////////////////////////////////
//  mv
/////////////////////////////////////////////////////////////////////*/
#mv {
  position: relative;
}

#mv img {
    width: 100%;
    height: 70vh;
    object-fit: cover;
}

.headings {
  padding: 0;
  color: #fff;
}
.headings h1 {
  font-size: 5rem;
  color: #FFF;
  font-weight: 700;
  padding-bottom: 10px;
  letter-spacing: 0.1rem;
  position: absolute;
  top: 40%;
  right: 20%;
  -webkit-transform: translateY(-40%);
  margin: auto;
  transform: skewX(63deg)
}


@media all and (max-width: 768px) and (min-width: 480px) {
  .headings p {
    text-align: center !important;
  }
}

/* //////////////////////////////////////// 
//  concept
/////////////////////////////////////////*/

#concept{
}

.block_content{
  position: relative;
  z-index: 10;
}

#concept .paragraph_box{
  padding-bottom: 1rem;
  width: 100%;
}
p[class$="-txt"]{
  margin-top: 40px;
  text-align: center;
  width: 100%;
}


/* //////////////////////////////////////// 
//  diagnosis
/////////////////////////////////////////*/
#diagnosis{
  background: #fdfbf9;
}
.btn-att{
  font-size: 1.2rem !important;
    text-align: center;
}

/* //////////////////////////////////////// 
//  contact
/////////////////////////////////////////*/
.contact-tel{
  font-size: 4rem;
  line-height: 4rem;
  margin-bottom: 50px;
}
.contact-tel i{
  width: 50px;
  height: 50px;
  display: inline-block;
  vertical-align: middle;
}

/* //////////////////////////////////////// 
//  blog
/////////////////////////////////////////*/

#blog{
    background-image: url("../img/blog-bg.jpg");
  background-size: cover;
  -webkit-background-size: cover;
  position: relative;
  background-position: center;
  -webkit-background-position: center;
  height: auto;
  position: relative;
}

#page-blog{
  background: #f7f7f7;
}

#blog .block_content,
#page-blog .block_content{
  margin: 30px 0 0;
}
.blog_contents{
  justify-content: flex-start;
  margin-bottom: 20px;
}
.home .blog_contents{
  justify-content: space-between;
}
.blog_contents li{
  width: 30%;
  height: 100%;
  position: relative;
  z-index: 5;
  margin-right: 4%;
  margin-bottom: 3%;
}
.blog_contents li:nth-child(3),
.blog_contents li:nth-child(6),
.blog_contents li:nth-child(9),
.blog_contents li:nth-child(12){
  margin-right: 0;
}
.blog_contents .blog_item{
  line-height: 1;
}
.blog_contents img{
  width: 100%;
  object-fit: cover;
  height: 200px;
  margin: 0;
}
.blog_title_box,
.blog_contents .title-jp,
.blog_contents .blog-date,
.blog_contents .blog-txt{
  display: block;
  line-height: 2rem;
  text-align: left;
}
.blog_title_box{
  padding: 2rem 0;
}
.blog_contents .title-jp{
  text-align: left;
  font-size: 1.6rem;
  font-weight: normal;
  margin-top: 1rem;
	margin-bottom:1rem;
}
.blog_contents .blog-date{
  font-family: 'Montserrat', sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
  color: #111;
  letter-spacing: .1rem;
}
.blog_contents .blog-txt{
  font-size: 1.4rem;
  margin-top: 0;
}

.blog_item{
  transition: all 1s ease-in-out;
}
.blog_item p,
.blog_item p .blog_item{
	font-size:1.2rem !important;
	line-height: 1.5 !important;
}

.blog_item:hover{
  opacity: .5;
}


/* blog list */
.blog_list{
  display: flex;
  flex-wrap: wrap;
}
.blog_list_item{
  width: 100%;
  text-align: left;
  padding: 30px;
  margin-bottom: 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
}
.blog_item_desc{
  width: 40%;
  align-self: center;
}
.blog_item_img{
  width: 50%;
}

.page-template_default .blog_item_ttl{
  font-size: 2.8rem;
  font-weight: 500;
}
.blog_list_item h4,
.blog_list_item p{
  text-align: left;
}

.blog_list_item:nth-child(odd)::before{
  content: '';
  position: absolute;
  height: 90%;
  width: 60%;
  top: 40px;
  right: 0px;
  background: #ffffff;
  z-index: -1;
}
.blog_list_item:nth-child(even)::before{
  content: '';
  position: absolute;
  height: 90%;
  width: 60%;
  top: 40px;
  left: 0px;
  background: #ffffff;
  z-index: -1;
}

/* blog page list */
.blog_page_list{
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 0.8fr 1.5fr;
  grid-template-rows: 275px 210px 350px;
}
.blog_page_list_item{
  width: 100%;
  background: #ddd;
  overflow: hidden;
}
.block_white{
  background:#FFF;
}
.blog_page_item_desc{
  width: 100%;
  align-self: center;
}
.blog_page_list_item .blog_item_img{
  width: 100%;
}
.blog_page_list_item_ttl{
  position: relative;
  height: -webkit-fill-available;
}

.blog_page_list_item_ttl p{
  font-size: 2.7rem !important;
  line-height: 3rem;
  font-weight: 700;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
}

.blog_page_list_item:nth-child(2) {
  grid-column: 2 / 4;
  grid-row: 1 / 3;
}

.blog_page_list_item:nth-child(4) {
  grid-column: 1 / 3;
  grid-row: 3 / 4;
}

.post-thumbnail-bg{
	 height: 450px;
    overflow: hidden;
    width: 100%;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
}

/* //////////////////////////////////////// 
//  access
/////////////////////////////////////////*/
#access .block_content.flex{
  justify-content: center;
  margin-top: 40px;
}
.access_info{
  width: 45%;
}
.access_info dl,
.access_info dt,
.access_info dd{
  text-align: left;
}
.access_info dt{
  font-size: 2.4rem;
  font-weight: 600;
}
.access_info dd{
  margin-top: .5rem;
}
.access_map{
  width: 45%;
  margin: 0;
}
.access_map iframe {
    width: 100%;
    height: 300px;
}

#access .btn_box{
  margin: 0 auto;
}


/* ////////////////////////////////////////  
//  btn
/////////////////////////////////////////*/

.btn_block{
  position: relative;
  height: auto;
  z-index: 20;
}
.btn_box{
  width: 300px;
  max-width: 100%;
  display: block;
  padding: 0;
  border: 2px solid #111;
  font-weight: 700;
  z-index: 20;
  position: relative;
  margin: 20px auto;
  overflow: hidden;
    text-align: center;
}
.btn_box::before{
  content: '';
  display: block;
  position: absolute;
  top: 3px;
  left: 3px;
  border: 2px solid #111;
  width: calc(100% + -6px);
  height: calc(100% + -6px);
  z-index: -1;
}

.btn_box:hover {
  background: #f6ebc0;
  transition: all .5s ease-in-out;
}
/* .btn_box:hover::before {
  transition: all 1s ease-in-out;
  animation: slide-right 0.4s;
 } */

.btn_box a{
  width: 100%;
  height: 60px;
  padding: 15px 0 0 0;
  display: block;
}


@keyframes slide-right {
  0% {
    transform-origin: left top;
    transform: scaleX(0.0);
  }
  100% {
      transform-origin: left top;
      transform: scaleX(1.0);
  }
}
/* ////////////////////////////////////////  
//  footer
/////////////////////////////////////////*/
#footer{
  padding: 0;
}
.footer_contactbox{
  margin: 0 auto -70px;
  background: #333;
  position: relative;
  padding: 4rem;
}
#footer .head_txt h2{
  font-size: 4rem;
}
#footer .head_txt h2,
#footer .head_txt h3{
  text-transform: uppercase;
  display: block;
  text-align: center;
  color: #FFF;
}
#footer .head_txt h3{
  font-size: 2rem;
  line-height: 4rem;
}
.footer_mainbox{
  padding: 70px 0 30px;
  background: #fafafa;
}
.footer_mainbox-inner{
  justify-content: space-between;
}
.footer_mainbox-01,
.footer_mainbox-02{
  width: 100%;
    text-align: center;
}

#footer .widget_nav_menu ul li{
  display: inline-block;
}

.copyright{
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  text-transform: uppercase;
  text-align: center;
  padding-right: 3rem;
  color: #111;
}
.foot-logo{
  width: 145px;
}

/* //////////////////////////////////////// 
//  page 
/////////////////////////////////////////*/
h4{
  margin-bottom: 2rem;
}

.page-template_default .block_content.block_philosophy{
  z-index: 5;
}

.list li{
  text-align: left;
  padding: 15px 0 15px 1rem;
  border-top: 1px solid #ddd;
}

/* //////////////////////////////////////// 
//  page about
/////////////////////////////////////////*/
.block_about.flex{
  justify-content: space-between;
}

.line-dots{
  border: 2px dotted #ededed;
  padding: 2rem;
}

.line-dots{
	width:100%;
}

.block_about .contact-tel{
  font-size: 4rem;
  line-height: 4rem;
  margin: 2rem auto 2.5rem;
}
.block_about .contact-tel i{
  width: 40px;
  height: 40px;
  display: inline-block;
  vertical-align: middle;
}

/* //////////////////////////////////////// 
//  page contact
/////////////////////////////////////////*/
.contact_number{
  font-size: 3rem !important;
  font-weight: 700;
}
.contact_number i{
  width: 50px;
  height: 50px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 2rem;
}
.contact_number i img{
  width: 100%;
}
.form h2 .img_ttl {
  width: 45%;
}

.form form {
  margin-top: 40px;
}

.form form .form-group {
  margin-bottom: 4rem;
  display: flex;
  flex-wrap: wrap;
}

.form form .form-group label {
  font-size: 1.6rem;
  width: 40%;
  font-weight: 600;
}
.form form .form-group .form-inbox{
  width: 60%;
}
.form form .form-group .form-inbox input{
  width: 100%;
}
.form form .form-group .form-inbox input[type=radio]{
  width: auto;
}
.form form .form-group span {
  border-radius: .25rem;
  font-size: 0.85rem;
  text-align: center;
  padding: 1rem 0;
}

.form form .form-group .required {
  color: #9a2438;
  margin-right: 1rem;
  margin: 0.8rem 1rem 0 0;
  border: 2px solid #9a2438;
	padding:.5rem;
}
.form form .form-group .note{
    text-align: left;
    display: inline-block;
    padding: 0;
    font-weight: 500;
    line-height: 1.5;
}
.form form .form-group .any {
  background: #cbcbcb;
  color: #000;
}

.form form .form-group .form-control {
  background-color: #FFF !important;
  border: 2px solid #cbcbcb !important;
  padding: .5rem;
  font-size: 1.6rem !important;
  width: 100%;
}

.form form input::placeholder {
  color: #cbcbcb;
}

.form form .privacy {
  margin-bottom: 3rem;
  text-align: center;
}

.form form .agree-area {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 2rem 0;
}

.form form .agree-area .checkbox-area {
  line-height: 135%;
  position: relative;
  margin: 0.5rem;
  cursor: pointer;
}

.form form .agree-area .checkbox-area .checkbox {
  position: relative;
  margin: 0 1rem 0 0;
  cursor: pointer;
}

.form form .agree-area .checkbox-area .checkbox::before {
  position: absolute;
  z-index: 1;
  top: -.3rem;
  left: -.25rem;
  width: 1.5rem;
  height: 1rem;
  content: '';
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
  transition: transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
  -webkit-transform: rotate(-45deg) scale(0, 0);
  transform: rotate(-45deg) scale(0, 0);
  border: 2px solid #9a2438;
  border-top-style: none;
  border-right-style: none;
}

.form form .agree-area .checkbox-area .checkbox:checked::before {
  -webkit-transform: rotate(-45deg) scale(1, 1);
  transform: rotate(-45deg) scale(1, 1);
}

.form form .agree-area .checkbox-area .checkbox::after {
  position: absolute;
  top: -.5rem;
  left: -.5rem;
  width: 2rem;
  height: 2rem;
  content: '';
  cursor: pointer;
  border: 2px solid #f2f2f2;
  background: #ffffff;
}

.form form .submit-btn-area {
  text-align: center;
}

.form form .submit-btn-area .btn {
  font-size: 1.25rem;
}

.form form .submit-btn-area .btn._submit {
  background: #FFF;
  border: 2px solid #111;
  color: #111;
  margin-right: 1rem;
  padding: 1rem 0;
  width: 200px;
  text-align: center;
  position: relative;
}
.form form .submit-btn-area .btn._submit:hover{
	background:#f6ebc0;
}

.form form .submit-btn-area .btn._reset {
  background: #333;
  border: 3px solid #777;
  color: #fff;
  padding: 1rem 0;
  width: 200px;
  text-align: center;
}

.form form .privacy{
  background-color: #FFF !important;
  border: 1px solid #cbcbcb !important;
  border-radius: 5px;
  padding: 1rem;
  font-size: 1.6rem !important;
  height: 150px;
  overflow-y: scroll;
}
form input[type="checkbox"]{
    box-sizing: border-box;
    position: absolute;
    padding: 0;
    width: 20px;
    height: 20px;
    margin-right: 10px;
    top: -2px;
    left: -11px;
}
.privacy h3{
  font-size: 1.6rem;
}
.privacy h4{
  font-size: 1.4rem;
  margin-top: 2rem;
}
.privacy p{
  font-size: 1.2rem;
  line-height: 2.4rem;
}

.form form * {
  text-align: left;
}

.bg-gray{
  background: #555;
}
/* //////////////////////////////////////// 
//  page purchase
/////////////////////////////////////////*/
.block_purchase .flex{
  justify-content: space-between;
}
.block_purchase h4{
    border-bottom: 1px solid #ccc;	
}

/* //////////////////////////////////////// 
//  news
/////////////////////////////////////////*/
#news{
  background: #f7f7f7;
	padding:40px 0;
}
.post p{
  text-align: left;
}
.post h1{
  font-size: 2.4rem;
  line-height: 3.5rem;
  margin: 3rem 0 0;text-align: left;
}
.txt-area{
  margin: auto;
  padding: 30px 0 60px;
}
.article__information{
  text-align: right;
}
.news-date{
  color: #111;
}
.news-category{
  background: #111;
  color: #FFF;
  padding: .5rem 1rem;
  margin-left: 1rem;
  font-size: 1.1rem;
  display: inline-block;
  text-transform: uppercase;
}
.home div.whatsnew{
  margin: 10px 0 10px 10rem ;
  overflow: none;
  position: relative;
}
div.whatsnew::before{
  content: 'NEWS';
  position: absolute;
  left: -9rem;
  font-weight: 700;
}
/* //////////////////////////////////////// 
//  page kanpo-details
/////////////////////////////////////////*/
.details-inner{
  justify-content: flex-start;
  align-items: flex-start;
}
.kanpo-detail-img{
  width: 50%;
}
.kanpo-detail-img img{
  width:100%;
}
.kanpo-info_txt{
  width: 45%;
  margin-left: 5%;
  text-align: left;
}
.kanpo-info_txt h4{
  text-align: left;
  font-size: 1.8rem;
  margin-bottom: .5rem;
}
.kanpo-info_txt .kanpo-price{
  font-size: 1.4rem;
  text-align: right;
}
.kanpo-info_txt .kanpo-price span{
  font-size: 1.6rem;
}

.details-inner table th,
.details-inner table td{
  border: 1px solid #ccc;
  padding: .5rem;
}
.details-inner table th{
  font-weight: bold;
  width: 20%;
	    font-size: 1.2rem;
}
.details-inner table td{
  text-align: left;
  font-size: 1.4rem;
}
.kanpo-detail_txt{
  width: 100%;
  margin-top: 40px;
}
.kanpo-detail_txt h5,
.kanpo-detail_txt p{
  text-align: left;
}


/* ///////////////////////////////////////////////////////////////////// 
//  responsive
/////////////////////////////////////////////////////////////////////*/


/* //////////////////////////////////////// 
//  tablet
/////////////////////////////////////////*/
@media screen and (max-width: 768px) {
  .sp {
    display: none;
  }
  .tb {
    display: block;
  }
  .pc {
    display: none;
  }
  section{
    padding: 80px 0;
  }
  .sec-inner {
   	width: 95%;
    margin: auto;
	  
  }
}
/* //////////////////////////////////////// 
//  sp
/////////////////////////////////////////*/

@media screen and (max-width: 575px) {
  .sp {
    display: block;
  }
  .tb {
    display: none;
  }
  .pc {
    display: none;
  }
  .button img {
    width: 100%;
  }
  header {
    height: auto;
  }
  section{
    padding: 120px 0;
  }
  .sec-inner {
    max-width: 90%;
    margin: 0 auto;
    padding: 10px 0;
  }
	#mv img {
    height: 40vh;
	}
  /* nav */
  .sticky{
    padding: 0;
  }
  .sp_head_logo{
    display: inline-block;
  }
  .sp_head_logo a img {
    width: 100px;
  }
  tr{
  }
  th,td{
    font-size: 1.4rem;
    display: block;
  }
  td:first-child{
    width: 100%;
    text-align: left;
    font-weight: 600;
    background: #e5e5e5;
  }
  th{
    padding-top: 5px;
    padding-bottom: 5px;
    border-top: none;
    border-bottom: none;
  }
  
  td{
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 10px;
    border-top: none;
  }


  /*ハンバーガーメニュー*/
  .pc-nav.nav-top {
    display: none;
  }

    .sp-nav {
    z-index: 1;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    display: block;
    width: 100%;
    background: #fbf2df;
    opacity: 0;
    transform: translateY(-100%);
    transition: all .2s ease-in-out;
  }
  #header.min-header{
    background: transparent;
  }
  #hamburger {
    position: absolute;
    display: block;
    top: 35px;
    right: 25px;
    width: 30px;
    height: 25px;
    margin: 0 0 0 auto;
    z-index: 1;
  }
  #hamburger span {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background-color: #111;
    transform: translateY(-50%);
  }
  #hamburger::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #111;
  }
  #hamburger::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 70%;
    height: 2px;
    background-color: #111;
  }
  /*スマホメニュー*/
  .sp-nav ul {
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
	 margin-top: 60px;
  }
  .sp-nav li {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  .sp-nav li span {
    font-size: 15px;
    color: #fff;
  }
  .sp-nav li a, .sp-nav li span {
    display: block;
    padding: 20px 0;
  }
  /*-閉じるアイコンー*/
  .sp-nav .close {
    position: absolute;
    top: 10px;
    right: 10px;
    height: 50px;
    width: 50px;
  }
  .sp-nav .close::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 50px;
    height: 1px;
    background: #111;
    transform: rotate( 45deg );
  }
  .sp-nav .close::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 50px;
    height: 1px;
    background: #111;
    transform: rotate( -45deg );
  }
  .toggle {
    transform: translateY( 0 );
    opacity: 1;
    z-index: 2;
  }

    .blog_contents{
      margin-bottom: 0;
    }
    .blog_contents li {
      width: 100%;
      margin-bottom: 30px;
    }

    .list-about{
      width: 95%;
    }

    .access_info,
    .access_map{
      width: 100%;
    }
    .access_info dt {
      font-size: 1.8rem;
      margin-top: 30px;
    }

    /* kanpo-detail */
    .kanpo-detail-img,
    .kanpo-info_txt,
    .flex-half{
      width: 100%;
    }
    .page-template_default .block_content.bg-white {
      padding: 3rem;
    }
    .page-template_post .block_content.bg-white {
      padding: 3rem;
    }
    .block_about .contact-tel {
      font-size: 2.5rem;
    }
	.details-inner table th,
	.details-inner table td{
    width: 100%;
	}
	/*	 map */
	.access_map iframe {
		width: 90%;
		height: 300px;
		margin-top:20px;
	}
.form form .form-group label,
.form form .form-group .form-inbox{
	width: 100%;
	    margin-bottom: .5rem;
	}
	.form form .form-group .required {
		padding: .5rem;
	}
}
