/*
Theme Name: Almond Flavor
Theme URI: https://almondhostelandcafe.tokyo/
Description: Twenty Twenty-Five ベースの Almond Hostel & Cafe 専用テーマ。Xeory Extension のデザインを忠実に再現しつつ、ブロックエディタ対応とモダンな基盤で安定運用を実現。
Author: Almond Hostel & Cafe
Author URI: https://almondhostelandcafe.tokyo/
Template: twentytwentyfive
Version: 1.0.0
Requires at least: 6.7
Requires PHP: 7.4
Tested up to: 6.8
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: almond-flavor
Tags: blog, one-column, two-columns, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, translation-ready
*/

@font-face {
  font-family: 'din1451alt';
  src: url('lib/fonts/din1451alt.ttf')  format('truetype');
}
/* basic part */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
}
@media (max-width: 990px) {
    html {
        scroll-padding-top: 60px;
    }
}

body {
  background: none !important;
  font-size: 13px;
  font-family: helvetica, arial, sans-serif;
  color: #333;
}

/* a { color, text-decoration } は main.css と同値のため削除 */

/* customize part */

#header #logo img {
    width: 28px;
}
#header #logo a{
    color: #fff;
    /*text-shadow: 0 0 5px #333;*/
}
#header #logo_pc a{
/*  color: #fff;*/
/*  text-shadow: 0 0 5px #333;*/
    font-family: 'din1451alt';
}

#header.scrolled #logo_pc a{
    color: #333;
}

#main_visual {
    background: #fff;
    background-image: url(https://almondhostelandcafe.tokyo/wp-content/uploads/2019/03/Webp.net-compress-image9.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center 80%;
    height: 100vh;
}

#main_visual p {
    font-size: 30px;
    vertical-align: middle;
}

#front-contents .c_box {
    border: none;
}

#front-contents h2 {
    font-size: 28px;
    padding-top: 30px;
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.4;
    font-weight: bold;
    clear: none;
}

#front-contents .c_english {
    font-size: 10px;
    margin-bottom: 15px;
    margin-top: 0;
}

#front-service .front-service-inner h2 {
    font-size: 24px;
    margin-bottom: 8px;
    margin: 2em 0 1em;
    clear: none;
}

#front-service .front-service-inner .c_english {
    margin-bottom: 32px;
}

#front-service .front-service-inner .c_text .c_btn a {
    border-radius: 3px;
    border: solid 2px;
    color: #333;
    font-size: 14px;
}

.post-content h2 {
    border-radius: 3px;
    border: solid 2px;
    font-size: 14px;
    padding: 20px 50px;
}

.route_box {
    padding: 100px 0 50px;
    text-align: center;
    background-color: #f5f5f5;
}

.g_btn a {
    border-radius: 3px;
    border: solid 2px;
    color: #333;
    font-size: 14px;
    padding: 20px 50px;
}

.map_box {
    margin: 30px auto 0;
    text-align: center;
}

.google_btn a {
    color: #333;
    font-size: 14px;
}

.google_btn a::before {
    content: '';
    display: inline-block;
    background-image: url(https://almondhostelandcafe.tokyo/wp-content/uploads/2018/10/sozai_cman_jp_20181011072603.png);
    width: 26px;
    height: 26px;
    vertical-align: -9px;
    background-repeat: no-repeat;
    transform-origin: 0 50%;
}

.map_box h2 {
    margin-top: 75px;
    margin-bottom: 0;
    font-size: 24px;
}

.route_box p {
    font-size: 12px;
}

#front-company .c_box {
    border: none;
}

#front-contact .c_box_inner input[type=submit],
#front-contact .c_box_inner button {
    border: solid 2px;
}

.cat-content,
article.post,
article.page {
    margin-top: 60px;
    border: none;
}

/* ----------------------------------------
* header
---------------------------------------- */

#header {
    width: 100%;
    /*height: 140px;*/
    margin-bottom: 0;
    margin-top: 0px !important;
}

#header a {
    color: #333;
}


.menu-item-21>a:after {
    font-size: 60%;
    content: '宿泊案内';
    display: block;
    margin-top: -5px;
}

.menu-item-1438>a:after {
    font-size: 60%;
    content: 'メニュー';
    display: block;
    margin-top: -5px;
}

.menu-item-641>a:after {
    font-size: 60%;
    content: 'アクセス';
    display: block;
    margin-top: -5px;
}

.menu-item-25>a:after {
    font-size: 60%;
    content: '予約案内';
    display: block;
    margin-top: -5px;
}

.menu-item-74>a:after {
    font-size: 60%;
    content: 'お問い合わせ';
    display: block;
    margin-top: -5px;
}

.post-thumbnail {
    position: relative
}

.post-thumbnail h1 {
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    text-align: center;
    color: #fff;
    line-height: 200%;
    background-color: #000;
    filter: alpha(opacity=65);
    -moz-opacity: 0.65;
    opacity: 0.65;
    font-size: 32px;
}

.d_img_box {
    position: relative;
    padding-bottom: 38%;
    /* これが縦横比*/
    height: 0;
    overflow: hidden;
}

.d_img_box iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

.ja-only {
    display: block;
}

.en-only {
    display: none;
}

.es-only {
    display: none;
}

#page-en .en-only {
    display: block !important;
}

#page-en .ja-only,
#page-en .es-only {
    display: none !important;
}

#page-es .es-only {
    display: block !important;
}

#page-es .ja-only,
#page-es .en-only {
    display: none !important;
}


#content {
    padding-top: 0px !important;
}

/* ── 帯バナー ── */
#site-banner {
    background-color: #ffff00;
    text-align: center;
    margin: 0;
    padding: 0;
}
#site-banner a,
#site-banner span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    font-size: 12px;
    font-weight: bold;
    color: #1A1A1A;
    text-decoration: underline;
    width: 100%;
}
 
/* ─── #header-group: 帯 + ヘッダーを1つにまとめて動かす ─── */
#header-group {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 3;
    background-color: transparent;
    /* transform は JS でスクロール量に連動して制御 */
}
@media screen and (max-width: 991px) {
    /* tablet */
 
    #gnav-sp {
        position: fixed;
        left: 0;
        width: 100%;
        z-index: 2;
        color: #333;
        background-color: rgba(255, 255, 255, 0.90);
    }
 
    #gnav-sp .wrap a {
        color: #333;
    }
 
    .dummy {
        z-index: -10;
    }
 
    /* スクロール時ヘッダー背景（991px以下） */
    #header {
        background-color: rgba(255, 255, 255, 0.90);
    }
}

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

    /* phone */
    .d_img_box {
        padding-bottom: 78%;
        /* これが縦横比*/
    }

    /* #main_visual {
background-image: url(https://almondhostelandcafe.tokyo/wp-content/uploads/2017/12/P1010103_mini-2-e1538568348995.jpg);
background-position: 0 114px;  
background-size: contain;
} */
    .main-wrap {
        position: relative;
        top: -162px;
        height: 667px;
    }

    #main_visual h2 {
        font-size: 36px;
        margin-top: 100px;
        font-weight: bold;
    }

    #main_visual p {
        font-size: 40px;
    }

    #main_visual img {
        width: 100px;
    }

    #header {
        text-align: center;
        background-color: rgba(255, 255, 255, 0.90);
        
    }

    #header .wrap {
		opacity: 0.85;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        height: 48px;
    }

    #header #logo img {
        width: 30px;
        margin: 3px auto 0;
    }

    #header-nav-btn {
        position: absolute;
        right: 2rem;
    }

    #header-nav-btn a {
        border-top: none;
        color: #333;
    }

    #splash a {
        display: block;
        text-align: center;
        font-size: 18px;
        padding: 6px 0 5px;
        line-height: 1.2;
        width: 100%;
        border-top: solid 2px #333;
    }

    .post-thumbnail h1 {
        width: 130px;
        font-size: 18px;
    }

    .cat-content,
    article.post,
    article.page {
        margin-top: 48px;
    }

    .footer-logo img {
        width: 100px;
        margin: 0 auto;
    }

    .lang-item a {
        margin-left: auto;
        margin-right: auto;
        font-weight: bold;
        font-size: 20px;
        width: 60px;
    }

    .lang-item a::before {
        display: none;
    }

    .lang-item {
        padding-right: 20px;
    }


    #content {
        padding-top: 0 !important;
    }
}

@media screen and (min-width:1000px) {
    #header-right {
        width: 75% !important;
    }

    #header-gnav-area {
        width: 100% !important;
    }

    #gnav {
        width: 100% !important;
    }

    .lang-item {
        float: left;
        font-size: 22px;
        margin-top: 8px;
    }
}

@media screen and (max-width:325px) {
    .u320-none {
        display: none;
    }
}


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

    #footer-02 {
        margin-bottom: 44px;
    }

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

    .menu-trigger {
        position: relative;
        width: 16px;
        height: 12px;
    }

    .menu-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #333;
        border-radius: 1px;
    }

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

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

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


#footerFloatingMenu {
   display: block;
   width: 100%;
   background-color: rgba(0, 0, 0, 0.85);
   position: fixed;
   left: 0px;
   bottom: 0px;
   z-index: 9999;
   text-align: center;
   padding: 13px 10px;
}

#footerFloatingMenu img {
    vertical-align: -4px;
}

.btn a {
    display: inline-block;
    padding: 0.5em 1em;
    background: #fff;
    /*ボタン色*/
    color: #333;
    border: solid 2px #333;
    border-radius: 3px;
}

.btn a:hover {
    text-decoration: none;
}

.btn:active {
    /*ボタンを押したとき*/
    -ms-transform: translateY(3px);
    -webkit-transform: translateY(3px);
    transform: translateY(3px);
    /*下に動く*/
}


.cp_qa dt {
    position: relative;
    margin: 0 0 0.7em 0;
}

.cp_qa dd {
    position: relative;
    margin: 0 0 1em 0;
    padding: 0 0 1em 0;
}

.cp_qa dd a {
    font-size: 13px;
    color: #FFD700;
}

/* -----------------------------------------------------------
    box_access
----------------------------------------------------------- */
.box_access {
    padding: 2% 0 0;
    margin: 4% auto 0;
    text-align: left;
}

.box_access dl {
    margin: 0 auto 3%;
    padding-bottom: 3%;
}

.box_access dl dt {
    background: #eee;
    padding: 2% 5%;
    font-weight: bold;
}

.box_access dl dt small {
    font-size: 75%;
}

.box_access dl dd {
    position: relative;
    padding: 4% 5%;
    padding-left: 6em;
    font-size: 75%;
}

.box_access dl dd:after {
    content: " ";
    display: block;
    width: 0.3em;
    height: 100%;
    background-color: #a6a6a6;
    position: absolute;
    top: 0;
    left: 4em;
}

.box_access dl dd.point {
    background: #eee;
    padding: 2% 5%;
    font-size: 100%;
    font-weight: bold;
}

.box_access dl dd.point:after {
    display: none;
}

.box_access dl dd.hotel {
    background-color: #666;
    color: #fff;
    padding: 2% 5%;
    font-size: 110%;
    font-weight: bold;
    margin-bottom: 30px;
}

.box_access dl dd.hotel:after {
    display: none;
}

.box_access dl:last-child {
    border-bottom: none;
}

.cp_qa3 *,
.cp_qa3 *:after,
.cp_qa3 *:before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.cp_qa3 {
    border-top: 1px solid #f5f5f5;
}

.cp_actab {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin-bottom: 0;
}

.cp_actab p {
    margin: 0;
    font-weight: bold;
}

.cp_actab input {
    position: absolute;
    opacity: 0;
}

/* 質問 */
.cp_actab label {
    line-height: 1.6;
    position: relative;
    display: block;
    margin: 0 0 0 0;
    padding: 1em 2em 1em 1em;
    cursor: pointer;
    border-bottom: 1px solid #f5f5f5;
}

/* 答え */
.cp_actab-content {
    overflow: hidden;
    max-height: 0;
    -webkit-transition: max-height 0.5s ease;
    transition: max-height 0.5s ease;
}

.cp_actab-content p {
    margin: 1em;
}

/* 質問を開いた時の仕様 */
/* --アイコン */
.cp_actab input:checked~label {
    color: #666;
}

/* --答えの高さ */
.cp_actab input:checked~.cp_actab-content {
    max-height: 200em;
}

/* 質問をクリックした時のアイコンの動き */
.cp_actab label::after {
    line-height: 1.6;
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    width: 3em;
    margin-top: -12.5px;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
    text-align: center;
}

.cp_actab input[type=checkbox]+label::after {
    content: '▼';
}

.cp_actab input[type=checkbox]:checked+label::after {
    -webkit-transform: rotateX(180deg);
    transform: rotateX(180deg);
}

.jp-sharing-input-touch .sd-content ul li {
    padding-left: 0 !important;
}

.sd-content ul li a.sd-button {
    border: none !important;
    box-shadow: none !important;
}

div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing,
div.wpcf7-mail-sent-ok {
    color: #fff;
    background-color: #333;
    border: none;
}

div.wpcf7-response-output {
    margin: 2em 0 1em;
    padding: .8em 1.6em;
}

#watson-fab-float {
    bottom: 17vmin;
    right: 4vmin;
}

.drop-shadow {
    box-shadow: none;
}

.grecaptcha-badge {
    visibility: hidden;
}

/* 調整用css */
.wp-block-image {
    margin-bottom: 1em;
}

.gr4 {
  width: 50%;
}



div.wpcf7-mail-sent-ok {
background-color: #56b379;
color:#ffffff;
font-weight:bold;
font-size:120%;
padding:10px;
}

h4.cafepage-heading {
    font-size: 20px;
    font-weight: normal;
    margin: 16px 0 16px;
    padding: 0 0 0 0px;
    /* border-left: 5px solid #131D2A; */
    clear: both;
    border-left : none;
}

h6.product-heading {
    font-size : 17px;
    letter-spacing : 0.02em;
    margin-top : 0px;
    margin-bottom : 15px;
}

h6.product-heading.exist-sub {
    font-size : 17px;
    letter-spacing : 0.02em;
    margin-top : 0px;
    margin-bottom : 5px;
}

h6.product-heading-sub {
    font-size : 13px;
    color : #979797;
    margin-top : 0px;
    margin-bottom : 15px;
    letter-spacing: 0.05em;
}

ul.b-products-list {
    list-style-type: none;
    display : grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 8px;
    padding : 0;
    margin : 0;
    margin-bottom : 10px;
}

@media (max-width : 600px) {
    ul.b-products-list {
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
        gap : 0 5px;
    }
}


.b-products-list .product-image {
    position: relative;
    overflow: hidden;
    padding-top: 100%;
    width : 100%;
    border-radius: 8px;
    margin-bottom : 14px;
    background-color : #e7e7e7;
}

@media (max-width : 991px) {
    .b-products-list .product-image {
        margin-bottom : 8px;
    }
}

.product-image .product-image-img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.b-products-list .product-name {
    width : 100%;
    margin-bottom : 4px;
    letter-spacing : 0.4px;
    /* font-weight : bold; */
}

@media (max-width : 991px) {
    .b-products-list .product-name {
        margin-bottom : 2px;
        line-height : 1.3;
    }
}

/* .b-products-list .product-name,
ul.b-products-list-noimage .product-name{
    font-size : 14px;
} */

.b-products-list .product-price,
ul.b-products-list-noimage .product-price{
    font-size : 16px;
    letter-spacing : 0.4px;
    font-weight : bold;
}

ul.b-products-list-noimage {
    list-style-type: none;
    padding : 0;
    margin : 0;
    background-color: #f3f3f3;
    padding: 20px 20px 10px;
    border-radius: 8px;
    margin-bottom : 25px;
}
ul.b-products-list-noimage li {
    display : flex;
    gap : 15px;
}
.b-products-list-noimage .product-name {
    margin-bottom : 0px;
    letter-spacing : 0.4px;
    /* font-weight : bold; */
    margin-bottom : 10px;
    line-height:1;
    display : flex;
    justify-content: start;
    align-items: center;
}
.b-products-list-noimage .product-price {
    margin-bottom : 0px;
    margin-bottom : 10px;
    line-height :1;
    display : flex;
    justify-content: start;
    align-items: center;
}

p.product-price {
    margin-bottom : 20px;
}
@media (max-width : 991px) {
    p.product-price{
        margin-bottom : 15px;
    }
}

.b-cafemenu-categories-wp {
    margin-top : 40px;
    margin-bottom: 40px;
}
@media (max-width : 991px) {
    .b-cafemenu-categories-wp {
        margin-top : 30px;
        margin-bottom: 40px;
    }
}
ul.b-cafemenu-categories-list {
    list-style: none;
    display : grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px 25px;
    padding : 0;
    margin : 0;
}
.b-cafemenu-categories-item {
    display : block;
    /* padding-bottom : 8px;
    border-bottom : 1px dotted #e3e3e3; */
    margin-bottom:6px;
    padding-bottom : 12px;
    border-bottom : 1px solid #eeeeee;
}

@media (max-width : 991px) {
    ul.b-cafemenu-categories-list {
        gap: 20px 25px;
    }
    .b-cafemenu-categories-item { 
        margin-bottom:0;
        padding-bottom : 0;
        border-bottom : none;
    }
}
@media (max-width : 600px) {
    ul.b-cafemenu-categories-list {
        gap: 14px 25px;
    }
}
.b-cafemenu-categories-item a {
    color : #212121;
    font-size : 14px;
    display : grid;
    grid-template-columns: 80px 1fr 10px;
    gap:8px;
    width : 100%;
    height : 100%;
    place-items: center left;
    /* transition: color ease-in-out 0.2s; */
    transition: opacity ease-in-out 0.2s;
}
.b-cafemenu-categories-item a:hover {
    opacity: 0.7;
    /* color : #919191; */
}
/* .b-cafemenu-categories-item a:hover .cafemenu-categories-arrow::before, 
.b-cafemenu-categories-item a:hover .cafemenu-categories-arrow::after{
    background-color: #7d7d7d;
} */
.b-cafemenu-categories-tmbwp {
    
    display : block;
    width : 75px;
    height : 75px;
    border-radius : 100%;
    background-color : #bbb;
    margin : 0;
    overflow:hidden;
}

.cafemenu-categories-arrow {
    position: relative;
    display: inline-block;
    width: 6.7px;
    height: 3.8px;
}

.cafemenu-categories-arrow::before,
.cafemenu-categories-arrow::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: calc(50% - 0.5px);
    width: 1px;
    height: 6px;
    border-radius: 9999px;
    background-color: #000000;
    transform-origin: 50% calc(100% - 0.5px);
    transition: background-color ease-in-out 0.2s;
}

@media (max-width : 991px) {
    .cafemenu-categories-arrow::before,
    .cafemenu-categories-arrow::after{
        width: 1px;
        height: 8px;
    }
}

.cafemenu-categories-arrow::before {
transform: rotate(45deg);
}

.cafemenu-categories-arrow::after {
transform: rotate(-45deg);
}
/* テキストリンク下線 */
p a,
.c_text a {
    text-decoration: underline;
}
/* ボタン・装飾リンクは除外 */
#header a,
#header p a,
.footer-copy a,
.g_btn a,
.c_btn a {
    text-decoration: none !important;
}
/* ----------------------------------------
 * pagetop
 ---------------------------------------- */
.pageto {
  position: fixed;
  right: 20px;
  bottom: 15px;
  color: #fff;
  line-height: 1;
  font-size: 9px;
}
.pageto span {
  display: block;
  font-size: 28px;
  line-height: 1;
}
.pageto i {
  display: inline-block;
  transform: translateY(4px);
}

/* post-content h1 (安心して寝る。etc) */
.post-content h1 {
    font-size: 19px;
    font-weight: 600;
}
/* =============================================
   ハンバーガーメニュー スライドダウンアニメーション
   ============================================= */
@media screen and (max-width: 991px) {

  /* --- メニューパネル本体 --- */
  #gnav-sp {
    /* display ではなく visibility + clip で表示制御 */
    display: block !important;   /* JS の display 切替を無効化 */
    visibility: hidden;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-8px);
    transition:
      max-height    0.4s cubic-bezier(0.4, 0, 0.2, 1),
      opacity       0.35s cubic-bezier(0.4, 0, 0.2, 1),
      transform     0.35s cubic-bezier(0.4, 0, 0.2, 1),
      visibility    0s   linear 0.4s;         /* 閉じ終わってから hidden */
  }

  #gnav-sp.is-open {
    visibility: visible;
    max-height: 80vh;       /* メニュー項目数に応じて十分な高さ */
    opacity: 1;
    transform: translateY(0);
    transition:
      max-height    0.45s cubic-bezier(0.4, 0, 0.2, 1),
      opacity       0.35s cubic-bezier(0.4, 0, 0.2, 1),
      transform     0.35s cubic-bezier(0.4, 0, 0.2, 1),
      visibility    0s   linear 0s;           /* 開くときは即 visible */
  }

  /* --- メニュー項目の連続フェードイン --- */
  #gnav-sp .menu-item {
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity 0.3s ease, transform 0.3s ease;
  }

  #gnav-sp.is-open .menu-item {
    opacity: 1;
    transform: translateY(0);
  }

  /* 各項目を少しずつ遅延させて順番に現れる演出 */
  #gnav-sp.is-open .menu-item:nth-child(1) { transition-delay: 0.05s; }
  #gnav-sp.is-open .menu-item:nth-child(2) { transition-delay: 0.08s; }
  #gnav-sp.is-open .menu-item:nth-child(3) { transition-delay: 0.11s; }
  #gnav-sp.is-open .menu-item:nth-child(4) { transition-delay: 0.14s; }
  #gnav-sp.is-open .menu-item:nth-child(5) { transition-delay: 0.17s; }
  #gnav-sp.is-open .menu-item:nth-child(6) { transition-delay: 0.20s; }
  #gnav-sp.is-open .menu-item:nth-child(7) { transition-delay: 0.23s; }
  #gnav-sp.is-open .menu-item:nth-child(8) { transition-delay: 0.26s; }

  /* --- オーバーレイ背景のフェード --- */
  p.dummy {
    opacity: 0;
    transition: opacity 0.35s ease;
  }

  p.dummy.is-visible {
    opacity: 1;
  }
}

/* =============================================
   Almond Flavor: TT5親テーマとの差分修正
   ============================================= */

/* デスクトップ: SPナビとハンバーガーを非表示 */
#gnav-sp { display: none; }
@media screen and (min-width: 992px) {
  #header-nav-btn { display: none; }
}
@media screen and (max-width: 991px) {
  #header-nav-btn { display: block; }
  #gnav-sp { display: block !important; visibility: hidden; max-height: 0; overflow: hidden; opacity: 0; }
}

/* サイドバーウィジェットを非表示 */
#sidebar { display: none; }

/* フッター最下部のグレー背景 */
#footer-02 { background: #444; padding: 20px 0; }
#footer-02 .footer-copy { text-align: center; color: #999; font-size: 13px; margin: 0; }
#footer-02 .footer-copy a { color: #999; }

/* 全ページ: サイドバー非表示に合わせてmain-inner右マージン解除 */
.main-inner { margin-right: 0 !important; }

/* === 旧親テーマから移植: ラップトップ用 (1200px以下) === */
@media screen and (max-width: 1200px) {
  body.home .wrap { width: auto; margin: 0 36px; }
  .post-header, .post-author { padding: 36px; }
  .post-content, .post-footer { padding-left: 36px; padding-right: 36px; }
}

/* === 旧親テーマから移植: タブレット用 (991px以下) === */
@media screen and (max-width: 991px) {
  body.home #front-contents .c_box.c_box_left .c_box_inner,
  body.home #front-contents .c_box.c_box_right .c_box_inner {
    width: 100%;
    float: none;
  }
  body.home #front-contents .c_box.c_box_left .c_img_box,
  body.home #front-contents .c_box.c_box_right .c_img_box {
    position: relative;
    height: 300px;
    width: 100%;
    margin-bottom: 24px;
  }
  body.home #front-contents .c_box.c_box_left .c_text h4,
  body.home #front-contents .c_box.c_box_right .c_text h4,
  body.home #front-contents .c_box.c_box_left .c_btn,
  body.home #front-contents .c_box.c_box_right .c_btn {
    text-align: center;
  }
  body.home #front-contents .c_box.c_box_left .c_btn a,
  body.home #front-contents .c_box.c_box_right .c_btn a {
    margin: 0 auto;
  }
  body.home #front-service .front-service-inner {
    margin-left: 0;
  }
  body.home #front-service .front-service-inner .c_box {
    width: 100%;
    float: none;
    margin: 0 0 20px;
  }
  body.home #front-company .c_img_box {
    height: 300px;
    position: relative;
  }
  body.home #front-company .c_img_box,
  body.home #front-company .c_box_inner {
    float: none;
    width: 100%;
  }
  body.home .front-main-cont .tri-border {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  .cat-content .post-header,
  article.page .post-header,
  article.post .post-header {
    padding: 56px 44px;
  }
  .post-header { padding: 56px 44px 0; }
  .post-content { padding: 40px; }
  article.page .post-content { padding: 40px; }
}