@charset "utf-8";
/*
Theme Name:Terashu.com
Version:1.0.0
Author:Terashu
Author URI:https://terashu.com
Description:Terashu.comは、WebデザイナーのTerashuが、Terashuのためにつくった、Terashuらしさがにじみでたテーマです。
License:
License URI:
*/
/* -------- 全ページ共通 --------*/
:root{
    --acce-color:#d20605;
    --base-color:#f0f0f0;
    --main-color:#444;
    --gray-color:#959595;       /*白と黒の中間で使えるグレー*/
    --default-box-shadow:0px 4px 8px #ddd;
}
html{
    font-size:10px;
    scroll-behavior: smooth;
}
a{
    color:var(--main-color);
}
body{
    background:var(--base-color);
    font-family: 'Noto Sans JP', sans-serif;
    color:var(--main-color);
    /* color:var(--base-color); */
    /* background:var(--main-color); */
}
main{
    overflow-x:hidden;  /*左右のアニメによる横スクロールバー出現予防*/
}
h1{
    font-weight:400;
    font-size:1.6rem;
    width:240px;
}
.heading2{
    margin:0 auto;
    margin-top:-96px;
    padding-top:96px;
    font-size: 3.2rem;
    background: var(--base-color);
    font-weight: bold;
    font-family: 'Noto Sans JP', sans-serif;
    text-align: center;
}
/* h3{
    font-size:2.4rem;
    font-weight:bold;
    background:var(--base-color);
} */
h4{
    font-size:1.6rem;
    font-weight:bold;
}
p{
    font-size:1.6rem;
    line-height:1.6;
}
.button{
    background:var(--main-color);
    border-radius:3em;  /*em指定は、サイズが変わっても円形を保つため*/
    color:var(--base-color);
    display:inline-block;
    font-size:1.6rem;
    line-height:1.4;
    max-width:480px;
    padding:1em;        /*em指定は、サイズが変わっても円形を保つため*/
    text-align:center;
    width:100%;
}
.button.button--cta{
    background:var(--acce-color);
}
.button--wrap{              /*ボタンリンクのラップ・基本・場所によって別途idかタグ階層で指定*/
    margin-bottom: 8px;
    margin-top: 40px;
    text-align: center;
}
.button-small{
    height:72px;
    text-align:center;
    min-width:72px;
    font-size:1.2rem;
    line-height:48px;
}
.button .section-button{    /*各セクションに置くボタンは同じスタイル*/
    margin:32px 0 16px 0;
}
.inner{
    margin:0 auto;
    max-width:88%;
    padding-top: 96px;
    width:1200px;
}
.pc-only{   /*閲覧デバイスがPCサイズのときだけ表示*/
    display:none;
}
.card__img-wrap{
    position: relative;
    padding-top: 56.25%;    /*56.25% = 縦横比16：9の[縦÷横×100]*/
}
.card__img-wrap img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.card-img-circle{   /*カードの中の写真が丸いもの*/
    border-radius: 50%;
    box-shadow: var(--default-box-shadow);
    display: block;
    max-width: 400px;
    margin-right: auto;
    margin-left: auto;
}
.section {
    margin: 120px 0;
}
.section-text{
    margin: 16px auto 0 auto;
    max-width: 400px;
}
.section-button-box {
    margin-top: 64px;
    text-align:center;
}
.section:not(:first-of-type){
    margin-top: 80px;
}
.text-highlight{    /*太字*/
    font-weight:bold;
    font-size:1.1em;
}
.pill{  /*ボタンじゃなくてもピルっぽいやつ*/
    border-radius:8px;
    background:var(--main-color);
    color: var(--base-color);
    display: inline-block;
    padding:8px;
}
.text-box--shadow{
    box-shadow:var(--default-box-shadow);
    padding: 8px;
}
/* レイアウト系 */
.flex-box{
    display: flex;
    flex-wrap: wrap;
}
.flex-box .flex-box__item{
    width:100%;
}
.section__item--same{       /*余白：同じセクションの中の同じ内容*/
    margin-top: 16px;
}

/* テキスト・見出し系 */
.title--main{
    font-size: 3.2rem;      /*32px*/
    margin: 16px 0;
}
.title--main__sub{
    display: block;
    font-size: 1.6rem;
    margin-top: 8px;
}
.title--main::first-letter{
    color: #d20605;
}
.tilte--lv02{
    font-size: 2.8rem;
    line-height: 1.4;
}
.tilte--lv03{
    font-size: 2rem;
    font-weight: 600;
    margin: 16px 0;
}
/* テキスト・見出し系ここまで */
/* アニメーション */
.fadeInTrigger,.fadeLeftTrigger{
    opacity:0;
}
.fadeIn{    /*フェードアップするアイコンの動き*/
    animation-name:fadeIn-anime;
    animation-duration:1.6s;
    animation-fill-mode:forwards;   /*最後の位置を保持する*/
    opacity:0;
}
@keyframes fadeIn-anime{
    0%{
        opacity:0;
    }
    100%{
        opacity:1;
    }
}
.delay04{
    animation-delay:0.4s;
}
.delay06{
    animation-delay:0.6s;
}
.delay08{
    animation-delay:0.8s;
}
/* .delay10{
    animation-delay:1s;
} */
.fadeLeft{
    animation-name:fadeLeft-anime;
    animation-duration:1.6s;
    animation-fill-mode:forwards;
    opacity:0;
}
@keyframes fadeLeft-anime{
    0%{
        opacity:0;
        transform:translateX(-100px);
    }
    100%{
        opacity:1;
        transform:translateX(0);
    }
}
/* アニメーションここまで */

 /* ダークモードのプラグイン */
.wp-dark-mode-switcher {                /*背景に合わせて色を変える*/
    mix-blend-mode: exclusion;
}
.wp-dark-mode-switcher::before {        /*説明書き*/
    content: "サイトのカラー：ライト/ダーク";
    display: block;
}
/* ダークモードのプラグインここまで */

/* -------- 全ページ共通 ここまで--------*/

/* -------- サブページ共通--------*/
.breadcrumb {       /*パンくずリスト*/
    font-size: 1.4rem;
    line-height: 1.6;
    margin: auto;
    max-width: 88%;
    padding-top: 80px;
    width: 768px;
}
.breadcrumb a {
    text-decoration: underline;
}
/* -------- サブページ共通 ここまで--------*/

/* -------- ヘッダー --------*/
/* ローディング：ロゴアニメーション */
#splash{    /*背景画面の設定*/
    position:fixed;
    width:100%;
    height:100%;
    z-index:88;
    background:var(--base-color);
    text-align:center;
    /* color:var(--main-color); */
}
.splash-logo{   /*ローディング画像を中央に配置*/
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
}
.splash-img{   /*アイコンの大きさを指定*/
    width:240px;
}
.header-inner{
    background:var(--base-color);
    height:80px;
    position:fixed;
    width:100%;
    z-index:88;
    display:flex;
    justify-content:space-between;
    align-items:center;
    box-shadow:var(--default-box-shadow);
    padding:0 16px;
    flex-wrap:wrap;
}
.header-logo-img {
    width: 112px;
    height: auto;
}
.header-logo-link:hover{
    text-decoration:none;
}
  /*YouTubeの埋め込み */
.embed--youtube{
    aspect-ratio:16/9;
    width: 100%;
}
.embed--youtube iframe{
    height:100%;
    width: 100%;
}
/* -------- ヘッダーここまで --------*/

/* -------- フッター --------*/
#footer{
    background: var(--main-color);
    padding: 10px 0;
    text-align: center;
    margin-top: 80px;
}
/* フッターナビ */
/* .footer--navi--wrap {
    margin: 10px 0;
} */
.footer--navi{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.footer--navi li {
    font-size: 1.2rem;
    font-weight: 400;
    list-style: none;
    padding: 12px 0;
    width: 50%;
}
.footer--navi li a{
    color: var(--base-color);
}
/* フッターナビここまで */
.copyright{
    color:var(--base-color);
    display: inline-block;
    margin-top: 10px;
}
/* -------- フッターここまで--------*/

/* -------- トップページ--------*/
/* -------- firstview --------*/
#firstview{
    padding-top: 80px;
    position:relative;
    width:100%;
}
.firstview-img{
    height:720px;
    width:100%;
    object-fit:cover;
    position:absolute;
    z-index:8;
}

.firstview-layer{
    background:var(--main-color);
    opacity:0.8;
    position:absolute;
    z-index:16;
    height:720px;
    width:100%;
}

.firstview-text{
    writing-mode:vertical-rl;
    position:absolute;
    z-index:24;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    color:var(--base-color);
    font-size:32px;
    margin-top:80px;
    height:64%;
}
/* SNS */
.insta,
.twitter{
    margin-top:40px;
}
#sb_instagram,
.twitter-timeline {       /*角丸を揃える*/
    border-radius: 8px;
}
/* SNSここまで */

/* -------- トップページ ここまで--------*/

/* -------- indexページ（404）--------*/
.index__sect--01{
    padding-top: 160px;
}
.text--404{
    display: block;
    font-size:4rem;
    font-weight: 600;
    margin-bottom: 40px;
    text-align: center;
}
.index__text-link{
    text-decoration: underline;
}
/* -------- indexページ（404）ここまで--------*/

/* ---------- 問合せ・個人情報保護方針 ----------*/
._contact
,#privacyPolicy{
    padding-top:160px;
}
._contact input,
._contact textarea{
    max-width: 100%;
}
/* ---------- 問合せ・個人情報保護方針ここまで ----------*/

/* -------- カスタム投稿一覧 --------*/
.post__img{
    width:320px;
    max-width: 100%;
}
.navigation.pagination {        /* ページネーション */
    text-align: center;
    margin-top: 24px;
    font-size: 1.6rem;
}
.nav-links a,
.nav-links span{                /*ページネーションの子要素*/
    border: 1px solid #ddd;
    border-radius: 4px;
    margin: 0 4px;
    padding: 8px;
}
.page-numbers.current {         /*選択中のページの数字*/
    color: var(--acce-color);
}
.sidebar__wrap._archive{        /* カスタム投稿のカテゴリウィジェット（サイドバー） */
    margin: 80px auto 0;
    max-width: 88%;
    width: 768px;
}
/* .category--widjet {
    margin: 40px auto 0;
    max-width: 88%;
    width: 1200px;
} */
.widget__title {
    font-size: 2rem;
    font-weight: 600;
    margin-top: 16px;
}
.category--widjet ul{
    margin: 8px auto 0 2em;
}
.category--widjet ul li{
    font-size: 1.4rem;
    list-style: none;
    margin-bottom: 16px;
    text-decoration: underline;
}
.category--widjet ul.children {
    position: relative;
}
.category--widjet ul.children::before{
    content: "└";
    display: inline-block;
    left: -20px;
    position: absolute;
}
.category--widjet form{
    margin-top: 8px;
    /* position: relative; */
}
/* #widget--custom-posts-category form::before {
    border-color: #444 transparent transparent transparent;
    border-style: solid;
    border-width: 10px 5px 0 5px;
    content: "";
    height: 0;
    pointer-events: none;
    position: absolute;
    top: 7px;
    right: 88px;
    width: 0;
} */
.category--widjet select{
    /* appearance: none; */
    background-color: transparent;
    /* border:none; */
    color: var(--main-color);
    padding: 4px 32px;
}
.category--widjet select:focus-visible{
    outline:1px solid var(--sub-color);
}
/* もくじプラグイン本体 */
.single__content #ez-toc-container {
    margin-bottom: 24px;
    padding: 8px;
}
.single__content #ez-toc-container li{
    margin-top: 8px;
    overflow-x: scroll;
}
/* もくじプラグイン本体ここまで */
/* 目次プラグインの左の追従要素・使ってない*/
/* .ez-toc-sticky .ez-toc-open-icon {
    top: 88px;
    box-shadow: var(--default-box-shadow);
    background-color: var(--base-color);
    border-radius: 0px 8px 8px 0px;
}
.ez-toc-sticky .ez-toc-sticky-fixed.hide,
.ez-toc-sticky .ez-toc-sticky-fixed.show{
    top: 88px;
}
#ez-toc-sticky-container li{
    font-size: 1.4rem;
    margin-bottom: 8px;
} */

/* -------- ブログ一覧ページ --------*/
.blog-wrap{
    margin-top:32px;
}
.blog-box{
    list-style:none;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: column;
}
.blog__element-wrap{
    margin-top: 24px;
}
.blog__element{
    margin-top: 24px;
    text-align: center;
    width:100%;
}
.wp-block-image {       /*投稿の画像の枠*/
    /* margin: 16px auto 0!important;
    position: relative;
    padding-top: 56.25%;
    max-width: 800px; */
}
.wp-block-image img {
    /* border-radius: inherit;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    width: 100%;
    height: 100%!important; */
}
.heading-lv1-wrapper{
    padding-top: 120px;
}
.heading-lv1{
    font-size:3.2rem;
    line-height: 1.3;
    text-align: center;
    margin: auto;
    width: 100%;
}
.info {
    display: block;
    font-size: 1.6rem;
    margin-top:80px;
    max-width: 100%;
}
.category ul {
    display: flex;
    flex-wrap: wrap;
}
.category ul li{
    list-style: none;
}
.category ul li a::before{
    content: "#";
}
.category ul li a{
    color: var(--acce-color);
}
.date,.read-time{
    margin: 8px;
}
.single-inner{
    max-width: 768px;
    width: 88%;
}
/* -------- ブログ一覧ページここまで --------*/

/* -------- ブログ詳細ページ --------*/
.single__title--h1{ /*個別投稿ページのh1*/
    font-weight: 600;
    text-align: left;
}
.single__content a {
    color: var(--acce-color);
    text-decoration: underline;
}
.single__content a.button.button--cta {
    color: var(--base-color);
    text-decoration: none;
}
.intro{
    margin-bottom: 32px;
}
.single__content{
    margin-top:80px;
}
.single__content form { /*スマホでのフォームのパスワード入力で画面が拡大されないように*/
    font-size: 16px;
}
.single__content h2{    /*メインの見出し*/
    font-size: 2.8rem;
    line-height: 1.4;
}
.single__content h3,
.heading-lv--03{   /*h3にあたる見出し*/
    font-size: 2.4rem;
    margin: 8px 0;
}
.single__content ul,.single__content ol{
    /* border-top:1px solid var(--acce-color);
    border-bottom:1px solid var(--acce-color); */
    line-height: 1.8;
    padding:0.5em 0;
    margin: 16px auto;
    width: 100%;
}
.single__content ul li,.single__content ol li {
    font-size: 1.6rem;
    margin: 0.4em 1em;
}
.single__content p{
    margin-top: 0.5em;
    line-height: 2;
}
figure{ /*画像とか全般*/
    margin-top: 32px;
}
figure.wp-block-embed.is-type-rich.is-provider-instagram.wp-block-embed-instagram {
    margin-top: 32px;
    /* display: flex;
    justify-content: center; */
}
#jp-relatedposts {
    margin: 40px 0 1em!important;
}
.blog_conatainer{
    display: flex;
}
.blog_textbox{
    margin-top:4px;
}
.blog_date{
    color: var(--main-color);
    font-size: 1.2rem;
    text-align: left;
}
.blog_title{
    font-weight: 600;
    font-size: 2rem;
    line-height: 1.2;
    text-align: left;
}
.blog_description p{
    margin:8px 0;
    /* ↓抜粋を3行にしている  */
    -webkit-line-clamp: 3;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    color:var(--main-color);
}
.blocks-gallery-item figure img{
    max-width:100%;
    object-fit: contain;
}
.wp-block-embed {
    text-align: center;
}
.post__title-wrap{
    margin-top:8px;
}
/* カスタム投稿でのYouTubeの埋め込み */
figure.wp-block-embed.is-type-video.is-provider-youtube.wp-block-embed-youtube.wp-embed-aspect-16-9.wp-has-aspect-ratio .wp-block-embed__wrapper{
    aspect-ratio: 16/9;
    width: 100%;
}
figure.wp-block-embed.is-type-video.is-provider-youtube.wp-block-embed-youtube.wp-embed-aspect-16-9.wp-has-aspect-ratio .wp-block-embed__wrapper iframe{
    height: 100%;
    width: 100%;
}
.single__content iframe {   /*Google Mapなどの埋め込み*/
    margin-top: 40px;
    max-height:100vh;
    max-width: 100%;
}
.comments {                 /* コメント */
    margin: 80px auto 8px;
    max-width: 88%;
    width: 768px;
}
.comments__list li{
    font-size: 1rem;
    list-style:none;
}
.comments__list p{
    font-size: 1.4rem;
    margin-top: 8px;
}
.comment-body {             /*コメントそれぞれのラップ*/
    margin-bottom: 24px;
}
.comment-author.vcard {     /*コメントした人の名前*/
    font-size: 1.4rem;
    font-weight: 600;
}
.reply a{                    /*返信ボタン*/
    border: 1px solid var(--main-color);
    border-radius: 40px;
    display: inline-block;
    margin: 8px auto;
    padding: 8px;
    text-align: center;
    width: 32%;
}
.comment-meta {             /*日付*/
    margin-top: 8px;
}
.comment-respond {          /*コメント入力フォームのラップ*/         
    margin-top: 40px;
}
.comment-reply-title a {
    text-decoration: underline;
}
.comments textarea,
.comments input[type="text"]{
    font-size: 1.6rem;
    width: 100%;
}
.comments label{
    font-size: 1.4rem;
}
.comment-reply-title {
    font-size: 2rem;
}
#email-notes,
.required-field-message{
    display: block;
    font-size: 1.2rem;
    margin-top: 4px;
}
.comment-form-cookies-consent label{
    font-size: 1.2rem;
}
.comment-form-url {     /*サイト入力欄*/
    display: none;
}
.form-submit input[type ="submit"]{ /*コメント送信ボタン*/
    background: var(--main-color);
    border: 1px solid var(--main-color);
    border-radius: 40px;
    color: var(--base-color);
    cursor: pointer;
    display: block;
    font-size: 1.6rem;
    line-height: 1.4;
    margin: 40px auto 0;
    max-width: 480px;
    padding: 1em;
    text-align: center;
    width: 100%;
}
/* 広告 */
.advertisement{
    margin-top: 80px;
}
ins{
    background-color: #ddd;      /*広告の色付きの要素を背景に馴染ませる*/
    max-height: 100vh;              /*高さの上限を設けて変な余白を小さく*/
}

/* お問合せ */
.contact__item--frame{
    appearance: none;
    background-color: transparent;
    border: 1px solid var(--main-color);
    border-radius: 8px;
    display: block;
    font-size: 1.6rem;
    padding: 16px;
    max-width: 800px;
    width: 100%;
}
.contact__item__wrap{
    margin-top: 32px;
}
.contact__select{
    color: var(--acce-color);
}
.contact__link{
    color: var(--acce-color);
}
.contact__link:hover{
    text-decoration: underline;
}
.contact__completion{
    color:var(--main-color);
    font-size: 1.2rem;
}

/*-------- タブレット〜（640px以上・モバイルファースト） --------*/
@media screen and (min-width:640px),print{
    .heading-lv1{
        font-size:4.8rem;
    }
    .blog-box {
        flex-direction: row;
    }
    .blog-box::after {
        content: "";
        display: block;
        width: calc((100% / 2) - 16px);
    }
    .blog__element {
        width: calc((100% / 2) - 16px);
        margin-top: 24px;
    }
    /* カスタム投稿一覧のウィジェット */
    .sidebar__wrap._archive {
        display: flex;
        justify-content: space-around;
    }
    /* カスタム投稿一覧のウィジェットここまで */    
    /* -------- フッター -------- */
    .footer--navi li a:hover {
        text-decoration: underline;
        transition: 0.4s;
    }  
    /* -------- フッターここまで-------- */
}
/* 小さめのPC〜 */
@media screen and (min-width:960px),print{
    /* ホバーアクションは小さめのPCから */
    a:hover{
        transition:0.4s;
        opacity: 0.8;
    }
    .button:hover{
        box-shadow:var(--default-box-shadow);
        text-decoration:none;
        transition:0.4s;
    }        
    .button.button--cta:hover{
        box-shadow:0 4px 8px var(--acce-color);
    }    
    .form-submit input[type ="submit"]:hover{ /*コメント送信ボタン*/
        box-shadow:var(--default-box-shadow);
        opacity: 0.8;
        text-decoration:none;
        transition:0.4s;
    }    
    /*-------- header --------*/
    /* ローディング：ロゴアニメーション */
    h1{
        width:480px;
    }
    .sp-only{   /*閲覧デバイスがSPサイズのときだけ表示*/
        display:none;
    }
    .splash-img{   /*アイコンの大きさを指定*/
        width:480px;
    }
    .pc-header-conversion{
        display:inline-block;
        order:16;
    }
    .header-inner{
        padding:0 40px;
    }
    .pc-header-nav{
        display:flex;
        order:8;
        margin-left:auto;
    }
    .pc-header-nav ul{
        display:flex;
        flex-direction:row;
    }
    .pc-header-nav ul li{
        margin:16px;
    }
    .pc-header-nav ul li a{
        font-size:1.6rem;
        font-weight:bold;
        /* color:var(--main-color); */
    }
    .pc-header-nav ul li a:hover{
        color: var(--sub-color);
    }    
    /* -------- トップページ --------*/
    .flex-box__item._top__about{     /*トップページてらしゅうについてセクションのテキストボックスは文字を真ん中寄せ*/
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    /* てらしゅうについてセクション */
    .flex-box._top__about{
        align-items: center;
    }
    .text-box--shadow._top__about {
        padding: 8px 16px;
        height: 100%;
    }
    /* てらしゅうについてセクションここまで */

    /* -------- トップページここまで --------*/

    /* -------- 全ページ共通 --------*/
    .flex-box{
        justify-content:space-between;
    }
    .flex-box .flex-box__item{
        width:48%;
    }
    /* -------- 全ページ共通ここまで --------*/

    /* -------- PC：フッター --------*/
    /* .footer--navi{
        flex-direction: row;
        justify-content: space-around;
    } */
    .footer--navi li {
        margin-top: 0;
    }
    /* -------- PC：フッターここまで --------*/
}
@media screen and (min-width:1024px),print{
}
@media screen and (min-width:1440px),print{
    /* ブログ一覧と個別：固有 */
    .blog-box::after {  /*afterに要素と同じ大きさの空白を入れて、最後の列を左詰め*/
        width: calc((100% / 3) - 16px);
    }
    .blog__element {
        width: calc((100% / 3) - 16px);
        margin-top: 24px;
    }
}
