@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/


/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/

/*1023px以下*/
@media screen and (max-width: 1023px) {
    /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px) {
    /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px) {
    /*必要ならばここにコードを書く*/
}


/*全体構造設定*/


.main {
    padding: 0px 29px 36px 29px;
}

@media screen and (max-width: 834px) {
    main.main,
    div.sidebar {
        padding: 5px 16px 32px 16px;
        margin: 12px 0;
        border-width: 0;
    }
}

.page .date-tags {
    display: none;
}


/*TOPアピールエリア*/

.appeal {
    max-width: 1256px;
    margin: 1% auto;
}


.appeal_box {
    text-align: center;
    max-width: 1256px;
    margin: auto;
    margin-top: 0;
}

/*フロント固定ページのタイトルを非表示*/
.home.page .entry-title {
    display: none;
}


/* 見出しのデザイン設定 */

h1 {
    background: #1d2088;
    color: #fff;
}

h1:before,
h1:after {
    content: "";
    position: absolute;
}

h1:after {
    width: 10px;
    height: 10px;
    top: 20px;
    left: 10px;
    background-color: #fef671;
    border-radius: 50pt;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%) translateX(-50%);
}

h1.entry-title {
    background: #1d2088;
    background-position: 10px 10px;
    background-size: 12px 12px;
    margin: 16px 0;
    padding: 16px 16px 16px 38px;
    border-bottom: solid 9px #fef671;
    color:#fff;
    display: block;
    position: relative;
}


.archive-title {
	padding: 0px 10px;
}

/* フロントのh1タグCSSを解除*/
.logo-header:before,
.logo-header:after {
    display: none;
}
.archive-title:before, h1:before, .archive-title:after {
display:none;	
}

/* H2 */
.entry-content h2 {
    color: #1D2088;
    font-size: 28px;
    background-color: #FEF788;
    padding-top: 20px;
    padding-left: 10px;
    padding-bottom: 20px;
    border-left: solid 10px #1D2088;
}


.entry-content h2 {
    position: relative;
    padding: 10px 10px 10px 20px;
    line-height: 42px;
}


.article h3 {
    border: unset;
    background-color: aliceblue;

}

h3 {
    color: #364e96;
    padding: 0.5em;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
}

.card-content h3{
	    color: unset;
    padding:unset;
    text-align: unset;
    font-size: unset;
    font-weight: unset;
}

@media screen and (max-width: 1023px) {
    .entry-content h2 {
        font-size: 20px;
        line-height: 32px;
    }

    .entry-content h3 {
        font-size: 22px;
    }
}



/* ヘッダナビゲーションメニュー */
.fixed- {
    background-color: #1d2088 !important;
}

.navi-in a {
    font-size: 20px;
    font-weight: bold;
}

#navi .navi-in>ul>li {
    border-right: 2px dotted #1D2088;
}

#navi .navi-in>ul>li:last-child {
    border-right-width: 0;
}

.navi-in>ul>.menu-item-has-children>a::after {
    right: 10px;
}


/* トップへ戻るボタン画像の表示調整 */

.go-to-top-button {
    width: 120px;
    /* ボタン画像の表示幅 */
    height: auto;
    /* ボタン画像の高さは自動調整 */
}

.go-to-top-button:hover {
    /* カーソルを合わせると少し拡大する */
    transform: scale(1.1);
}

.go-to-top {
    right: 10px;
    /* 右から10pxの位置に配置 */
    bottom: 30px;
    /* 下から30pxの位置に配置 */
}



/*全体背景*/
.container {
    background-image: radial-gradient(#d4d6ff 3px, transparent 3px), radial-gradient(#e9eaff 3px, transparent 3px);
    background-size: 36px 36px;
    background-position: 0 0, 17px 17px;
    background-color: #ffffff;
    background-attachment: fixed;
}

/* スマホ版はヘッダーを非表示 */
@media screen and (max-width: 1023px) {
    .container {
        background-image: unset;
        background-size: unset;
        background-position: unset;
        background-attachment: unset;
    }
}



/* 
* ヘッダーロゴ(テキスト)の反対側に問い合わせボタン表示
*/
div#header-in {
    /* ヘッダーロゴ(テキスト)と問い合わせボタンを横並び */
    flex-direction: row;
}

.header-in .logo-header {
    /* ヘッダーロゴ(テキスト)と問い合わせボタンの位置を両端にする */
    margin-right: auto;
}

.header-contact {
    /* 問い合わせボタンにパディングを追加（見た目を整える） */
    padding: 10px 0;
}




/************************************
** ヘッダーカスタマイズ部分
************************************/
.header.cf {
    border-bottom: 6px solid;
    border-color: yellow;
}




div.header_right_box_tel {
    width: 300px;
    float: left;
    margin-top: 15px;
}

div.header_right_box_mail {
    width: 220px;
    float: left;
    margin-top: 28px;
}


/* ヘッダー部分電話説明文字 */
p.header_tel_txt {
    font-size: 16px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    margin: 0.7rem;
}

/* ヘッダー部分電話番号文字 */
p.header_tel_number {
    font-size: 36px;
    color: #fff;
    font-weight: bold;
    margin-top: -20px;
}

/* ヘッダー部分電話アイコン位置 */
img.header_icon_tel_position {
    vertical-align: middle;
    max-width: 25px
}

/* ヘッダー部分電話リンク変更 */
a.header_tel_number_link:link {
    color: #fff;
    text-decoration: none;
}


a.header_tel_number_link:hover {
    color: yellow;
}

/* スマホ版はヘッダーを非表示 */

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

    .header_tel_number,
    .header_tel_txt,
    .header_right_box_mail,
    .header_right_box_mail {
        display: none;
    }

    .header.cf {
        border: unset;
        border-color: unset;
    }

    #header-in {
        display: none;
    }
}


.mobile-menu-buttons {
    background: #1d2088;
    color: white;
}

.mobile-menu-buttons .menu-button>a {
    color: white;
}


.logo-menu-button.menu-button {
    justify-content: flex-start;
    padding-left: 22px;
}



#navi {
    box-shadow: 0px 0px 15px -5px #777777;
    position: relative;
}





/************************************
** サイドメニュースタイル設定
************************************/
#sidebar>.widget {
    border-radius: 10px;
}



@media screen and (max-width: 1205px) {
    .sidebar {
        padding: 0%;
        padding-right: 1.5%;
    }
}


/*モバイルフッター分高さ調整*/
@media screen and (max-width: 1023px) {
    .menu-content .sidebar { 
        padding-bottom: 100px;
    }
}





.sidebar h3 {
    border-radius: 0%;
    border-bottom: 3px dotted;
    border-color: #1d2088;
    padding-bottom: 0.3em;
    margin-top: -0.5em;
    margin-bottom: 1em;
}

.widget_recent_entries ul li a,
.widget_categories ul li a,
.widget_archive ul li a,
.widget_pages ul li a,
.widget_meta ul li a,
.widget_rss ul li a,
.widget_nav_menu ul li a {
    background-color: #1D2088;
    color: #fff;
    margin: 6px 0;
    padding: 6px 10px;
    transition: 0.4s
}


.widget_recent_entries ul li a:hover,
.widget_categories ul li a:hover,
.widget_archive ul li a:hover,
.widget_pages ul li a:hover,
.widget_meta ul li a:hover,
.widget_rss ul li a:hover,
.widget_nav_menu ul li a:hover {
    background-color: #FEF788;
    color: #1D2088 !important;
}

.tagcloud a {
    background-color: #f7f7f7;
}

.tagcloud a:hover {
    background-color: #90C31F;
    color: #fff !important;
    transition: 0.4s;
}

.nwa .recommended.rcs-card-margin a {
    margin: 0 0 1em;
    width: 90%;
}

.widget-entry-cards .widget-entry-card-content {
    color: #565656;
}





/************************************
** フッター
************************************/




/* スマホ時の空白を解除 */
@media screen and (max-width: 1023px) {
    .footer {
        margin-top: 0;
        padding-top: 0;
        margin-bottom: 100px;
        /* モバイル版固定フッター用空白 */
    }
}

@media screen and (max-width: 480px) {
    .footer {
        margin-top: 0;
        padding-top: 0;
        margin-bottom: 100px;
        /* モバイル版固定フッター用空白 */
    }

    .footer-container nwa {
        margin-bottom: 40px;


    }

}

hr.foot_line {
    border: solid 2px #F5F5F5;
}

/* 項目囲み */
ul.foot_box_access {
    height: auto;
    min-height: 430px;
    width: 100%;
    padding: 30px;
    text-align: center;
    list-style: none;
    color: #000;
}

/* 各項目設定 */
ul.foot_box_access li {
    display: inline-block;
    vertical-align: top;
    width: 500px;
    height: auto;
    margin: 0px;
}

ul.foot_box_access li:nth-child(1) {
    width: 400px;
}

ul.foot_box_access li:nth-child(2) {
    margin: 0 auto;
}

@media screen and (max-width: 1023px) {
    ul.foot_box_access li {
        display: list-item;
        width: 100%;
    }

    ul.foot_box_access li:nth-child(1) {
        width: 100%;
        margin-top: -20px;
        padding-bottom: 30px;
    }
}

#foot_wrap_box_gray {
    width: 100%;
    background-color: #F8F8F8;
}


ul.foot_wrap_box_gray_in {
    min-height: 120px;
    height: auto;
    width: 1020px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    padding: 0;
    text-align: center;
}

@media screen and (max-width: 1023px) {
    ul.foot_wrap_box_gray_in {
        width: 100%;
        padding-bottom: 0;
        min-height: 200px;
    }
}

ul.foot_wrap_box_gray_in li {
    display: inline-block;
    vertical-align: top;
    position: relative;
    padding: 0;
    margin: 0;
}

ul.foot_wrap_box_gray_in li:nth-child(1) {
    width: 1020px;
    height: 100px;
    padding-top: 10px;
    text-align: center;
}

@media screen and (max-width: 1023px) {
    ul.foot_wrap_box_gray_in li:nth-child(1) {
        width: 100%;
        padding-left: 30px;
        padding-right: 30px;
    }
}

ul.foot_wrap_box_gray_in li:nth-child(2),
ul.foot_wrap_box_gray_in li:nth-child(3),
ul.foot_wrap_box_gray_in li:nth-child(4) {
    width: 330px;
    text-align: center;
    margin-top: 20px;
}

ul.foot_wrap_box_gray_in li p {
    margin-bottom: 0;
}

ul.foot_wrap_box_gray_in li p.header_tel_number {
    margin-top: -10px;
}

/* フッターメニュー部分 */
#foot_bottom_main_menu {
    width: 100%;
    background-color: var(--primary-color);
    color: #FFFFFF;
}

#foot_bottom_main_menu a {
    color: var(--primary-color);
}

.footer-bottom {
    margin-top: 0;
    /* 自動挿入解除 */
}

#footer a {
    color: #1d2088;
}

/************************************
** モバイルフッターメニュー
************************************/

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

    ul.mobile-footer-menu-buttons,
    ul.footfix {
        display: block;
        list-style-type: none;
        text-align: center;
    }

    ul.mobile-footer-menu-buttons p {
        font-size: 12px;
        font-weight: bold;
        margin: 10px 5px 0px;
    }

    ul.footfix {
        margin: 0;
        padding: 5px;
    }




    ul.footfix li.footfix_tel a {
        padding: 37px 0 0;
        background: #ff4900;
    }

    ul.footfix li.footfix_tel a:before {
        display: block;
        position: absolute;
        top: 4px;
        left: 50%;
        font-family: "Font Awesome 5 Free";
        content: '\f879';
        font-size: 1.6rem;
        transform: translate(-50%, 0);
    }

    ul.footfix li.footfix_line a {
        padding: 10px 0 0;
        background: #00b900;
    }

    ul.footfix li.footfix_mail a {
        padding: 37px 0 0;
        background-color: #ffc107;
    }

    ul.footfix li.footfix_mail a:before {
        display: block;
        position: absolute;
        top: 5px;
        left: 50%;
        font-family: "Font Awesome 5 Free";
        content: '\f0e0';
        font-size: 1.6rem;
        transform: translate(-50%, 0);
    }

    ul.footfix li.footfix_line a {
        padding: 37px 0 0;
        background: #00b900;
    }

    ul.footfix li.footfix_line a:before {
        display: block;
        position: absolute;
        top: 4px;
        left: 50%;
        font-family: 'icomoon' !important;
        content: '\e915';
        font-size: 1.6rem;
        transform: translate(-50%, 0);
        font-weight: normal;
    }

    ul.footfix a {
        position: relative;
        display: block;
        height: 60px;
        color: #fff;
        font-size: 12px;
        text-align: center;
        box-sizing: border-box;
        text-decoration: none;
        font-weight: bold;
    }
}






/*スクロールブロック*/

@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

.scroll-wrap {
    display: flex;
    overflow: hidden;
}

.scroll-wrap-01 {
    display: flex;
    list-style: none;
    padding: 0;
    margin-bottom: 10px !important;
    padding-left: 0 !important;
}

.scroll-wrap-02 {
    animation: infinity-scroll-left 20s infinite linear 0.1s both;
    animation-iteration-count: infinite;
    animation-fill-mode: both;
}

.scroll-left {
    margin-bottom: 0;
}

.scroll-left-img {
width: calc(100vw / 8);
}

.scroll-left-img>img {
    width: 100%;
}


@media screen and (max-width: 834px) {
    .scroll-left-img {
        width: calc(100vw / 3);
    }
}



/*Cocoonの修正*/

/*Cocoonブロックエディタ 白抜きボックスの高さ調整*/
.blank-box {
    height: 100%;
}

/*Cocoonブロックエディタ カラムで画像ボタン並べ時の高さ削除*/
.dis-block figure a {
    display: block;
}

/************************************
** 編集ロゴの場合ヘッダ調整
************************************/

@media screen and (max-width: 1240px) {
	div.header_right_box_tel{
		display:none;
	}
}


@media screen and (max-width: 1260px) {
	div.header_right_box_tel{
		display:none;
	}
	.navi-in>ul li {
    width: 160px;
}
}

/* ヘッダー部分電話番号文字 */
p.header_tel_number {
    font-size: 34px;
}

/************************************
** LINEの有無
************************************/
/* lineがないときは活性化させる */

/*  div.header_right_box_mail {
    width: 136px;
}
.header_right_box_mail a:first-child{
	display:none;
} 

 ul.footfix li {
	width: 48%;
	float: left;
	margin: 0 1% 2%;
} 

.footfix_line{
	display:none;
}
 */

/* END--lineがないときは活性化させる */

/* line@あるときは活性化させる */

   ul.footfix li {
        width: 31%;
        float: left;
        margin: 0 1% 2%;
    } 
/* END--line@あるときは活性化させる */