/*cosmo*/

/* Base Layout
------------------------------------------------------------ */
html {
	overflow: auto;
    scroll-behavior: smooth;
}
* html { /* for IE6 */
	overflow: hidden;
	overflow-x: auto;
	height: 100%;
}
body {
	color: #666666;
	line-height: normal;
	font-family: 'Noto Serif JP' , sans-serif ;
    font-weight: 400;
	position: relative;
	min-width: 280px;
	background-color: #FFFFFF;
	font-size: 17px;
	width: 100%;
	margin: 0px;
	text-align: justify;
	box-sizing: border-box;
	overflow-x: hidden;
}
* html body { /* for IE6 */
	overflow-y: auto;
	height: 100%;
}

ul{	list-style:none;}
/* clearfix */
.clearfix:after {
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}
.clearfix { display: inline-block; }
/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */

/*clearfix to objects*/
header:after,
footer:after,
section:after,
.container:after,
div.widthsize:after,
ul:after{
	content: ".";
	display: block;
	height: 0px;
	font-size: 0;
	clear: both;
	visibility: hidden;
}
body,div,dl,dt,dd,ul,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,legend,textarea,p,blockquote,th,td{ 
	margin:0;padding:0;
}
img{
	border:0;
	vertical-align:middle;
    width: 100%;
}
	
#topbutton {
      /* ▼表示位置を画面の右下に固定 */
      position: fixed; /* ←表示場所を固定 */
      bottom: 1px;   /* ←下端からの距離 */
      right: 1px;    /* ←右端からの距離 */

      /* ▼最初は非表示にしておく */
      display: none;
	  z-index:100;
}
.pagetop{
    height: 50px;
    width: 50px;
    background: #58c5c7;
    border: solid 2px #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}
.pagetop_arrow{
    height: 10px;
    width: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translateY(20%) rotate(-45deg);
}

section{
	width:100%;
	position:relative;
	padding-bottom:6rem;
}
.mt05{ margin-top:0.5rem;}
.mt1{ margin-top:1rem;}
.mt2{ margin-top:2rem;}
.mt3{ margin-top:3rem;}
.mt5{ margin-top:5rem;}
.mb1{ margin-bottom:1rem;}
.mb5{ margin-bottom:5rem;}
.ml1{ margin-left:1rem;}
.ml2{ margin-left:2rem;}
.ml5{ margin-left:5rem;}
.fnt08{font-size:0.8rem;}
.fnt09{font-size:0.9rem;}
.fnt11{font-size:1.1rem;}
.fnt12{font-size:1.2rem;}
.fnt13{font-size:1.3rem;}
.fnt15{font-size:1.5rem;}
.gothic{font-family: 'Noto Sans', 'Hiragino Kaku Gothic ProN', Meiryo, 'sans-serif';}
.center{text-align:center;}
.txt_blue{color: #58c5c7;}
.txt_red{color: #e60012;}

/**/
.flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}
/*　Base Link 
------------------------------------------------------------ */

a:link {
	color:#666666;
	text-decoration:none;
}
a:visited {
	color:#666666;
	text-decoration:none;
}
a:hover, a:active  {
	color: #999;
	text-decoration: none;
}

a:hover img{
    transform:scale(1.1,1.1);
    transition : all 1s;
}
.lnk_pp a{
	color:#666666;
	text-decoration:underline;
}

/* 共通
------------------------------------------------------------ */
.sp_none,
.sp_none02{
    display:none;
}

header {
	width:100%;
}

.widthsize{
	max-width: 766px;
	margin-right: 30px;
	margin-left: 30px;
	position: relative;
}
/* 画面外にいる状態 */
.element {
	opacity : 0.1;
	transform : translate(0, 80px);
	transition : all 1s;
	}

/* 画面内に入った状態 */
.element.scrollin {
	opacity : 1;
	transform : translate(0, 0);
	}
.element02 {
	opacity : 1;
	transform : translate(0, 80px);
	transition : opacity 1s, transform 1s;
	}

/* 画面内に入った状態 */
.element02.scrollin {
	opacity : 1;
	transform : translate(0, 0);
	}

.fadeLeft{
  opacity: 0;
  transform: translateX(-150px);
  transition: opacity 1s, transform 1s;
}

.fadeLeft.scrollin {
  opacity: 1;
  transform: translateX(0);
}
.fadeRight{
  opacity: 0;
  transform: translateX(150px);
  transition: opacity 1s, transform 1s;
}
.fadeRight.scrollin {
  opacity: 1;
  transform: translateX(0);
}

/*
-----------------------------------------------------------*nav*/
*, *:before, *:after {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
ol, ul {
	list-style: none;
}
a {
	text-decoration: none;
	color: inherit;
}
.head_name{
    width: 60%;
    padding: 5px 15px;
}
/*----------------------------------------------------------------------- footer */

footer {
	width: 100%;
	background:#58c5c7;
	padding:2em 0;
	color:#fff;
    text-align: center;
}
footer .f_logo{
	width: 180px;
	margin: 2rem auto;
}
/* inneer
------------------------------------------------------------------------- top*/
#top h1{
    margin: 3rem auto 2rem;
    font-size: 22px;
    font-weight: 500;
    text-align: center;
}
.intro p{
    line-height: 2rem;
}
#top .lnk_item{
    border: solid 2px #58c5c7;
    padding: 10px;
    margin-bottom: 5rem;
    position: relative;
    height: 350px;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    transition: all 1s;
    cursor: pointer;
}
#top .lnk_item a{
    position: absolute;
    height: 100%;
    width: 100%;
    display: inline-block;
}
#top .lnk_item:hover{
    transform: translateY(-5px);
    box-shadow: 10px 5px 5px rgba(0, 0, 0, 0.3);
}


#top .lnk_item .flex.lnk_ttl_area{
    justify-content: space-between;
    margin-bottom: 1.5rem;
}
#top .lnk_item .lnk_ttl{
    font-size: 1.2rem;
    letter-spacing: 10px;
}
#top .lnk_item .arrow{
    width: 40px;
}
#top .lnk_item .lnk_item_img{
    margin-top:auto;
    overflow: hidden;
    cursor: pointer;
}
#top h3{
    margin: 3rem auto 2rem;
    font-size: 22px;
    font-weight: 400;
    text-align: center;
}
.service_inner{
    margin-top: 1em;
    width: 100%;
}
.service_inner_txt{
    position: relative;
    width: 100%;
}
.service_inner_txt ul{
    list-style: disc;
    width: 100%;
    padding-left: 1em;
    box-sizing: border-box;
}
.service_inner_txt li{
    width: 100%;
}
.service_inner_txt .circle{
    position: absolute;
    top:10px;
    right: 0;
}
.service_inner_txt .mitsumori{
    position: relative;
    display: inline-block;
    background: #b8282e;
    color: #fff;
    border-radius: 50%;
    width: 80px;
    height: 80px;
}
.service_inner_txt .mitsumori span{
    position: absolute;
    display: inline-block;
    left: 0;
    top: 50%;
    width: 80px;
    text-align: center;
    -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.air_price{
    width: 80%;
    font-size: 1.5rem;
    padding: 10px 0;
    border: solid 2px #58c5c7;
    text-align: center;
    margin: 3rem auto;
}
.concept_box_txt{
    border: solid 2px #58c5c7;
    width: 100%;
    padding: 5px;
    box-sizing: border-box;
}
.concept_box .bg_blue{
    background: #58c5c7;
    color: #fff;
    letter-spacing: 1px;
    text-align: center;
    font-size: 1.1rem;
    padding: 5px;
}
.info_txt{
    margin: 2rem auto;
    line-height: 1.8em;
    }
.info_area ul{
    margin: 3rem auto 0;
    width: 100%;
}
.info_area li{
    border-bottom: dotted 1px;
    padding: 1rem 0;
}
.info_area .tel{
    font-size: 28px;
}
.info_area .tel::before{
    content: "";
    display: inline-block;
    width: 40px;
    height: 25px;
    background:  url("../img/common/icon_free_tel.png");
    background-size: cover;
    vertical-align: inherit;
    margin-right: 5px;
}
.info_area .mail{
    width: 40px;
}
/*----------------------------------------------------------------------- profile */

/*#profile .service_list{
    list-style: disc;
    width: 100%;
    padding-left: 1em;
    box-sizing: border-box;
}*/
#profile h1{
    font-weight: 400;
    margin: 1em 0 0;
}
#profile .intro .intro_txt{
    line-height: 1.5em;
}
#profile .service_list li::before{
    content: "●";
    margin-right: 3px;
}

#profile .service_list li{
    width: 100%;
    text-indent: -20px;
    padding-left: 20px;
    padding-bottom: 10px;
}
#profile .massage p{
    line-height: 1.8em;}
#profile .massage .massage_list{
    list-style: disc;
    width: 100%;
    padding-left: 1em;
}
#profile .massage .massage_list li{
    padding-bottom: 10px;
}
#profile .massage .img_box{
    margin-top: 2rem;
}
#profile .massage .img_box .name{
    text-align: right;
    color: #221e1f;
}
#profile  table{
    width: 100%;
}
#profile h2{
    font-weight: 400;

}
#profile .h2_en{
    text-align: right;
    
}
#profile tr:first-child{
    border-top: solid 1px;
}
#profile .gaiyo tr{
    border-bottom: dotted 1px;
}
#profile th,
#profile td{
    padding: 10px 2px;
}
#profile th{
    font-weight: 400;
    width: 120px;
    vertical-align: top;
    margin-right: 1rem
}
/*----------------------------------------------------------------------- item */
/*タブ切り替え全体のスタイル*/
.tabs {
    width: 100%;
    margin: 5rem auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: stretch;
}

/*タブのスタイル*/
.tab_item {
    width: calc(100%/2 - 5px);
    border: 2px solid #4d4d4d;
    background-color: #e6e6e6;
    border-radius: 20px;
    padding: 5px 0;
    font-size: 16px;
    text-align: center;
    color: #4d4d4d;
    font-weight: 400;
    box-shadow: 5px 2px 5px rgba(0, 0, 0, 0.2);
    display: inline-block;
    align-items: center;
    justify-content: center;
    transition: all 1s;
    cursor: pointer;
    position: relative;
}
.tab_item a{
    /*position: absolute;*/
    height: 100%;
    width: 100%;
    display: inline-block;
    /*background-color: #FFFFFF;
    border-radius: 20px;*/
}
.tab_item:hover{
    transform: translateY(-5px);
    box-shadow: 10px 5px 5px rgba(0, 0, 0, 0.3);
}


#item h1{
    text-align: center;
    font-weight: 500;
    margin: 5rem auto 2rem;
    font-size: 24px;
}
#item .item_inner{
    margin-top: 4rem;
    padding-bottom: 4rem;
    border-bottom: dashed 1px;
    justify-content: space-between;
}
#item .item_txt{
    margin-top: 1rem;
    font-size: 16px;
    line-height: 2em;
    font-family: 'Noto Sans', 'Hiragino Kaku Gothic ProN', Meiryo, 'sans-serif';
}
#item .item_txt li::before{
    content: "■";
    margin-right: 2px;
}
#item .item_txt li{
    width: 100%;
    text-indent: -18px;
    padding-left: 18px;
}
#item .item_txt li ul li::before{
    content:none;
    margin-right: 0;
}
#item .item_txt li ul li{
    text-indent: -16px;
    padding-left: 16px;
}
/*----------------------------------------------------------------------- faq */
#faq h1{
    text-align: center;
    font-weight: 100;
    margin: 3rem auto 2rem;
    font-size: 36px;
}
#faq h2{
    margin-top: 5rem;
    font-weight: 100;
    font-size: 1.3rem;
}
#faq .faq_box{
    margin-top: 3rem;
}
#faq dl{
    width: 100%;
}
#faq dt{
    font-size: 18px;
    text-indent: -44px;
    padding-left: 44px;
}
#faq dt::before{
    content: "Q";
    color: #fff;
    font-size: 22px;
    margin-right: 10px;
    background: #bfbfbf;
    border-radius: 50%;
    padding: 6px 8px;
}
#faq dd{
    color: #ed1b23;
    margin: 1em 0 3em ;
    border-bottom: #221e1f dotted 1px;
    text-indent: -44px;
    padding: 0 24px 3em 24px;
    padding-left: 44px;
}
#faq dd::before{
    content: "A";
    font-size: 22px;
    margin-right: 10px;
    background: #f6e5f0;
    color: #d868a8;
    border-radius: 50%;
    padding: 6px 8px;
    
}
/*----------------------------------------------------------------------- shop */
.shop_name{
    margin-top: 2rem;
    font-size: 22px;
}
.map_area{
    margin: 4rem 0 5rem;
}
/*----------------------------------------------------------------------- toiawase */
#toiawase h1,
#p_policy h1{
    margin: 3rem auto 5rem;
    padding: 2rem 0;
    width: 100%;
    background: #58c5c7;
    color: #fff;
    font-weight: 100;
    text-align: center;
}

.formTable{
    margin: 5rem auto 2rem;
    width: 100%;
    text-align: left;
}
.formTable th,.formTable td{
    width: 100%;
    float: left;
    letter-spacing: 2px;
    }
.formTable input , .formTable textarea{
    line-height: 1.5em;
    padding: 5px 10px;
    margin: .5em auto 1em;
    width: 100%;
    box-sizing: border-box;
    }
.formTable input[type="radio"]{
    width:2em;
}
.formTable select{
    width: 240px;
    padding: 5px 10px;
    margin: .5em auto 1em;
}
.btn_kakunin{
    margin: 3em auto 0;
    text-align: center;
    width: 100%;
    color: #fff;
    background: #000;
    padding: 10px 0;
    letter-spacing: 5px;
    font-size: 1.1em;
    border: 1px solid;
    display: inline-block;
    box-sizing: border-box;
    }
.btn_kakunin a{
    }
.btn_kakunin a:hover{
    display:inline-block;
    transition: all 0.5s ease;
    text-decoration: none;
    background: #fff;
    }
.btn_reset{
    margin: 2em auto 2em;
    text-align: center;
    width: 80%;
    color: #fff;
    background: #999;
    padding: 10px 0;
    letter-spacing: 5px;
    font-size: 1.2em;
    border: 1px solid #999;
    display: inline-block;
    box-sizing: border-box;
    }
.btn_reset a{
    }
.btn_reset a:hover{
    display:inline-block;
    transition: all 0.5s ease;
    text-decoration: none;
    background: #fff;
    }
.err input{
    width: auto;
    padding: 10px 50px;
}
.err_messe{
    text-align: center;
} 

@media screen and ( min-width:320px )
{
}
@media screen and ( min-width:767px )
{
.widthsize{	
    max-width: 979px;
    margin-left: 2em;
    margin-right: 2em;
}
.sp_none02{ display:block;}
.pc_none02{ display:none;}
/*
-----------------------------------------------------------*nav*/
.head_name{
    width: 40%;
    margin: auto;
    padding: 15px;
}
/*
-----------------------------------------------------------*footer*/
/*footer .f_logo{
	width: 30%;
}*/

/*
-----------------------------------------------------------*top*/
#top h1{
    font-size: 26px;
    font-weight: 400;
    margin: 5rem auto 1rem;
}
#top .lnk_item{
    width: 45%;
    height: 380px;
}
#top h3{
    margin: 8rem auto 5rem;
    font-size: 26px;
}
.service_inner{
    width: 45%;
}
.service_inner_txt{
    line-height: 1.3em;
}
.air_price{
    width: 60%;
    margin: 3rem auto 5rem;
}
.concept_box_txt{
    padding: 10px;
}
.concept_box .bg_blue{
    letter-spacing: 8px;
    padding: 8px;
    font-size: 1.2rem;
}
.info_txt{
    width: 80%;
    margin: 2rem auto
    }
.info_area ul{
    width: 50%;
}
.info_area li .flex{
    justify-content: center;
}
.info_area .mail{
    margin-left: 2rem;
}
/*----------------------------------------------------------------------- profile */
#profile .intro .intro_txt{
    line-height: 1.8em;
}
#profile .massage .txt_box{
    width: 50%
}
#profile .massage .img_box{
    width: 45%;
    margin-top: 0
}
#profile th{
    width: 180px;
}
/*----------------------------------------------------------------------- item */
.tabs {
    justify-content: center;
    margin: 10rem auto 0;
}

.tab_item {
    width: 40%;
    margin: 0 10px;
    font-size: 20px;
    padding: 10px 0;
}
#item .cate_txt{
    text-align: center;
}
#item .item_photo{
    width: 45%;
}
#item .item_txt{
    margin-top: 0;
    width: 52%;
    /*font-size: 16px;*/
}
/*----------------------------------------------------------------------- faq */
#faq h2{
    margin-left: 40px;
    font-size: 1.5rem;
}
#faq .faq_box{
    margin-top: 5rem;
}
#faq dt{
    padding-left: 84px;
    padding-right: 40px;
}
#faq dd{
    padding-left: 104px;
    padding-right: 60px;
}
/*----------------------------------------------------------------------- shop */
.map_area{
    margin: 4rem 0 8rem;
}

    
/*----------------------------------------------------------------------- toiawase */

}
@media screen and ( min-width:980px )
{
.sp_none{ display:block;}
.pc_none{ display:none;}
.sppad_w100 img {width:auto;}
.widthsize{
	max-width: 980px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}
.head_name{
    width: 20%;
    padding: 15px 0;
}

/*
-----------------------------------------------------------*footer*/
/*
-----------------------------------------------------------*top*/
.header_img{
    margin-bottom: 3em;
    }
#top .intro p{
    text-align: center;
}
    

}
@media screen and ( min-width:1300px )
{
    /*
-----------------------------------------------------------*top*/
}
