@charset "utf-8";

html {
    background-color: #fff;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
input,
button,
p {
    margin: 0px;
    padding: 0px;
    font-size: 14px;
    font-weight: normal;
    font-family: 'Noto Serif JP', Noto Serif JP,"游ゴシック", "Yu Gothic", YuGothic, "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    line-height: 140%;
	letter-spacing: 2px;
    color: #323232;
    word-wrap: break-word;
    overflow-wrap: break-word;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
input,
button,
p {
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: unset;
}

.pc-only{
	display:block;
}
.sp-only{
	display:none;
}
@media (max-width: 850px){
	.pc-only{
		display:none !important;
	}
	.sp-only{
		display:block !important;
	}
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
(-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {

    body,
    div,
    dl,
    dt,
    dd,
    ul,
    ol,
    li,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    form,
    input,
    button,
    p {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}

figure,
figcaption {
    margin: 0;
    padding: 0;
}

input,
textarea,
select {
    font-size: 16px !important;
}

.fead-mv {
    opacity: 0;
    -webkit-transform: translate(0, 10px);
    transform: translate(0, 10px);
    -webkit-transition: 0.5s linear;
    transition: 0.5s linear;
}

.mv {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

.text {
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.small {
    font-size: 80%;
}

.big {
    font-size: 120%;
}

.ofimg {
    width: 100%;
    overflow: hidden;
}

.of {
    position: relative;
}

.of:before {
    content: "";
    display: block;
}

.ofimg img {
    width: 100%;
    height: 100% !important; 
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    font-family: 'object-fit: cover; object-position: center center;';
}

.box{
  float: left;
  padding: 5px;
}

.boxContainer{
  overflow: hidden;
}

.of img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.of10:before {
    padding-top: 10%;
}

.of15:before {
    padding-top: 15%;
}

.of20:before {
    padding-top: 20%;
}

.of25:before {
    padding-top: 25%;
}

.of30:before {
    padding-top: 30%;
}

.of35:before {
    padding-top: 35%;
}

.of40:before {
    padding-top: 40%;
}

.of45:before {
    padding-top: 45%;
}

.of50:before {
    padding-top: 50%;
}

.of55:before {
    padding-top: 55%;
}

.of60:before {
    padding-top: 60%;
}

.of65:before {
    padding-top: 65%;
}

.of70:before {
    padding-top: 70%;
}

.of75:before {
    padding-top: 75%;
}

.of80:before {
    padding-top: 80%;
}

.of85:before {
    padding-top: 85%;
}

.of90:before {
    padding-top: 90%;
}

.of95:before {
    padding-top: 95%;
}

.of100:before {
    padding-top: 100%;
}

.of105:before {
    padding-top: 105%;
}

.of110:before {
    padding-top: 110%;
}

.of115:before {
    padding-top: 115%;
}

.of120:before {
    padding-top: 120%;
}

.of125:before {
    padding-top: 125%;
}

.of130:before {
    padding-top: 130%;
}

.of135:before {
    padding-top: 135%;
}

.of140:before {
    padding-top: 140%;
}

.of145:before {
    padding-top: 145%;
}

.of150:before {
    padding-top: 150%;
}

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.clearfix:before {
    display: block;
    content: "";
    clear: both;
}

.clearfix {
    display: block;
}

.map {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.map:after {
    display: block;
    content: "";
    padding-top: 45%;
}

.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: initial;
    width: 100%;
    height: 100%;
}

iframe {
    max-width: 100%;
}

img {
    vertical-align: top;
    border: none;
    max-width: 100% !important;
    height: auto;
}

img:not([src*="."]) {
    display: none;
}

a {
    text-decoration: none;
    color: #474646;
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
}

a:hover {
    opacity: 0.6;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
}

a[href*="tel"] {
    pointer-events: none;
}

ul,
li {
    list-style: none;
    text-align: left;
    padding: 0;
    margin: 0;
}

dl,
dt,
dd {
    text-align: left;
    padding: 0;
    margin: 0;
}

p {
    text-align: left;
}

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

.flexc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: justify;
    justify-content: center;
}

.flexs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.flexb {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

/* ##### pcで6分割のグリッド ##### */
.gr666,
.gr665,
.gr664,
.gr663,
.gr662,
.gr661,
.gr655,
.gr654,
.gr653,
.gr652,
.gr651,
.gr644,
.gr643,
.gr642,
.gr641,
.gr633,
.gr632,
.gr631,
.gr622,
.gr621,
.gr611 {
    width: 14%;
    margin: 1%;
}

/* ##### pcで5分割のグリッド ##### */
.gr555,
.gr554,
.gr553,
.gr552,
.gr551,
.gr544,
.gr543,
.gr542,
.gr541,
.gr533,
.gr532,
.gr531,
.gr522,
.gr521,
.gr511 {
    width: 18%;
    margin: 1%;
}

/* ##### pcで4分割のグリッド ##### */
.gr444,
.gr443,
.gr442,
.gr441,
.gr433,
.gr432,
.gr431,
.gr422,
.gr421,
.gr411 {
    width: 23%;
    margin: 1%;
}

/* ##### pcで3分割のグリッド ##### */
.gr333,
.gr332,
.gr331,
.gr322,
.gr321,
.gr311 {
    width: calc(100% / 3 - 2%);
    margin: 1%;
}

/* ##### pcで2分割のグリッド ##### */
.gr222,
.gr221,
.gr211 {
    width: 48%;
    margin: 1%;
}

.w100 {
    width: 100%;
}

.w95 {
    width: 95%;
}

.w90 {
    width: 90%;
}

.w85 {
    width: 85%;
}

.w80 {
    width: 80%;
}

.w75 {
    width: 75%;
}

.w70 {
    width: 70%;
}

.w65 {
    width: 65%;
}

.w60 {
    width: 60%;
}

.w55 {
    width: 55%;
}

.w50 {
    width: 50%;
}

.w48 {
    width: 48%;
}

.w45 {
    width: 45%;
}

.w40 {
    width: 40%;
}

.w35 {
    width: 35%;
}

.w30 {
    width: 30%;
}

.w25 {
    width: 25%;
}

.w20 {
    width: 20%;
}

.w15 {
    width: 15%;
}

.wrapper {
    overflow: hidden;
    min-width: 320px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff;
}

.inner {
    width:1240px;
    margin: 0 auto;
}

@media (max-width: 1240px) {
    .inner {
		width: 100%;
		padding:0 20px;
    }
}

@media only screen and (max-width: 1024px) {
    /* .wrapper {
        padding-top: 0 !important;
    } */

    a[href*="tel"] {
        pointer-events: initial !important;
    }

    .flex {
        margin: 0 auto;
    }

    .flexc {
        margin: 0 auto;
    }

    .flexs {
        margin: 0 auto;
    }

    .flexb {
        margin: 0 auto;
    }

    /* カラム */

    /* ##### タブレッドで5分割のグリッド ##### */
    .gr655,
    .gr654,
    .gr653,
    .gr652,
    .gr651 {
        width: 18%;
    }

    /* ##### タブレッドで4分割のグリッド ##### */
    .gr644,
    .gr643,
    .gr642,
    .gr641,
    .gr544,
    .gr543,
    .gr542,
    .gr541 {
        width: 23%;
    }

    /* ##### タブレッドで3分割のグリッド ##### */
    .gr633,
    .gr632,
    .gr631,
    .gr533,
    .gr532,
    .gr531,
    .gr433,
    .gr432,
    .gr431 {
        width: calc(100% / 3 - 2%);
    }

    /* ##### タブレッドで2分割のグリッド ##### */
    .gr622,
    .gr621,
    .gr522,
    .gr521,
    .gr422,
    .gr421,
    .gr322,
    .gr321 {
        width: 48%;
    }

    /* ##### タブレッドで1分割のグリッド ##### */
    .gr611,
    .gr511,
    .gr411,
    .gr311,
    .gr211 {
        width: 98%;
    }

    .inner {
        width: 96%;
        max-width: 768px;
    }

    .map:after {
        padding-top: 60%;
    }
}

@media only screen and (max-width: 599px) {

    /* ##### スマホで5分割のグリッド ##### */
    .gr665 {
        width: 18%;
    }

    /* ##### スマホで4分割のグリッド ##### */
    .gr664,
    .gr654,
    .gr554 {
        width: 23%;
    }

    /* ##### スマホで3分割のグリッド ##### */
    .gr663,
    .gr653,
    .gr643,
    .gr633,
    .gr553,
    .gr543,
    .gr533,
    .gr443,
    .gr433 {
        width: calc(100% / 3 - 2%);
    }

    /* ##### スマホで2分割のグリッド ##### */
    .gr662,
    .gr652,
    .gr642,
    .gr632,
    .gr622,
    .gr552,
    .gr542,
    .gr532,
    .gr522,
    .gr442,
    .gr432,
    .gr422,
    .gr332,
    .gr322 {
        width: 48%;
    }

    /* ##### スマホで1分割のグリッド ##### */
    .gr661,
    .gr651,
    .gr641,
    .gr631,
    .gr621,
    .gr611,
    .gr551,
    .gr541,
    .gr531,
    .gr521,
    .gr511,
    .gr441,
    .gr431,
    .gr421,
    .gr411,
    .gr331,
    .gr321,
    .gr311,
    .gr221,
    .gr211 {
        width: 98%;
    }

    .w95 {
        width: 100%;
        margin: 2% 0;
    }

    .w90 {
        width: 100%;
        margin: 2% 0;
    }

    .w85 {
        width: 100%;
        margin: 2% 0;
    }

    .w80 {
        width: 100%;
        margin: 2% 0;
    }

    .w75 {
        width: 100%;
        margin: 2% 0;
    }

    .w70 {
        width: 100%;
        margin: 2% 0;
    }

    .w65 {
        width: 100%;
        margin: 2% 0;
    }

    .w60 {
        width: 100%;
        margin: 2% 0;
    }

    .w55 {
        width: 100%;
        margin: 2% 0;
    }

    .w50 {
        width: 100%;
        margin: 2% 0;
    }

    .w48 {
        width: 100%;
        margin: 2% 0;
    }

    .w45 {
        width: 100%;
        margin: 2% 0;
    }

    .w40 {
        width: 100%;
        margin: 2% 0;
    }

    .w35 {
        width: 100%;
        margin: 2% 0;
    }

    .w30 {
        width: 100%;
        margin: 2% 0;
    }

    .w25 {
        width: 100%;
        margin: 2% 0;
    }

    .w20 {
        width: 100%;
        margin: 2% 0;
    }

    .w15 {
        width: 100%;
        margin: 2% 0;
    }

    .inner {
        width: 100%;
        max-width: 450px;
    }

    .more {
        margin: 30px auto 0 auto;
    }

    .map:after {
        padding-top: 90%;
    }
}

/* hamburger overlay */
.hamburger {
    /*display: none;*/
}
.hamburger {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        width: 100px;
        height: 100px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        cursor: pointer;
    }
.hamburger > span{
	font-size:10px;
	transform: scale(0.8);
	letter-spacing: 0;
}
    .hamburger a,
    .hamburger a:hover,
    .hamburger a:focus {
        opacity: 1;
    }

    .menu-trigger,
    .menu-trigger span {
        display: inline-block;
        -webkit-transition: all .4s;
        transition: all .4s;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .menu-trigger {
        position: relative;
        width: 45px;
        height: 30px;
        float: right;
    }

    .menu-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 4px;
        background: #ffffff;
    }

    .menu-trigger span:nth-of-type(1) {
        top: 0;
    }

    .menu-trigger span:nth-of-type(2) {
        top: 13px;
    }

    .menu-trigger span:nth-of-type(3) {
        bottom: 0;
    }
    .active .menu-trigger {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }

    .active .menu-trigger span:nth-of-type(1) {
        -webkit-transform: translateY(13px) rotate(-45deg);
        transform: translateY(13px) rotate(-45deg);
    }

    .active .menu-trigger span:nth-of-type(2) {
        -webkit-transform: translateY(0) rotate(45deg);
        transform: translateY(0) rotate(45deg);
    }

    .active .menu-trigger span:nth-of-type(3) {
        opacity: 0;
    }

    .overlay {
        position: fixed;
        z-index: 21;
        top: 0;
        left: 0;
        display: none;
        width: 100%;
        height: 100%;
        background-color: rgba(77, 66, 62, 0.3);
    }

    .active .overlay {
        display: block;
    }




/* hamburger overlay end */

/* breadcrumbs */
.breadcrumbs-box {
    margin-top: 60px;
    padding: 50px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.breadcrumbs li,
.breadcrumbs li a {
    font-weight: bold;
    letter-spacing: 2px;
}

.breadcrumbs li:last-of-type {
    padding-right: 0;
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.breadcrumbs li:after {
    font-size: 16px;
    line-height: 15px;
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    font-weight: 900;
    display: inline-block;
    margin: 0 10px;
}

.breadcrumbs li:last-of-type:after {
    display: none;
}

@media (max-width: 1024px) {
    .breadcrumbs-box {
        margin-top: 30px;
    }
}

@media (max-width: 599px) {
    .breadcrumbs-box {
        margin-top: 0;
    }
}

/* breadcrumbs end */

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}