@charset "UTF-8";

.container {
    width: 100%;
    min-height: 100%;
    padding-bottom: 210px; /* footer の高さ + α */
    padding-top: 16rem;
    background: url(../img/bg.png) repeat-x 0 3rem;
}

/** =========================
* HEAD
*/
header {
    background: #fff;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    /* border: 1px solid red; */
}
.logo-area {
    max-width: 1100px;
    margin: auto;
    padding: 1.5rem 0;
}
.logo-area .logo img {
    max-width: 27rem;
    height: auto;
}

/** -------------------------
 * ハンバーガーメニュー
 */
.hamburger-menu, .menu-btn-check {
    display: none;
}

/** -------------------------
 * sub menu
 */
.sub-menu li {
    /* border: 1px solid red; */
    line-height: 3rem;
    padding-left: 1.5rem;
 }

.sub-menu li::before {
    content: "\025B8";
    vertical-align: calc(-5% * 3);
    font-size: 1.5em;
 }

 .sub-menu .sns::before {
     content: none;
 }

.sub-menu li a {
    text-decoration: none;
    color: #222;
    font-size: 1.1rem;
}

.sub-menu li a:hover {
    text-decoration: underline;
}

/** -------------------------
 * menu
 */
.main-menu {
    background: #222;
    position: relative;
}
.main-menu > ul {
    max-width: 1100px;
    margin: auto;
}
.main-menu li {
    /* max-width: 142px; */
    max-width: 157px;
    flex-grow: 1;
}

/* メニュー項目の消去 */
.menu-item8 {
	display: none;
}


.main-menu a {
    display: block;
    text-align: center;
    text-decoration: none;
    color: #fff;
    font-size: 1.1rem;
    padding: 1.5rem 0;
    vertical-align: baseline;
    transition: all 500ms;
}

.main-menu a:hover {
    background: #ce141e;
}

.menu-item1 > a::before {
    content: url(../img/icn01.svg);
    display: block;
    margin-bottom: 1rem;
}
.menu-item2 > a::before {
    content: url(../img/icn02.svg);
    display: block;
    margin-bottom: 1rem;
}
.menu-item3 > a::before {
    content: url(../img/icn03.svg);
    display: block;
    margin-bottom: 0.8rem;
    margin-top: -5px;
}
.menu-item4 > a::before {
    content: url(../img/icn04.svg);
    display: block;
    margin-bottom: 1rem;
}
.menu-item5 > a::before {
    content: url(../img/icn05.svg);
    display: block;
    margin-bottom: 1rem;
}
.menu-item6 > a::before {
    content: url(../img/icn06.svg);
    display: block;
    margin-bottom: 1rem;
}
.menu-item7 > a::before {
    content: url(../img/icn07.svg);
    display: block;
    margin-top: 0.3rem;
    margin-bottom: 1.2rem;
}
.menu-item8 > a::before {
    content: url(../img/icn08.svg);
    display: block;
    margin-bottom: 1rem;
}
.menu-item9 > a::before {
    content: url(../img/icn09.svg);
    display: block;
    margin-bottom: 1rem;
    position: relative;
}
.menu-item_gg > a::before {
    content: url(../img/icn_odoru.svg);
    display: block;
/* 	margin-top: 0.8rem; */
    margin-bottom: 0.5rem;
}

.menu-item9 > ul {
    display: none;
}

.menu-item9:hover > ul {
    /* display: block; */
}

/* ドロップダウンメニュー */
.submenu {
    position: absolute;
    display: inline-block;
    width: 157px;
    margin-top: 2px;
    /* top: 0; */
}

.submenu > li {
    border: 1px solid#fff;
    border-width: 0 0 5px 0;
}

.submenu > li > a {
    display: block;
    padding: 1.3rem 0;
    width: 100%;
    background: #666;
    font-size: 0.8em;
    line-height: 1.3;
}

/* カレントページをメニューで強調 */
.main-menu li[data-activity="true"] {
    box-shadow: 0 6px 1px -2px #ce141e;
}

/** -------------------------
 * パンくずリスト
 */
 .breadcrumb {
    margin: auto;
    max-width: 1000px;
    padding: 1.5rem 0;
}

.breadcrumb li {
    display: inline-block;
    font-size: 1.1rem;
}

.breadcrumb li::after {
    content: "　>　";
}

.breadcrumb li:last-of-type::after {
    content: none;
}

.breadcrumb li a {
    text-decoration: none;
    color: #222;
}

.breadcrumb li a:hover {
    text-decoration: underline;
}

/** =========================
* MAIN
*/
h1 {
    background: #eee;
    text-align: center;
    padding: 0 0 3.5rem;
    margin-bottom: 3rem;
    font-size: 1.8rem;
    /* 上下中心 */
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

h1 small::before {
    content: "\A";
    font-size: 1rem;
    white-space: pre;
}

h1 small {
    display: inline-block;
    font-weight: normal;
    font-size: 1.2rem;
    letter-spacing: 0.3rem;
    line-height: 1;
    color: #444;
}

h2 {
    padding: 1rem 1.2rem 0.7rem;
    color: #fff;
    margin: 0 0 1rem;
    background: #ce141e;
}

/*  */
.inner_container {
    max-width: 1000px;
    margin: auto;
    /* padding: 1.5rem 2rem; */
}

/** =========================
* FOOTER
*/
footer {
    background: #222;
    margin-top: -185px; /* footer の高さと同じに */
    padding-top: 2rem;
    height: 185px;
    overflow: hidden;
}

.footer-area {
    max-width: 1200px;
    margin: auto;
}

/* スマフォ用 */
footer .sns {
    /* display: none; */
    text-align: center;
    padding: 1.5rem 0 0;
}

/* スマフォ用：グローバルメニュー */
.g-menu {
    display: none;
}

.footer-area > small {
    white-space: pre-line;
    line-height: 1.5;
    font-size: 1.3rem;
    padding-right: 1.5rem;
    color: #aaa;
}

.footer-area > small > b {
    font-weight: bold;
    font-size: 1.5rem;
}

.footer-area .logo {
    /* flex-grow: 1; */
    padding-right: 2rem;
}

.copy {
    display: block;
    color: #aaa;
    text-align: center;
    font-size: 1.5rem;
    padding: 1rem 0;
}

/* トップへ戻る */
.return2top {
    padding: 2rem 0 0;
    text-align: right;
}

.return2top a {
    text-decoration: none;
    color: #222;
    font-size: 1.3rem;
}

.return2top a::before {
    content: "▲";
}

.return2top a:hover {
    text-decoration: underline;
}



/** -------------------------
 * 消すメニュー
 */
.menu-item5 {
    display: none;
}

/** -------------------------
 * ユーティリティ
 */

.text-r {
    text-align: right;
}

.text-c {
    text-align: center;
}

.red {
    color: #ce141e;
}

.sm {
    font-size: 0.7em;
}

.btn-type01 {
    display: inline-block;
    width: 15rem;
    background: maroon;
    color: #fff;
    font-size: 1em;
    font-weight: bold;
    text-align: center;
    padding: 1.3em 0;
    text-decoration: none;
    border-radius: 5px;
}

.btn-type01:hover {
    background: firebrick;
}

.pcbr {
    display: block;
}

.spbr {
    display: none;
}

/***
 * 追加
 */
 
.figure2024 {
	width: 180px;
	line-height:1.4;
}

.figure2024 > figcaption > span {
	font-size: 0.7em;
}

/** ======================================================
 * 
【タブレットレイアウト】iPad mini
 * 
**/
@media screen and (max-width: 801px) {
    .container {
        padding-bottom: 200px; /* .footer-area の高さ + α */
        padding-top: 110px;
        background: url(../img/bg.png) repeat-x 0 0;
    }

    header .logo {
        padding: 0.5rem 2rem;
    }
    /** --------------------
     * サブメニュー
     */
    .sub-menu {
        position: absolute;
        top: 10px;
        right: 80px;
    }

    .sub-menu .flex {
        flex-direction: column;
    }

    .sub-menu .sns {
        display: none;
    }

    /** --------------------
     * メインメニュー
     */
    .main-menu {
        display: none;
    }

    /** --------------------
     * ハンバーガーメニュー
     */
     .hamburger-menu {
        position: fixed;
        top: 10px;
        right: 10px;
        display: flex;
        height: 60px;
        width: 60px;
        justify-content: center;
        align-items: center;
        z-index: 90;
        background-color: #444;
    }
    /* .hamburger-menu::after {
        content: "MENU";
        color: #222;
        position: relative;
        top: 45px;
    } */
    .hamburger-menu span,
    .hamburger-menu span:before,
    .hamburger-menu span:after {
        content: '';
        display: block;
        height: 3px;
        width: 25px;
        border-radius: 3px;
        background-color: #ffffff;
        position: absolute;
    }
    .hamburger-menu span:before {
        bottom: 8px;
    }
    .hamburger-menu span:after {
        top: 8px;
    }

    .menu-btn-check {
        display: none;
    }

    .menu-btn-check:checked ~ .hamburger-menu span {
        background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
    }
    .menu-btn-check:checked ~ .hamburger-menu span::before {
        bottom: 0;
        transform: rotate(45deg);
    }
    .menu-btn-check:checked ~ .hamburger-menu span::after {
        top: 0;
        transform: rotate(-45deg);
    }

    .menu-btn-check:checked ~ .main-menu {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 80;
        display: block;
    }

    /* メインメニューを上下中心に配置するために必要：展開している時だけ */
    /* .menu-btn-check:checked ~ .menu-container {
        height: 100%;
    }  */

    /** --------------------
     * メインメニュー
     */
    .main-menu > ul {
        max-width: 90%;
        height: 100%;
        margin: auto;
        /* flex box */
        justify-content: center;
        align-content: center;
    }
    .main-menu li {
        flex-grow: inherit;
        width: 140px;
        border: 1px solid #fff;
        margin: 0 1rem 1rem 0;
    }
    .main-menu a {
        font-size: 1.1rem;
        padding: 4rem 0;
        transition: none;
    }
    /* カレントページをメニューで強調 */
    /* .main-menu li[data-activity="true"] {
        box-shadow: none;
        border-color: red;
    } */

    /* ドロップダウンメニュー：ホーバー無効 */
    .menu-item9:hover > ul {
        display: none;
    }

    /** --------------------
     * パンくずリスト
     */
    .breadcrumb {
        max-width: 100%;
        padding: 0 2rem;
        /* display: none; */
    }

    /** --------------------
     * コンテンツ
     */
    .normal_column {
        margin: 1rem 2rem;
    }

    h1 {
        padding: 1.5rem 0 2.5rem;
    }

    /* トップへ戻る */
    .return2top {
        padding: 2rem 2rem 0;
        text-align: right;
    }
        
    /** --------------------
     * フッタ
     */
}

/** ======================================================
 * 
【スマートフォンレイアウト】
 * 
**/
@media screen and (max-width: 541px) {
    .container {
        padding-bottom: 260px; /* .footer-area の高さ + α */
        padding-top: 100px;
        background: url(../img/bg.png) repeat-x 0 0;
    }

    header .logo {
        padding: 0.5rem 1rem;
    }

    /** --------------------
     * ロゴ
     */
     .logo-area .logo img {
        max-width: 70%;
        height: auto;
    }
    /** --------------------
     * サブメニュー
     */
     .sub-menu {
         display: none;
    }

    /** --------------------
     * メインメニュー
     */
     .main-menu > ul {
        max-width: 90%;
    }

    .main-menu li {
        max-width: 100px;
        margin: 0 0.5rem 0.5rem 0;
    }

    .main-menu li a {
        font-size: 0.8rem;
    }

    .main-menu a {
        font-size: 1.1rem;
        padding: 2.5rem 0;
    }

    /* ドロップダウンメニュー：ホーバー無効 */
    .menu-item9:hover > ul {
        display: none;
    }

    /** --------------------
     * コンテンツ
     */

    h1 {
        padding: 2.5rem 0 2rem;
    }

    /** --------------------
     * フッタ
     */
    
    footer {
        margin-top: -220px; /* footer の高さと同じに */
        height: 220px;
    }

    /* スマフォ用：グローバルメニュー */
    .g-menu {
        display: block;
        margin-top: 1rem;
    }

    .g-menu .flex {
        justify-content: center;
    }

    .g-menu li {
        line-height: 1;
        padding-left: 0;
    }
    
    .g-menu li::before {
        content: "\025B8";
        vertical-align: calc(-5% * 3);
        font-size: 1.5em;
        color: #aaa;
    }

    .g-menu li a {
        text-decoration: none;
        color: #aaa;
        font-size: 1.2rem;
    }

    .copy {
        font-size: 1rem;
        padding: 0.5rem 0;
    }

    /*  */
    .pcbr {
        display: none;
    }
    
    .spbr {
        display: block;
    }
	
	
	/***
	 * 追加
	 */
	 
	.figure2024 {
		width: 90%;
		text-align:center;
	}
}