@charset "utf-8";
/* CSS Document */

/* 汎用 */
.btnType1{
    display: inline-block;
    padding-left: 1.2em;
    background:url(../img/common/arrow_right_b.svg) no-repeat center left;
    background-size: auto 0.8em;
    text-decoration: none;
}

.btnType2,
.wp-block-button__link{
    display: block;
    background:url(../img/common/arrow_right_w.svg) no-repeat center left 0.8em var(--color2);
    background-size: auto 0.9em;
    color: #FFF !important;
    padding: 0.4em 1em 0.5em 2em;
    text-decoration: none;
    width: fit-content;
    border-radius: 0.2em;
    font-size: 2.2rem;
    line-height: 1.2;
}

.hType1{
	font-weight: 900;
	font-size: 4.5rem;
	line-height: 1.2;
    margin-bottom: 3rem;
}

.tableType1 td{
	display:block;
	border-color:var(--color2);
}

.tableType1 tr>td:first-child{
	background-color:var(--color2);
	color:#FFF;
	border:none;
	font-weight:bold;
}


/* テンプレート */
.editorArea h2{
    font-weight: 900;
    font-size: 3.4rem;
    display: grid;
    grid-template-columns: auto minmax(2em, 1fr);
    align-items: center;
    gap: 0.5em;
    width: 100%;
    line-height: 1.4;
    margin-bottom: 2rem;
    margin-top: 5rem;
    &:after{
        content: "";
        display: block;
        border-bottom: solid 0.4rem var(--color2);
    }

    &:first-child{
        margin-top: 0;
    }
    
}

.editorArea h3{
    font-weight: 900;
    font-size: 2.8rem;
    width: fit-content;
    border-bottom: dotted 0.4rem var(--color2);
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    margin-top: 5rem;
    line-height: 1.4;
    &:first-child{
        margin-top: 0;
    }
}

.editorArea h4{
    color: var(--color2);
    font-weight: 500;
    margin-bottom: 2rem;
    margin-top: 2rem;
    &:first-child{
        margin-top: 0;
    }
}

.editorArea ul{
    margin-bottom: 2rem;
    margin-left: 1em;
}

.editorArea ul li{
    list-style-type: disc;
    line-height: 1.4;
    &:not(:last-child){
        margin-bottom: 0.5em;
    }
}

.editorArea ol{
    margin-bottom: 2rem;
    margin-left: 1em;
}

.editorArea ol li{
    list-style-type: decimal;
    line-height: 1.4;
    &:not(:last-child){
        margin-bottom: 0.5em;
    }
}

.editorArea{
	.wp-block-buttons:not(:last-child),
	.wp-block-table:not(:last-child),
	p:not(:last-child),
	.wp-block-image:not(:last-child)
	{
		margin-bottom:2em;
	}
}


/* ヘッダ */
header{
    height: 10rem;
}

.header__topLogo{
    width: 20rem;
    box-sizing: border-box;
    padding: 2rem;
    background-color: #FFF;
    border-radius: 0 0 1rem 0;
    position: absolute;
	z-index:10;
    img{
        width: 100%;
    }
}

.header__topUnderLogo{
    display: flex;
    position: static;
    align-items: center;
    height: 10rem;
    padding-left: var(--section-side);
    z-index: 115;
    & img{
        height: 8rem;
        width: min(50vw,400px);
        object-fit: contain;
    }
}

#TOP .header__topUnderLogo{
    display: none;
}

.header__navBtn{
    height: 10rem;
    width: 10rem;
    box-sizing: border-box;
    position: fixed;
    right: 0;
    top: 0;
    padding: 3rem 2.5rem;
    background-color: #FFF;
    cursor: pointer;
    z-index: 100;
}

.header__navBtn__inner{
    position: relative;
    height: 4rem;
    border-top: solid 2px var(--color2);
    &:before{
        border-top: solid 2px var(--color2);
        position: absolute;
        bottom: 50%;
        left: 0;
        display: block;
        content: "";
        width: 70%;
        transition: width 200ms ease-out;
    }
    &:after{
        border-top: solid 2px var(--color2);
        position: absolute;
        bottom: 0;
        left: 0;
        display: block;
        content: "";
        width: 40%;
        transition: width 200ms ease-out;
    }
}

.header__navBtn:hover .header__navBtn__inner{
    &:before{
        width: 100%;
    }
    &:after{
        width: 100%;
    }
}


.header__nav{
    background-color: var(--color2);
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    min-height: 100%;
    box-sizing: border-box;
    z-index: 110;
    transform: translateX(100%);
    transition: transform 200ms ease-out;
    overflow: auto;
    overscroll-behavior: contain;
}

.navOpen .header__nav{
    display: block;
    transform: translateX(0);
}

ul.header__nav__list{
    padding: 3rem;
    text-align: left;
}

ul.header__nav__list li{
    padding-bottom: 2rem;
}

ul.header__nav__list li a{
    color: #FFF;
    text-decoration: none;
    font-weight: 800;
    font-size: 2.8rem;
}

ul.header__nav__list li a .key{
    display: none;
}

.navBtnClose{
    height: 10rem;
    width: 10rem;
    box-sizing: border-box;
    padding: 3rem 2.5rem;
    cursor: pointer;
    margin-left: auto;
 }

/* コンテンツ領域コンテナ */
main{
    padding-bottom: 10rem;
}
.lowPageHeader{
    padding: 2rem 0 4rem;
    text-align: center;
}

.lowPageHeader__inner{
    font-weight: 900;
    font-size: 3.8rem;
    color: var(--color2);
    position: relative;
    padding-bottom: 0.2em;
    &:after{
        content: "";
        display: block;
        width: 2em;
        height: 0;
        border-bottom: dotted 0.4rem #333;
        position: absolute;
        bottom: 0;
        left: calc(50% - 1em);
    }
}

.lowInner{
    padding: 0 var(--section-side);
}

/* フッター */
.footer{
    background:url(../img/common/footer_bg.png) no-repeat right bottom var(--color2);
    background-size: auto 100%;
    overflow: hidden;
    padding: var(--section-bottom) var(--section-side);
}

.footer__logo{
    padding-bottom:1.5rem;
    margin-bottom: 1rem;
    position: relative;
    width: fit-content;
    img{
        width: 60vw;
    }
    &:after{
        content: "";
        width: 100vw;
        height: 0;
        border-bottom: dotted 0.4rem #FFF;
        display: block;
        position: absolute;
        bottom: 0;
        right: 0;
    }
}

.footer__address{
    color: #FFF;
    margin-bottom: var(--section-bottom);
    address{
        font-style: normal;
    }
}

.footer__copy{
    color: #FFF;
    font-size: 1.6rem;
    text-align: right;
}