/*
Author: TN
*/

@charset "UTF-8";

/*------------------------------------------------------------
	base
------------------------------------------------------------ */
* { box-sizing:border-box; }
html { font-size: 10px; webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; }
body { margin: 0; padding: 0; font: 15px/1.4 'Noto Sans JP', "Yu Gothic", YuGothic, "游ゴシック体", "Helvetica", "Lucida Grande", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Geneva", "Arial", "Verdana", sans-serif; height: 100%; background-color:#fff; color:#333;}
h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,form,figure{ margin: 0px; padding: 0px; }
ul { list-style-type: none; }
img { border: none; }
input,textarea,select { font-size: 1em; }
form { margin: 0px; }
table {	border-collapse:collapse; font-size: 100%; border-spacing: 0; width: 100%;}
/*link*/
a { border:0; text-decoration:none; color: inherit; transition: all .2s ease-in-out;}
a:hover { text-decoration: none; color:inherit; }
/*text*/
h1, h2, h3, h4, h5, h6 { text-align: left; line-height:1.4; line-break: strict; font-weight: 500; }
h1 { font-size: 30px; }
h2 { font-size: 42px; }
h3 { font-size: 36px; }
h4 { font-size: 30px; }
h5 { font-size: 28px; }
h6 { font-size: 26px; }
p { font-weight: 400; font-size: 26px; line-height: 1.65;}
.minc { font-family: "Shippori Mincho", serif; font-weight: 500;}

@media(max-width:767px) {
    h1 { font-size: 2vw; }
    h2 { font-size: 5.4vw; }
    h3 { font-size: 5vw; }
    h4 { font-size: 4.8vw; }
    h5 { font-size: 3.8vw; }
    h6 { font-size: 3.5vw; }
    p { font-size: 3.2vw;}
    p.min { font-size: 2.6vw;}
    p.min2 { font-size: 2.2vw;}
}

/*strong*/
strong { font-weight: 500;}
b { color:#111; }
em, i { font-style: italic; }
.normal { font-weight:normal !important; }

/* IMG */
img { display:block; margin:0 auto; padding:0; border: 0; max-width:100%; }
a img { transition: all .2s ease-in-out; }
a:hover img { opacity:.70; }

@media (min-width: 751px) {
    a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    }
}


/*------------------------------------------------------------
    COMMON
------------------------------------------------------------ */
:root {
    --main: #24674b;
    --sub: #6a3906;
    --bg: #dee8e4;
  
}

body { background: var(--bg);}
main { width: 100%; max-width: 750px; margin: 0 auto; background: #fff;}
section { position:relative; width:100%; margin:0 auto; padding:0; box-sizing: border-box; }
section > div { position: relative;}


/*------------------------------------------------------------
    CONTENTS
------------------------------------------------------------ */

.ct01 a { position: absolute; left: 0; right: 0; bottom: 19%; margin: auto;}
.ct01 .typeB a { bottom: 15%;}

.faq { padding-top: 10%;}
.access { padding-top: 15%;}

.maps { width: 90%; margin: 0 auto;}
.maps table { width: 100%; margin: 10% 0;}
.maps th,
.maps td { font-size: 28px; font-weight: 500; color: var(--sub); padding: .6em .8em; text-align: left; height: 4em;}
.maps tr { border-top: 1px solid var(--sub);}
.maps tr:last-of-type { border-bottom: 1px solid var(--sub);}
.maps th { border-right: 1px solid var(--sub); text-align: center; width: 6em;}
.maps td span { font-size: calc(1em - 10px);}
.maps iframe { margin-top: 6%;}

/* footer */
footer { padding: 2em 0 27%; background: var(--main);}
footer p { text-align: center; color: #fff; font-family: "Shippori Mincho", serif; font-weight: 700;}

a.fixbtn { position:fixed; left: 0; right:0; bottom:0; margin: auto; z-index:9900; width: 750px; padding: 1% 0; background: rgba(255, 255, 255, .85);}
a.fixbtn:hover { opacity: .7;}


@media(max-width:767px) {
    .ct01 a { width: 80vw;; bottom: 18.5%; margin: auto;}
    .ct01 .typeB a { bottom: 14%;}
    
    .faq { padding-top: 10%;}
    .faq h2 { margin-bottom: 8%;}
    .access { padding-top: 15%;}
    
    .maps table { margin: 10% 0;}
    .maps th,
    .maps td { font-size: 3.9vw; padding: .6em .8em;}
    .maps th { padding: .6em 0; width: 5.2em;}
    .maps td span { font-size: calc(1em - 5px);}
    .maps iframe { height: 300px!important;}

    /* footer */
    footer { padding: 1em 0 30%;}
    
    a.fixbtn { width: 100%; padding: 3% 0;}
    a.fixbtn img { width: 92%; margin: 0 auto;}
}



/* アコーディオン */
.acd { width: 90%; margin: 0 auto;}
.acd:not(:first-of-type) { margin-top: 5%;}
.acd input { display: none;}
.acd label { width: 100%; padding: 1.6em 6em 1.6em 1.8em; cursor: pointer; position: relative; display: block; background: #fff; border: 2px solid var(--main); border-radius: 14px; transition: all 0.25s;}
.acd label::after,
.acd label::before {
content: "";
position: absolute;
top: 50%;
right: 2em;
transform-origin :50% 50%;
width: 40px;
height: 3px;
background-color: var(--main);
transition: all 0.25s;
border-radius: 10px;
}
.acd label::before { transform: rotate(-45deg);}
.acd label::after { transform: rotate(45deg); right: 3.8em; }
.acd input:checked ~ label::before { transform: rotate(45deg);}
.acd input:checked ~ label::after { transform: rotate(-45deg);}
.acd > div { height: 0; overflow: hidden; opacity: 0; transition: 0.25s;}
.acd input:checked ~ div { height: auto; opacity: 1; padding: 1.6em 2em; border: 2px solid var(--main); border-bottom-left-radius: 14px; border-bottom-right-radius: 14px; background: #fff;}
.acd input:checked ~ label { border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-bottom: 0;}
.acd span { display: block;}
.acd label h4 { color: var(--main); font-size: 40px; font-family: "Shippori Mincho", serif; font-weight: 600; background: url(images/icon_q.svg) 0 50% no-repeat; padding-left: 1.5em;}
.acd p { color: var(--sub);}


@media(max-width:767px) {
    .acd:not(:first-of-type) { margin-top: 1em;}
    .acd label { padding: .8em 3em 1em 1em;}
    .acd label::after,
    .acd label::before { width: 20px;}
    .acd label::before { right: 1em;}
    .acd label::after { right: 1.85em; }
    .acd input:checked ~ div { padding: 1.2em 1.4em 1.4em;}
    .acd label h4 { font-size: 6vw; background-size: 5.4vw; padding-left: 1.5em;}
    .acd p { font-size: 3.5vw;}
}



/*------------------------------------------------------------
    320px
------------------------------------------------------------ */
@media(max-width:320px) {
.col2 li, .col2 li:nth-child(2n) { position:relative; width:94%; }
.blogs li p.cate { font-size:1.1rem; padding:.3em .6em; }
.small-container { padding-bottom: 200%; /* 高さ */ }
input[type="submit"], .inqBtn { font-size:1.6rem; }
img.logo { float:none !important; margin:0 auto 0; display:block; }
p.footInfo { padding:0; }
}


/*------------------------------------------------------------
    others
------------------------------------------------------------ */
@media(min-width:768px) {
    .onlySp { display:none !important; }
}
@media(max-width:767px) {
    .onlyPc { display:none !important; }
}
@media(max-width:411px) {
    .small-container { padding-bottom: 172%; /* 高さ */ }
}
@media (min-width: 751px) {
    a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    }
}
  