@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* ======================================================
基本の設定はHP共通の設定を使用してイレギュラー部分のみ追記
・カテゴリートップにサイドメニュー表示
・見出し用アイコン
・本文内の画像配置、罫線など
====================================================== */

.noAside #mainContainer {
    min-width: 300px;
}

.addressAccordion div section.formSection{
    background: #f6f6f6;
    padding: 20px;
    border-radius: 20px;
    margin: 20px 0;
}

#iframe-wrapper{
	width:100%;
	height:2400px;
}
#iframe-contact{
	width:100%;
	height:100%;
}

.addressAccordion {
    width: 90%;
    margin: 1.5em auto 0;
    border: 5px solid #96ba8f;
    border-radius: 10px;
    font-family: "Noto Sans JP", sans-serif;
}

.addressAccordion summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    color: #333333;
    font-weight: 600;
    font-size: 1.3em;
    cursor: pointer;
}

.addressAccordion summary::-webkit-details-marker {
    display: none;
}

.addressAccordion summary::before,
.addressAccordion summary::after {
    position: absolute;
    right: calc(2em + 2.5px);
    width: 0.25em;
    height: 1.5em;
    border-radius: 5px;
    background-color: #307246;
    content: '';
}

.addressAccordion summary::before {
    rotate: 90deg;
}

.addressAccordion summary::after {
    transition: rotate .3s;
}

.addressAccordion[open] summary::after {
    rotate: 90deg;
}

.addressAccordion summary h2 {
    width: 87.5%;
    line-height: 1.5em;
    font-size: 1.2em;
}

.addressAccordion div {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 0 30px;
    color: #333333;
}

.addressAccordion[open] div {
    transform: none;
    opacity: 1;
}

.addressAccordion:not([open]) div {
    transform: translateY(-10px);
    opacity: 0;
}

.addressAccordion div section{
    border-bottom: 3px solid #c1e0cf;
    padding-bottom: 30px;
}
.addressAccordion div section:last-child{
    border-bottom: 0px;
    padding-bottom: 20px;
}

.addressAccordion div section dl,
.addressAccordion div section .box{
    margin: 20px 0;
    background-color: #F4F5F7;
    padding: 20px;
    border-radius: 10px;
}
.addressAccordion div section dl:last-child,
.addressAccordion div section .box:last-child{
    margin: 0;
}

.addressAccordion div section dl dt,
.addressAccordion div section .box .boxTitle{
    font-size: 1.4em;
    margin-left: 20px;
    line-height: 1.25em;
}

.addressAccordion div section dl dt span,
.addressAccordion div section .box .boxTitle span {
    display: flex;
    align-items: baseline;
}

.addressAccordion div section dl dt span::before,
.addressAccordion div section .box .boxTitle span::before {
    display: inline-block;
    width: 25px;
    content: "\f111";
    color: #307246;
    font-family: "Font Awesome";
    margin-right: 2.5px;
}

.addressAccordion div section dl dd,
.addressAccordion div section .box .boxData{
    font-size: 1.2em;
    margin:15px 0 2.5px 50px;
}

.addressAccordion div section .box .boxData:first-child{
    margin-top:2.5px;
}

.addressAccordion div section > p{
    font-size: 1.2em;
    margin-top: 15px;
}

.addressAccordion div section dl dd a,
.addressAccordion div section .box a{
    text-decoration: underline;
    color: #333333;
}

.addressAccordion summary .addressAccordionIcon,
.addressAccordion div section .addressAccordionIcon{
    position: relative;
    padding-left: 2.25em; 
}

.addressAccordion summary .addressAccordionIcon:before,
.addressAccordion div section .addressAccordionIcon:before{
    content: '';
    display: block;
    width: 1.5em; 
    height: 1.5em; 
    background-size: contain;
    background-repeat:no-repeat;
    position:absolute;
    top:0;
    left:0;
    bottom:0;
    margin:auto;
}
.addressAccordion summary .addressAccordionIcon.iconCompany:before,
.addressAccordion div section .addressAccordionIcon.iconCompany:before{
    background-image: url(../img/iconCompany.png);
}
.addressAccordion summary .addressAccordionIcon.iconHotel:before,
.addressAccordion div section .addressAccordionIcon.iconHotel:before{
    background-image: url(../img/iconHotel.png);
}
.addressAccordion summary .addressAccordionIcon.iconIr:before,
.addressAccordion div section .addressAccordionIcon.iconIr:before{
    background-image: url(../img/iconIr.png);
}
.addressAccordion summary .addressAccordionIcon.iconLife:before,
.addressAccordion div section .addressAccordionIcon.iconLife:before{
    background-image: url(../img/iconLife.png);
}
.addressAccordion summary .addressAccordionIcon.iconMail:before,
.addressAccordion div section .addressAccordionIcon.iconMail:before{
    background-image: url(../img/iconMail.png);
}
.addressAccordion summary .addressAccordionIcon.iconMember:before,
.addressAccordion div section .addressAccordionIcon.iconMember:before{
    background-image: url(../img/iconMember.png);
}
.addressAccordion summary .addressAccordionIcon.iconTell:before,
.addressAccordion div section .addressAccordionIcon.iconTell:before{
    background-image: url(../img/iconTell.png);
}

/*===============
PC用調整
================*/
@media only screen and (min-width: 1122px),
print {
    .addressAccordion summary h2 {
        user-select: none;
    }
    
}

/*===============
タブレット用調整
================*/
@media only screen and (min-width: 768px) and (max-width: 1121px),
print {
    .addressAccordion summary h2 {
        user-select: none;
    }
}

/*===============
スマホ用調整
================*/
@media only screen and (max-width: 767px) {

    .addressAccordion div section.formSection{
        padding: 20px 0px;
        border-radius: 20px;
        margin: 20px 0;
    }
    
    .addressAccordion div section.formSection .heading02{
        margin: 0 10px;
    }
    .addressAccordion div section.formSection > p{
        margin: 0 10px;
    }

    #iframe-wrapper{
		height:3100px;
        padding: 0px;
	}

    .addressAccordion {
        width: 100%;
    }

    .addressAccordion div{
        padding: 0 10px;
    }

    .addressAccordion div section{
        padding-bottom: 20px;
    }

    .addressAccordion div section dl,
    .addressAccordion div section .box{
        padding: 20px 10px;
    }

    .addressAccordion div section dl dt,
    .addressAccordion div section .box .boxTitle{
        font-size: 1.3em;
        margin-left: 5px;
    }
    
    .addressAccordion div section dl dt span::before,
    .addressAccordion div section .box .boxTitle span::before {
        width: 20px;
        min-width: 20px;
        margin-right: 5px;
    }

    .addressAccordion div section dl dd,
    .addressAccordion div section .box .boxData{
        font-size: 1.1em;
        margin: 15px 0 2.5px 30px;
    }

    .addressAccordion div section > p {
        font-size: 1.1em;
        margin-left: 10px;
    }
}

