@charset "utf-8";

/* Safari only fix
============================================================================== */
@media screen and (-webkit-min-device-pixel-ratio:0) and (max-width: 767px) {
  ::i-block-chrome, html, body { overflow: hidden; }
  ::i-block-chrome, #wrap { overflow: auto; }
}

/* 共通部分
============================================================================== */
@media screen and (max-width: 767px) {
    * { -webkit-box-sizing: border-box; box-sizing: border-box; }
    *:before,
    *:after { -webkit-box-sizing: border-box; box-sizing: border-box; }
    html, body {
        font-size: calc(24 / 640 * 100vw);
        line-height: 1.5;
        color: #000;
        letter-spacing: 0.1em;
    }
    a::after {
      content: ''; position: absolute;
      bottom: 0; left: 0; width: 0; height: 0px;
      background-color: #000;
      transition: 0s;
    }
    img { width:auto; max-width:100%; height:auto; }
    .pc-only { display: none; }
    .sp-only { display: inherit; }
    .inner,
    .inner2 {
        width:100%;
        margin-left:auto;
        margin-right:auto;
        padding: 0 calc(20 / 640 * 100vw);
        position: relative;
    }
    /* 下層共通部品 */
    .col_img_l {
        text-align:center;
        margin:0 auto;
        margin-bottom:calc(40 / 640 * 100vw);
        /*-webkit-box-ordinal-group:2; -ms-flex-order:2; -webkit-order:2; order:2;*/
    }
    .col_img_r {
        text-align:center;
        margin:0 auto;
        margin-bottom:calc(40 / 640 * 100vw);
        /*-webkit-box-ordinal-group:2; -ms-flex-order:2; -webkit-order:2; order:2;*/
    }
    .col_img_l,
    .col_img_r,
    .col_txt_l,
    .col_txt_r { width:100%; }

    .row_page_common {
        -webkit-justify-content: center; justify-content: center;
        -webkit-align-items: flex-start; align-items: flex-start;
        -webkit-flex-wrap: wrap; flex-wrap: wrap;
    }
    .row_page_common:not(:last-child) { margin-bottom: calc(45 / 640 * 100vw); }
    .row_page_common .col_sub_row {
        width:100%;
        /*-webkit-box-ordinal-group:2; -ms-flex-order:2; -webkit-order:2; order:2;*/
    }
}

/* header部分
============================================================================== */
@media screen and (max-width: 767px) {
    /* header */
    header { background:#FFF; }
    header .inner {
        max-width: 100%; margin:0 auto; padding: 0; position: relative;
        flex-flow: row wrap; justify-content: center; align-items: center;
        display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;
    }
    header .inner #mobile-head { display:block; width: 100%; padding:0; position: relative; flex-flow: row wrap; }

    header .inner #mobile-head .logo { margin:0 auto 0px; padding:0; display:block; font-weight:normal; text-align:center; }
    header .inner #mobile-head .logo .flexbox { padding:calc(10 / 640 * 100vw); justify-content:flex-start; }
    header .inner #mobile-head .logo a { margin-top:calc(10 / 640 * 100vw); color:#000; font-size:0.9rem; letter-spacing:1px; position:relative; text-align: left; outline:none; }
    header .inner #mobile-head .logo a img { max-width:70%; margin:0; padding:0; max-width: 250px; }
    /*header .inner #mobile-head .logo a span { padding:0; position:absolute; top:1px; left:20px; color:#555; line-height:15px; font-size:12px; font-weight:300; display:inline-block;  }*/

    header .inner #mobile-head .right {margin:0 0; padding:0; display:block; font-weight:normal; }
    header .inner #mobile-head .right .contact {display:none; margin:0; padding:0; font-weight:normal; }
    header .inner #mobile-head .right .contact ul {
      margin:0; padding:0; list-style:none;
      display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;
      flex-flow: row nowrap; justify-content: space-between; align-items: center;
    }
    header .inner #mobile-head .right .contact ul li.col1 { font-size:0.95rem; font-weight:500; }
    header .inner #mobile-head .right .contact ul li.col2 { margin:0 20px; font-size:0.8rem; font-weight:300; text-align:center; }

    header.fixed { padding:0; position:static; box-shadow:none; border-bottom:2px solid #c29040; }
    #content #home { margin-top:0; }

    /* Toggle Button */
    header .inner #mobile-head #nav-toggle {
        display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;
        justify-content: center; align-items: center;
        padding:calc(10 / 640 * 100vw);
        position:fixed; top:calc(10 / 640 * 100vw); right:calc(10 / 640 * 100vw);
        z-index:999;
        text-align:center;
        padding-top: 0px;
        margin-right: 10px;
        margin-top: 12px;
    }
    header .inner #mobile-head #nav-toggle .menu-toggle { color:#c29040; position: relative; margin:0; padding:0; border: none; background: transparent; outline:none; text-align: center; }
    header .inner #mobile-head #nav-toggle .menu-toggle span { color: #FFF; font-size:calc(18 / 640 * 100vw); font-weight: 500; font-style: normal; }
    header .inner #mobile-head #nav-toggle .menu-toggle .menu-on_icon { display:block; font-size: 25px; }
    header .inner #mobile-head #nav-toggle .menu-toggle .menu-off_icon { display:none; }
    header.open .inner #mobile-head #nav-toggle .menu-toggle .menu-on_icon { display:none; }
    header.open .inner #mobile-head #nav-toggle .menu-toggle .menu-off_icon { display:inline-block; font-size: 25px; }

    /* #global-nav */
    header #global-nav.open,
    header #mobile-head:hover #global-nav {
        height: 100%;
        margin: 0;
    }
    header #global-nav {
        display:block; position:fixed; top:0; left:0;
        width: 100%; height:100%; padding: 0; margin:0;
        padding-left:15%;
        text-align:left;
        background:rgba(100,90,84,.95);
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
        -webkit-transition:ease .5s;
        transition:ease .5s;
        z-index:999;
    }
    header #global-nav ul li a { font-size:1rem; font-weight:500; letter-spacing:0.1em; }
    header.open #global-nav {
        -webkit-transform:translateX(-15%);
        transform:translateX(-15%);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    header #global-nav > ul { flex-flow: row wrap; }
    header #global-nav > ul .navinfo {
        display:block;
        width:100%;
        padding: calc(60 / 640 * 100vw) calc(50 / 640 * 100vw) calc(30 / 640 * 100vw);
        border-bottom: none;
    }
    header #global-nav > ul .navinfo img { width:100%; max-width: 180px; }
    header #global-nav > ul .navinfo div p { color:#FFF; font-size:calc(20 / 640 * 100vw); }
    header #global-nav > ul .navinfo div > p:nth-of-type(n + 2) { margin-left:calc(20 / 640 * 100vw); }
    header #global-nav > ul .navinfo div p a { color:#FFF; }
    header #global-nav > ul .navinfo div a i { color:#FFF; font-size:1.7rem; }
    header #global-nav > ul .navinfo div a:not(:first-child) { margin-left:calc(10 / 640 * 100vw); }
    header #global-nav > ul .navinfo .spsns { width:100%; }
    header #global-nav ul ul {
        width:100%; height:100%; padding:0; margin:0; list-style: none;
        flex-flow:column wrap; justify-content: center; align-items: center;
        display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;
    }
    header #global-nav ul ul li { padding:0; width:100%; border-bottom: 1px solid #999; background-color:transparent; }
    header #global-nav ul ul li.active { padding-top:0; border-top:none; border-bottom: 1px solid #999; }
    header #global-nav ul ul li.active > a { color:#c29040; }
    header #global-nav ul ul li a {
        display: inline-block; position: relative; padding: 10px 10px;
        color: #FFF; font-weight: 500; font-style: normal;
    }
    header #global-nav ul ul li a img { width:100%; }
    header #global-nav ul ul.gp1 {width: 100%; }
    header #global-nav ul ul.gp2 {display:none; }

    header .inner #mobile-head .logo > div > span { display:none; }
    header .inner #mobile-head .logo > .head_tel { display:none; }

    /* responsive rules */
    header #global-nav ul ul.gp1 li ul.subs.office,
    header #global-nav ul ul.gp1 li ul.subs { width:100%; padding:0; display:block; position:static; }
    header #global-nav ul ul.gp1 li ul.subs li { overflow:visible; padding:0; padding-left:15px; opacity:1; height:100%; }
    header #global-nav ul ul.gp1 li:hover ul.subs { background-color:transparent; }
    header #global-nav ul ul.gp1 li:hover ul.subs li { overflow: visible; height:100%; padding:0 0 0 15px; background-color:transparent; -webkit-box-sizing: border-box; box-sizing: border-box; }
    header #global-nav ul ul.gp1 li ul.subs li:before { padding-right:0px; color:#c29040; font-family: "Font Awesome 5 Free"; content: "\f105"; font-weight: bold; }
    header #global-nav ul ul.gp1 li:hover ul.subs li:before { padding-right:0; padding-top:6px; }
    header #global-nav ul ul.gp1 li ul.subs li.sub_active a { color:#c29040; font-weight:900; font-size:110%; }

    #page-top {
        bottom: calc(40 / 640 * 100vw);
        right: calc(30 / 640 * 100vw);
    }
    #page-top a {
    width:60px;
    height:100px;
    background:url("../img/cmn/pagetop_icn.png") center center / 80px auto no-repeat;
    }
    #page-top a:before {
        content:"";
        display:block;
        width:60px;
        height:100px;
        margin:0;
    }
}
/* ロゴ幅を超えて小さくなった時の対応 */
@media screen and (max-width: 470px) {
    header .inner #mobile-head .logo a span { padding:0; position:absolute; top:calc(10 / 640 * 100vw); left:calc(60 / 640 * 100vw); color:#555; line-height:calc(15 / 640 * 100vw); font-size:calc(12 / 640 * 100vw); font-weight:300; display:inline-block;  }
    footer .logo a span { padding:0; position:absolute; top:calc(10 / 640 * 100vw); left:calc(60 / 640 * 100vw); color:#FFF; line-height:calc(20 / 640 * 100vw); font-size:calc(16 / 640 * 100vw); font-weight:300; display:inline-block; text-align:left; }
}

/* footer部分
============================================================================== */
@media screen and (max-width: 767px) {
    footer .links ul li { text-align:center; margin-bottom:5px; }
    footer .container.bg01 { height:auto; background-size: auto 100%; }
    footer .container.bg01 .inner .col1,
    footer .container.bg01 .inner .col2,
    footer .container.bg01 .inner .col3,
    footer .container.bg01 .inner .col1 ul,
    footer .container.bg01 .inner .col2 ul,
    footer .container.bg01 .inner .col3 ul { width:100%; padding:0; }
    footer .container.bg01 .inner .links { padding-top:calc(20 / 640 * 100vw); }

    footer { padding-bottom:0px; }
    footer .container .inner { width:100%; margin: 0 auto 20px; padding:0 3%; background:none; }
    footer .logo { margin:0 0 30px; padding:0; display:block; font-weight:normal; }
    footer .logo a { width:100%; color:#FFF; font-size:0.9rem; letter-spacing:1px; position:relative; }
    footer .logo a img { max-width:100%; margin:0; padding:0; }
    /*footer .logo a span { padding:0; position:absolute; top:calc(10 / 640 * 100vw); left:calc(60 / 640 * 100vw); color:#FFF; line-height:calc(20 / 640 * 100vw); font-size:calc(16 / 640 * 100vw); font-weight:300; display:inline-block; text-align:left; }
    */

    footer .container .inner.flexbox.nowrap { flex-flow: row wrap; }

    footer .container.bg02 .col1 { letter-spacing:0.15em; font-size:16px; padding-top: 20px; width:90%; flex-flow: row wrap; justify-content: flex-start; align-items: flex-start; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; }
    footer .container.bg02 .col2 { letter-spacing:0.15em; font-size:16px; padding-top: 0px; width:90%; flex-flow: row wrap; justify-content: flex-start; align-items: flex-start; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; }
    footer .container.bg02 .col3 { letter-spacing:0.15em; font-size:16px; padding-top: 0px; padding-bottom: 20px; width:100%; flex-flow: row wrap; justify-content: flex-start; align-items: flex-start; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; }
    footer .container.bg02 .col3 { width: 90%; }
    footer .container.bg02 .col3 .ftel { display:block; }
    footer .container.bg02 .addr span.ftel small { margin-left:4em; letter-spacing:0.15em; font-size:16px; display:block; }
    footer .container.bg02 { padding:calc(30 / 640 * 100vw) 0; }
    footer .container.bg02 .addr .email { display: block; margin-top: calc(10 / 640 * 100vw); text-align:left; }

    footer .col3 .gp1 { width:50%; }
    footer .col3 .gp2 { width:50%; }
    footer .col4 { width:100%; }

    footer .copyright .block { padding:calc(20 / 640 * 100vw) 0; display: block; font-size:60%; }
    footer .container.bg01 .inner li a {
    font-family:  serif;
    color:#FFF;
    font-size:13px; line-height:1.5; font-weight:400; letter-spacing:0.26em;
    }
    footer .container.bg01 .inner .col1 { padding-top: 20px; ; }
    footer .container.bg01 .inner .col2 { padding-top: 0px;  }
    footer .container.bg01 .inner .col3 { padding-top: 0px; padding-bottom: 20px; }
}

/* タイトル系
=============================================================================== */
@media screen and (max-width: 767px) {
    /* 下層ビジュアル */
    .low .lowervisual { margin:0 auto;}
    .low .lowervisual .bg { }
    .low .lowervisual .bg {
        background-size: cover;
    }
    .low .lowervisual .inner {
        padding:calc(50 / 640 * 100vw) calc(20 / 640 * 100vw);
        height: auto;
        position:relative;
        display: -ms-flexbox; display: -webkit-flex; display: flex;
        -ms-flex-pack: center; -ms-flex-line-pack: center;
        -webkit-justify-content: flex-start; justify-content: flex-start;
        -webkit-align-items: center; align-items: center;
        -webkit-flex-wrap: wrap;  flex-wrap: wrap;
    }
    .low .lowervisual .h1_title {
        line-height:1;
        letter-spacing:0.1em;
        text-align: left;
        margin:0;
    }
    .low .lowervisual .h1_title small {
        display:block; letter-spacing:0;
        font-size:1rem;
    }
    .low .lowervisual .h1_title strong {
        display:block;
        margin-top:calc(10 / 640 * 100vw);
        font-size:1.0rem;
        line-height:1.2;
        letter-spacing:0;
    }

    .low h2 {
        text-align: center;
        line-height:1;
        font-size: 1.0em;
    }
    .low h2 span {
        display:inline-block;
        font-size:100%;
        font-style: normal;
        line-height: 1;
        font-weight:500;
        letter-spacing:0;
        text-align:left;
        position:relative;
        vertical-align:bottom;
    }
    .low .row_page_common .col_txt_l h2,
    .low .row_page_common .col_txt_r h2 {
        width:100%;
        margin:0;
        padding:calc(30 / 640 * 100vw) 0 0;
    }
    .low .row_page_common .col_txt_r h2 {
        width:auto;
    }
    .low .row_page_common .col_txt_l h2 span,
    .low .row_page_common .col_txt_r h2 span {
        font-size: 100%;
    }

    .low h3 {  }
    .low h3 span {
        display:inline-block;
        font-size:100%;
        font-style: normal;
        line-height: 1.6;
        font-weight:500;
        letter-spacing:0.1em;
        text-align:left;
        position:relative;
        vertical-align:bottom;
    }

    #content.low .content_echo { margin-bottom: calc(100 / 640 * 100vw); }
    .content_low { width:100%; padding-top: calc(100 / 640 * 100vw); }
    .content_low .inner { width:100%; max-width:100%; }
    #content.lower article:last-child { margin-bottom:calc(190 / 640 * 100vw); }

    /* パンくずリスト */
    .low .lowervisual .breadwrap {
        height:auto;
        margin:0 auto;
        padding: 0 calc(20 / 640 * 100vw) 0;
    }
    .low .lowervisual .breadcrumb { margin:calc(20 / 640 * 100vw) 0; }
    .low .lowervisual .breadcrumb li {
        position:relative;
        display:inline-block;
    }

    /* ページ内リンク */
    .internal_link_list.flexbox,
    .internal_link_list.flexbox.between {
        justify-content: space-between;
        align-items: flex-start;
    }
    .internal_link_list li { width:48%; }
    /*.internal_link_list li:only-of-type { width:100%; }*/
    .internal_link_list li:nth-of-type(n + 3) { margin-top:1em; }
    .internal_link_list.w50p li:nth-of-type(n + 3) { margin-top:calc(10 / 640 * 100vw); }
    .internal_link_list li a {
        padding:calc(10 / 640 * 100vw) calc(20 / 640 * 100vw);
    }
    .access .internal_link_list li:not(:first-of-type) { margin-top:0; }
}

/* 汎用パーツ
=============================================================================== */
@media screen and (max-width: 767px) {
    .flexbox.between { -webkit-justify-content: center; justify-content: center; }
    .flexbox.between .btcn:nth-of-type(n + 2) { margin-top:calc(30 / 640 * 100vw); }

    .btcn a:after,
    .btcn > span:after {
        font-size:calc(28 / 640 * 100vw);
        right: calc(35 / 640 * 100vw);
    }

    .mt5  { margin-top:calc(5 / 640 * 100vw); }
    .mt10 { margin-top:calc(10 / 640 * 100vw); }
    .mt15 { margin-top:calc(15 / 640 * 100vw); }
    .mt20 { margin-top:calc(20 / 640 * 100vw); }
    .mt25 { margin-top:calc(25 / 640 * 100vw); }
    .mt30 { margin-top:calc(30 / 640 * 100vw); }
    .mt35 { margin-top:calc(35 / 640 * 100vw); }
    .mt40 { margin-top:calc(40 / 640 * 100vw); }
    .mt45 { margin-top:calc(45 / 640 * 100vw); }
    .mt50 { margin-top:calc(50 / 640 * 100vw); }
    .mt55 { margin-top:calc(55 / 640 * 100vw); }
    .mt60 { margin-top:calc(60 / 640 * 100vw); }
    .mt65 { margin-top:calc(65 / 640 * 100vw); }
    .mt70 { margin-top:calc(70 / 640 * 100vw); }
    .mt75 { margin-top:calc(75 / 640 * 100vw); }
    .mt80 { margin-top:calc(80 / 640 * 100vw); }
    .mt85 { margin-top:calc(85 / 640 * 100vw); }
    .mt90 { margin-top:calc(90 / 640 * 100vw); }
    .mt95 { margin-top:calc(95 / 640 * 100vw); }
    .mt100 { margin-top:calc(100 / 640 * 100vw); }
    .mt105 { margin-top:calc(105 / 640 * 100vw); }
    .mt110 { margin-top:calc(110 / 640 * 100vw); }
    .mt115 { margin-top:calc(115 / 640 * 100vw); }
    .mt120 { margin-top:calc(120 / 640 * 100vw); }
    .mt125 { margin-top:calc(125 / 640 * 100vw); }
    .mt130 { margin-top:calc(130 / 640 * 100vw); }
    .mt135 { margin-top:calc(135 / 640 * 100vw); }
    .mt140 { margin-top:calc(140 / 640 * 100vw); }
    .mt145 { margin-top:calc(145 / 640 * 100vw); }
    .mt150 { margin-top:calc(150 / 640 * 100vw); }

    .tbl_01 { width:100%; border-collapse:collapse; }
    .tbl_01 th,
    .tbl_01 td { display:block; }
    .tbl_01 th.pc-only { display:none; }
    .tbl_01 td .sp-only { display:inline; }
    .tbl_01 th {
        padding:calc(1 / 640 * 100vw) calc(20 / 640 * 100vw);
        width:100%;
        font-size:calc(28 / 640 * 100vw);
        line-height:1.9;
        vertical-align:top;
        border-top:none;
        border-bottom:none;
        font-size: 1.0em;
    }
    .tbl_01 td {
        padding:calc(20 / 640 * 100vw);
        padding-left:calc(20 / 640 * 100vw);
        border-top:none;
        border-bottom:none;
    }
    .tbl_01 tr:last-child { border:none; }
    .tbl_01.col-3 th { width:100%; }

    a.imgWrap img { opacity: 1; z-index:2; }
    a.imgWrap figcaption.fadetitle { bottom:1.5em; opacity:1; }
    a.imgWrap figcaption.fadetitle .atitle { font-size:1.2rem; }
    a.imgWrap figcaption.fadetitle .atxt { font-size:1rem; }
}

/* / TOP
==============================================================================*/
@media(min-width: 768px) and (max-width:960px) {
    /* slider */
    .home .main_img {
        margin-top:135px;
        width:100%;
        height: calc(320 / 640 * 100vw);
        background-position: center center;
        margin-left: 0;
        margin-bottom:0;
    }
    .home .main_img .inner .logo_index {
        top:50%;
    }
}
@media screen and (max-width: 767px) {
    /* swiper */
    /*#home .swipercont {
      width:100%; max-width:100%;
      top: 0%; bottom: 0; left: 0%; right: 0;
      margin: auto; text-align:center;
      transform: none;
      justify-content: center; align-items: center;
    }
    #home .swipercont h1 { width: 50%; }
    #home .swipercont h1 img { max-width:100%; }
    #home .swiper-container {}
    #home .swiper-container .swiper-wrapper .swiper-slide {
      /* 表示画像の高さ ÷ 表示画像の幅 × 100 *//*
      padding-top: 47.14%; background-color:#000;
    }*/
    /* slider */
    .home .main_img {
        width:100%;
        height: calc(300 / 640 * 100vw);
        background-position: center center;
        margin-left: 0;
        margin-bottom:0;
    }
    .home .main_img.vegas-container {
        overflow: visible !important;
    }
    .home .main_img .inner {
        position:relative;
        width:100%;
        height:100%;
    }
    .home .main_img .inner .logo_index {
        top:30%;
        bottom: auto;
        left: 0;
        right:0;
        margin:auto;
        padding:0;
        height: auto;
        transform: none;
        -webkit- transform: none;
        text-align:center;
        display:-webkit-box; display:-ms-flexbox; display: -webkit-flex; display:flex;
        -webkit-box-pack:center; -ms-flex-pack:center;
        -webkit-justify-content: center; justify-content: center;
        -webkit-align-items: center; align-items: center;
        -webkit-flex-wrap: wrap; flex-wrap: wrap;
    }
    .home .main_img .inner .logo_index img {
        width: calc(300 / 640 * 100vw);
        margin:0 auto;
    }
    .home .main_img .inner .logo_index span {
        font-size:calc(20 / 640 * 100vw);
        line-height:1.5;
        width:100%;
        margin:0 calc(20 / 640 * 100vw);
        margin-top: 30px;
    }

    .home .menues .inner .content_inner { margin-top:calc(60 / 640 * 100vw); }
    .home .menues .flexbox { margin-top:calc(40 / 640 * 100vw); }
    .home .menues .flexbox .ind { width:48%; max-width: 100%; margin:0 0 calc(20 / 640 * 100vw); padding-bottom:calc(20 / 640 * 100vw); position:relative; }
    .home .menues .flexbox .ind .btnc { position:absolute; bottom:0; left:0; right:0; margin:auto; }
    .home .menues .flexbox .ind .btnc .w170 { width:100%; padding:calc(10 / 640 * 100vw) calc(20 / 640 * 100vw); }
    .home .menues .flexbox .ind h3 { font-size:1.2rem; letter-spacing:0; }

    .home .infos { margin-top: calc(60 / 640 * 100vw); }
    .home .infos .col_txt_r { width:100%; margin-top:calc(60 / 640 * 100vw); }
    .home .infos .newsbox .ichiran { margin:0; }
    .home .infos .newsbox ul li { width:100%; padding:calc(20 / 640 * 100vw); }
    .home .infos .newsbox ul li:first-of-type { margin-top:calc(10 / 640 * 100vw); }

    .home .infos .col_img_l { width:100%; margin:0; }
    .home .infos .col_img_l > figure:not(:first-child) { margin-top:calc(10 / 640 * 100vw); }

    .home .infoboxes { margin-top:calc(60 / 640 * 100vw); }
    .home .infoboxes .row_page_common .col_txt_r { margin-left:0; }
    .home .infoboxes .row_page_common .col_txt_l { margin-right:0; }
    .home .infoboxes .row_page_common .bg {
        width:100%; padding:calc(100 / 640 * 100vw) calc(20 / 640 * 100vw) calc(20 / 640 * 100vw);
        margin-top:calc(60 / 640 * 100vw);
    }
    .home .infoboxes .row_page_common .bg .icn { position:absolute; top:calc(-40 / 640 * 100vw); }
    .home .infoboxes .row_page_common .bg h2 > small { margin-top:calc(20 / 640 * 100vw); text-align: center;}
    .home .infoboxes .row_page_common .col_img_r { line-height:0; box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4); }
    .home .infoboxes .row_page_common .col_img_l {
        line-height:0; box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4);
        -webkit-box-ordinal-group:2; -ms-flex-order:2; -webkit-order:2; order:2;
    }
    .home .infoboxes .row_page_common a.imgWrap img { opacity: 1; z-index:2; }

    .home .menues .inner .content_inner { margin-top:calc(60 / 640 * 100vw); }
    .home .menues .flexbox { margin-top:calc(40 / 640 * 100vw); }
    .home .menues .ind { width:49%; }
    .home .menues .ind:nth-of-type(n + 3) { margin-top:calc(40 / 640 * 100vw); }
    .home .menues .ind a img { width:100%; height:auto; }
    .home .menues .ind h3 { font-size:1rem; }
    .home .menues a.imgWrap figcaption.tatetitle { width:calc(50 / 640 * 100vw); }
    .home .menues a.imgWrap figcaption.tatetitle h3 {
        line-height:1; letter-spacing:0;
        font-size:1rem; padding:0 0.5em 0 0.5em; padding-top:calc(5 / 640 * 100vw);
    }

    .home .accessbox h2 { top:calc(50% - 3em); left:calc(50% - 1em); }
    .home .accessbox h2 span { font-size:calc(40 / 640 * 100vw); }
    .home .accessbox h2 small { margin-top:calc(10 / 640 * 100vw); font-size:calc(20 / 640 * 100vw); }
    .home .accessbox .row_page_common .col_img_l { margin-bottom:0; }
    .home .accessbox .row_page_common .col_img_l,
    .home .accessbox .row_page_common .col_txt_r { width:100%; line-height:0; }
    .home .accessbox .row_page_common .col_img_l a,
    .home .accessbox .row_page_common .col_txt_r a,
    .home .accessbox .row_page_common .col_img_l a img,
    .home .accessbox .row_page_common .col_txt_r a img { width:100%; }
    .home .accessbox .row_page_common h3 {
        top:calc(40 / 640 * 100vw); left:calc(40 / 640 * 100vw);
    }
    .home .accessbox .row_page_common .col_txt_r h3 { right:calc(40 / 640 * 100vw);}
    .home .accessbox .row_page_common h3 span { display:block; font-size:calc(30 / 640 * 100vw); }
    .home .accessbox .row_page_common h3 small { margin-top:calc(10 / 640 * 100vw); font-size:calc(25 / 640 * 100vw); }

    .home .bannerarea ul li { width:100%; max-width: 100%; }
    .home .bannerarea ul li:nth-of-type(n + 3) { margin-top:0; }
    .home .bannerarea ul li:nth-of-type(n + 2) { margin-top:calc(20 / 640 * 100vw); }
    .home .bannerarea ul li a { justify-content: space-between; }
    .home .bannerarea ul li a img { width:40%; }
    .home .bannerarea ul li figcaption { padding-left:calc(40 / 640 * 100vw); }
    .home .bannerarea ul li figcaption span,
    .home .bannerarea ul li figcaption small {font-size:calc(30 / 640 * 100vw); }
    .home .bannerarea ul li figcaption small { margin-top:calc(10 / 640 * 100vw); font-size:calc(25 / 640 * 100vw); }

    .home .medias ul { justify-content: space-between; }
    .home .medias ul li { width:48%; }
    .home .medias ul li:nth-of-type(n + 2) { margin-left:0; }
    .home .medias ul li a.imgWrap figcaption.fadetitle,
    .home .medias ul li a.imgWrap:hover figcaption.fadetitle {
    }
    .home .medias ul li a.imgWrap img { opacity:1; }
    .home .medias ul li a.imgWrap:hover figcaption.fadetitle .atitle { bottom:0; }
    .home .medias ul li a.imgWrap figcaption.fadetitle,
    .home .medias ul li a.imgWrap:hover figcaption.fadetitle { bottom:0; }
    .home .medias ul li a.imgWrap figcaption.fadetitle .atitle {
        bottom:0;
        font-size:1rem; letter-spacing:0; font-weight:600;
    }

    .home .snses .sns-list li:not(:first-child) { margin-left:calc(30 / 640 * 100vw); }
}

/* /sub 下層ページ
==============================================================================*/
@media screen and (max-width: 767px) {
    .page .row_page_common figure.col_img_l,
    .page .row_page_common figure.col_img_r {
        max-width:100%;
    }
    .page .row_page_common figure figcaption {
        text-align:center;
        color:#c29040;
        font-weight:600;
    }

    .page .row_page_common.bg01 {
        padding:calc(20 / 640 * 100vw);
        background: linear-gradient(to top, rgba(150,85,57,.1) 0%, rgba(0,0,0,0.01) 100%);
        /*background-image: url(../img/cmn/bg01.png);
        background-repeat:repeat;*/
    }

    .page .panel-list { flex-flow: row wrap; justify-content: space-between; align-items: space-between; }
    .page .panel-list .ind { width:100%; margin:0; text-align:center; }
    .page .panel-list .ind:nth-of-type(3n - 1) { margin:0; }
    .page .panel-list .ind:nth-of-type(n + 4) { margin-top:0; }
    .page .panel-list .ind:nth-of-type(n + 2) { margin-top:calc(40 / 640 * 100vw); }
    .page .panel-list .ind h3 { margin-top:calc(15 / 640 * 100vw); }

    .page.blog .panel-list .ind:not(:first-of-type) { margin-top:calc(20 / 640 * 100vw); padding-top:calc(30 / 640 * 100vw); }
    .page.blog .panel-list .ind .row_page_common .col_img_l { max-width:70%; }

    .worship .tbl_01 { width:100%; }
    .worship .tbl_01 th,
    .worship .tbl_01 td { display:table-cell; }
    .worship .tbl_01 th {
        width: calc(160 / 640 * 100vw);
        padding:calc(10 / 640 * 100vw) calc(10 / 640 * 100vw);
        font-size:1rem; letter-spacing:0;
    }
    .worship .tbl_01 td {
        padding:calc(10 / 640 * 100vw) calc(10 / 640 * 100vw);
        border-top:1px solid #dddddd; border-right:1px solid #dddddd;
        font-size:0.9rem; letter-spacing:0.05em;
    }
    .worship .tbl_01.col-4 th {
        width:auto;
        font-size:0.8rem; letter-spacing:0;
    }
    .worship .tbl_01.col-4 tr:nth-of-type(n + 2) th { width:calc(200 / 640 * 100vw); }
    .worship .tbl_01.col-4 th strong,
    .worship .tbl_01.col-4 td strong { padding: 0 calc(5 / 640 * 100vw); font-size: 1rem; }
    .worship .tbl_01.col-4 td {
        font-size:0.8rem; letter-spacing:0;
    }
    .praying .tbl_01.col-4 td { width:50%; display:inline-block; }

    .yakudoshi.tbl_01 th,
    .yakudoshi.tbl_01 td { display: table-cell; }
    .toshiiwai .col1,
    .toshiiwai .col2 { display:block; width:100%; }
    .toshiiwai th,
    .toshiiwai td { width:100%; }


    article.contact { margin-top:calc(60 / 640 * 100vw); }
    .contact .tblwrap { width:100%; margin:calc(60 / 640 * 100vw) auto; }
    .contact .tblwrap .tbl_form th,
    .contact .tblwrap .tbl_form td { padding:calc(20 / 640 * 100vw); display:block; }
    .contact .tblwrap .tbl_form td input,
    .contact .tblwrap .tbl_form td textarea,
    .contact .tblwrap .tbl_form td select {
        border:1px solid #eeeeee;
        border-radius:0; /* iOS向け */
        padding:calc(5 / 640 * 100vw) calc(10 / 640 * 100vw);
    }
    .contact .tblwrap .tbl_form td .wpcf7-list-item.first { margin-left:0; }
    .contact .tblwrap .tbl_form td input.text1 { width:100%; }
    .contact .tblwrap .tbl_form td input.text2 { width:50%; }
    .contact .tblwrap .tbl_form td input.wpcf7-date { min-width:50%; min-height:calc(32 / 640 * 100vw); }
    .contact .tblwrap .tbl_form td textarea { width:100%; padding:calc(10 / 640 * 100vw); }

    .contact .tblwrap .form-submit .btn {
        width:80%;
        height:calc(80 / 640 * 100vw);
        display: inline-block;
        color:#FFF;
        background: #9f9fa1;
        margin-top:calc(10 / 640 * 100vw);

        border: 1px solid #9f9fa1;
        position: relative;
        transition: all 0.3s ease-in-out;

        font-size:calc(26 / 640 * 100vw);
        font-weight:400;
    }
    .contact .tblwrap .form-submit .btn:after {
        content:"\f105";
        font-family: "FontAwesome";
        font-weight:bold;
        position:absolute;
        right: 7px;
        top: 50%;
        transform: translateY(-50%) translateX(-50%);
        -webkit- transform: translateY(-50%) translateX(-50%);
    }
    /* （選択できないときは色を薄く表示する） */
    .contact .tblwrap .btn input[type="submit"][disabled]{}
    /* （確認チェックが入っている時のみカーソルが変わる ※SPのときは消す） */
    .contact .tblwrap .btn input[type="submit"]:not([disabled]) {}
    .contact .tblwrap .btn input[type="submit"]:not([disabled]):hover {
        cursor: pointer;
        opacity: 1;
        background-color:#FFF;
        color:#9f9fa1;
        transition: all 0.3s ease-in-out;
    }
    /* （ajax-loaderを消す　送信ボタンの→） */
    .contact .ajax-loader { display: none !important; }

    /* contactform7のチェックボックスをデザイン変更 */
    .contact .tblwrap input[type="checkbox"]{ display: none; }
    .contact .tblwrap label{ cursor: pointer; }
    .contact .tblwrap .wpcf7-list-item-label { position: relative; padding-left: calc(45 / 640 * 100vw); }
    .contact .tblwrap .wpcf7-list-item-label:before{
        width: 18px;
        height: 18px;
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        background: #fff;
        border: 1px solid #eeeeee;
    }
    .contact .tblwrap .wpcf7-list-item-label:after{
        width: 10px;
        height: 5px;
        border: 2px solid #717171;
        content: '';
        position: absolute;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        left: 5px;
        top: 5px;
        border-top: none;
        border-right: none;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        opacity: 0;
    }
    .contact .tblwrap span.wpcf7-list-item{ margin-left: 0; margin-right: calc(20 / 640 * 100vw); }
    .contact .tblwrap input[type="checkbox"]:checked + .wpcf7-list-item-label:after { opacity: 1; }

    .access .photo.keiro {
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .access .photo.keiro.tokyo > figure:nth-of-type(n + 3) {
        margin-top:calc(30 / 640 * 100vw);
    }
    .left-p {
        text-align: left;
    }
    footer .breadcrumb li {
    font-size: 13px;
    }
    footer .breadcrumb .fas {
    font-size: 13px;
    }
    footer .container.bg02 h3 {
    font-family:  serif;
    font-size: 20px; line-height:1; font-weight:500; letter-spacing:0.26em;
    }
    footer .container.bg02 .addr span { display:block; font-size:16px; width:100%; }
    .pd0 {padding-top: 0px !important; }
    .main-p {
    font-size: 120% !important;
    font-weight: bold !important;
    }

    .about .pareaul li {
        width:100%;
        padding:calc(20 / 640 * 100vw);
        margin-bottom:calc(40 / 640 * 100vw);
    }
    .about .pareaul li:nth-of-type(3n - 1) { margin-left:0; margin-right:0; }
    .about .pareaul li:nth-of-type(n + 4) { margin-top:0; }
    .about .pareaul li figure {
        text-align:center;
    }


    .ancient_shinto .pareaul li {
        width:100%;
        padding:calc(20 / 640 * 100vw);
        margin-bottom:calc(40 / 640 * 100vw);
    }
    .ancient_shinto .pareaul li:nth-of-type(3n - 1) { margin-left:0; margin-right:0; }
    .ancient_shinto .pareaul li:nth-of-type(n + 4) { margin-top:0; }
    .ancient_shinto .pareaul li figure {
        text-align:center;
    }

    .consulting .pareaul li {
        width:100%;
        padding:calc(20 / 640 * 100vw);
        margin-bottom:calc(40 / 640 * 100vw);
    }
    .consulting .pareaul li:nth-of-type(3n - 1) { margin-left:0; margin-right:0; }
    .consulting .pareaul li:nth-of-type(n + 4) { margin-top:0; }
    .consulting .pareaul li figure {
        text-align:center;
    }


    .dispatching_ceremony .pareaul li {
        width:100%;
        padding:calc(20 / 640 * 100vw);
        margin-bottom:calc(40 / 640 * 100vw);
    }
    .dispatching_ceremony .pareaul li:nth-of-type(3n - 1) { margin-left:0; margin-right:0; }
    .dispatching_ceremony .pareaul li:nth-of-type(n + 4) { margin-top:0; }
    .dispatching_ceremony .pareaul li figure {
        text-align:center;
    }



    .funeral .pareaul li {
        width:100%;
        padding:calc(20 / 640 * 100vw);
        margin-bottom:calc(40 / 640 * 100vw);
    }
    .funeral .pareaul li:nth-of-type(3n - 1) { margin-left:0; margin-right:0; }
    .funeral .pareaul li:nth-of-type(n + 4) { margin-top:0; }
    .funeral .pareaul li figure {
        text-align:center;
    }

    .naming .pareaul li {
        width:100%;
        padding:calc(20 / 640 * 100vw);
        margin-bottom:calc(40 / 640 * 100vw);
    }
    .naming .pareaul li:nth-of-type(3n - 1) { margin-left:0; margin-right:0; }
    .naming .pareaul li:nth-of-type(n + 4) { margin-top:0; }
    .naming .pareaul li figure {
        text-align:center;
    }

    .wedding .pareaul li {
        width:100%;
        padding:calc(20 / 640 * 100vw);
        margin-bottom:calc(40 / 640 * 100vw);
    }
    .wedding .pareaul li:nth-of-type(3n - 1) { margin-left:0; margin-right:0; }
    .wedding .pareaul li:nth-of-type(n + 4) { margin-top:0; }
    .wedding .pareaul li figure {
        text-align:center;
    }

    .life_ceremony .pareaul li {
        width:100%;
        padding:calc(20 / 640 * 100vw);
        margin-bottom:calc(40 / 640 * 100vw);
    }
    .life_ceremony .pareaul li:nth-of-type(3n - 1) { margin-left:0; margin-right:0; }
    .life_ceremony .pareaul li:nth-of-type(n + 4) { margin-top:0; }
    .life_ceremony .pareaul li figure {
        text-align:center;
    }


    .praying .pareaul li {
        width:100%;
        padding:calc(20 / 640 * 100vw);
        margin-bottom:calc(40 / 640 * 100vw);
    }
    .praying .pareaul li:nth-of-type(3n - 1) { margin-left:0; margin-right:0; }
    .praying .pareaul li:nth-of-type(n + 4) { margin-top:0; }
    .praying .pareaul li figure {
        text-align:center;
    }

    .worship .pareaul li {
        width:100%;
        padding:calc(20 / 640 * 100vw);
        margin-bottom:calc(40 / 640 * 100vw);
    }
    .worship .pareaul li:nth-of-type(3n - 1) { margin-left:0; margin-right:0; }
    .worship .pareaul li:nth-of-type(n + 4) { margin-top:0; }
    .worship .pareaul li figure {
        text-align:center;
    }

    .blessing .pareaul li {
        width:100%;
        padding:calc(20 / 640 * 100vw);
        margin-bottom:calc(40 / 640 * 100vw);
    }
    .blessing .pareaul li:nth-of-type(3n - 1) { margin-left:0; margin-right:0; }
    .blessing .pareaul li:nth-of-type(n + 4) { margin-top:0; }
    .blessing .pareaul li figure {
        text-align:center;
    }

    .prevent_evil .pareaul li {
        width:100%;
        padding:calc(20 / 640 * 100vw);
        margin-bottom:calc(40 / 640 * 100vw);
    }
    .prevent_evil .pareaul li:nth-of-type(3n - 1) { margin-left:0; margin-right:0; }
    .prevent_evil .pareaul li:nth-of-type(n + 4) { margin-top:0; }
    .prevent_evil .pareaul li figure {
        text-align:center;
    }
    .goodswrap figure {
    	width:50%;
    }
}

@media screen and (max-width: 479px) {
    header .inner #mobile-head .logo a img { max-width:50%; padding:0; margin-top: 5px; margin-bottom: 5px; margin-left: 5px; }
}
.mt15 {margin-top: 10px; text-align: center !important;}

