/*
A Modern CSS Reset
https://coliss.com/articles/build-websites/operation/css/css-reset-for-modern-browser.html
*/
*,*::before,*::after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role='list'],ol[role='list']{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}

/*
default
*/
ul,ol{
    margin:0;
    padding:0;
}
a{
    text-decoration: none;
}
input,textarea,select,button{
    padding: 0;
    border: none;
    border-radius: 0;
    outline: none;
    background: none;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
input,
textarea{
    background-color: transparent;
    border: solid 1px #ddd;
    border-radius: 4px;
    padding: 16px;
    color: #454545;
    font-size: 16px;
    line-height: 1em;
}
textarea{
    line-height: 1.5em;
}
input[type="submit"],
input[type="button"],
button,
select{
    cursor: pointer;
}
input:focus,
textarea:focus,
button:focus,
select:focus{
    border-color: #b59618;
}
input[type="submit"],
input[type="button"],
button{
    border: none;
    background-color: #b59618;
    color: #fff;
    font-weight: 700;
}
select{
    background-color: transparent;
    border: solid 1px #ddd;
    border-radius: 4px;
    padding: 16px 24px 16px 16px;
    color: #454545;
    font-size: 16px;
    line-height: 1em;
    background: #fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 16px top 55%;
    background-size: 16px 16px;
}

/*
font-family
https://ics.media/entry/200317/
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
https://willcloud.jp/knowhow/font-family/#font-family-4
    font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
*/
body{
    font-family: "Noto Serif JP","Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	font-size: 14px;
    color: #454545;
    background-color: #fffffc;
}


/*
container
*/
.wrapper{
    position: relative;
    width:100%;
    max-width:960px;
    margin:0 auto;
    background: #fff;
    border: none;
    box-shadow: none;
}
@media(min-width:960px){
    .wrapper{
        box-shadow: -2px 0px 4px 0px rgba(181, 150, 24, 0.1), 2px 0px 4px 0px rgba(181, 150, 24, 0.1);

        border-style: solid;
        border-image: linear-gradient(180deg,rgba(181, 150, 24, 0) 20%,rgba(181, 150, 24, 0.2) 100%) 1 / 0 1px;
    }
}


/*
header
*/
#header{
    display: flex;
    flex-direction: raw;
    justify-content: center;
}
#header .logo,
#header>h1{
    display: block;
    width:100%;
    max-width:573px;
    height:auto;
    margin:40px 28px clamp(10px,2.67vw,45px);
}
#header>h1>.logo{
    margin: 0;
}
#header .contact{
    display: none;
    padding: 6px 16px;
    justify-content: center;
    align-items: center;
    align-self: flex-start;
    border-radius: 0 0 4px 4px;
    border: 2px solid #DAB210;
    border-right: 2px solid #DAB210;
    border-bottom: 2px solid #DAB210;
    border-left: 2px solid #DAB210;
    background: linear-gradient(180deg, rgba(218, 178, 16, 0.50) 0%, rgba(218, 178, 16, 0.20) 60%);
    box-shadow: 0px 2px 4px 0px rgba(181, 150, 24, 0.20);
}
#header .contact>span{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #b59618;
    font-size: 16px;
    font-weight: 500;
}
#header .contact>span::before{
    display: inline-block;
    content: '';
    width: 24px;
    height: 18px;
    background: url(img/icon_envelope-solid.svg) center center / cover no-repeat;
}
#header .contact:hover{
    background: linear-gradient(180deg, rgba(218, 178, 16, 0.50) 0%, rgba(218, 178, 16, 0.20) 100%);
    box-shadow: 0px 2px 4px 0px rgba(181, 150, 24, 0.40);
}

@media(min-width:960px){
    #header{
        justify-content: space-between;
    }
    #header .logo,
    #header>h1{
        margin:30px 85px 45px;
    }
    #header>h1>.logo{
        margin: 0;
    }
    #header .contact{
        display: inline-flex;
    }
}


/*
menu
*/
.menu-button-container{
    position: fixed;
    top: 4px;
    right: 4px;
    z-index: 888;
    display: flex;
    justify-content: flex-end;
    width: 100%;
    background-color: none;
}
.menubtn{
    display: inline-flex;
    padding: 4px 16px;
    justify-content: center;
    align-items: center;
    align-self: flex-start;
    border-radius: 4px;
    border: 2px solid #DAB210;
    background: linear-gradient(180deg, #ecd887 0%, #f8f0cf 60%);
    box-shadow: 0px 2px 4px 0px rgba(181, 150, 24, 0.20);
}
.menubtn>span{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #b59618;
    font-size: 16px;
    font-weight: 500;
}
.menubtn>span::before{
    display: inline-block;
    content: '';
    width: 14px;
    height: 16px;
    background: url(img/icon_bars-solid.svg) center center / cover no-repeat;
}
.closebtn{
    display: inline-flex;
    justify-content: flex-end;
    padding: 6px 16px;
    background-color: #fff;
}
.closebtn>span{
    display: inline-flex;
    align-items: center;
    color: #b59618;
    font-size: 16px;
    font-weight: 500;
}
.closebtn>span::before{
    display: inline-block;
    content: '';
    width: 24px;
    height: 18px;
    background: url(img/icon_xmark-solid.svg) center center / contain no-repeat;
}

/*
menu-toggle
*/
#menu-toggle {
    display: none;
}
#menu-toggle ~ #nav,
#menu-toggle:checked ~ .menu-button-container .menubtn,
#menu-toggle ~ .menu-button-container .closebtn{
    display: none;
}
#menu-toggle:checked ~ #nav,
#menu-toggle ~ .menu-button-container .menubtn,
#menu-toggle:checked ~ .menu-button-container .closebtn{
    display: block;
}
#menu-toggle ~ .menu-button-container{
    background-color: none;
}
#menu-toggle:checked ~ .menu-button-container{
    background-color: #fff;
}

@media(min-width:960px){
    #menu-toggle ~ #nav{
        display: block;
    }
    .menu-button-container{
        display:none;
    }
}

/*
nav
*/
#nav{
    position: fixed;
    top: 30px;
    right: 0;
    z-index: 999;
    width:100%;
    height: 100vh;
    background-color: rgba(181,150,24,0.8);
    overflow-y:auto;
}
#nav ul.gnavi{
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0;
    border-style: none;
    border-image: none;
    border-top: solid 1px #b59618;
    background-color: #fff;
}
#nav ul.gnavi>li{
    display: block;
    width:100%;
    border-bottom: solid 1px #b59618;
}
#nav ul.gnavi>li>a{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 64px;
    padding: 0 1em;
    font-size: 16px;
}
#nav ul.gnavi>li>a:hover{
    color:#b59618;
    transition: .4s;
}
#nav ul.gnavi>li>a.current{
    color:#b59618;
    pointer-events: none;
}
#nav ul.gnavi>li.privacy,
#nav ul.gnavi>li.contact{
    display: block;
}
#nav ul.gnavi>li.contact{
    padding: 10px 16px;
    justify-content: center;
    align-items: center;
    align-self: center;
    border-radius: 4px;
    border: 2px solid #DAB210;
    background: linear-gradient(180deg, rgba(218, 178, 16, 0.50) 0%, rgba(218, 178, 16, 0.20) 60%);
    box-shadow: 0px 2px 4px 0px rgba(181, 150, 24, 0.20);
    width:auto;
    height:auto;
    margin:40px 0;
}
#nav ul.gnavi>li.contact>a{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #b59618;
    font-size: 16px;
    font-weight: 500;
    height: auto;
}
#nav ul.gnavi>li.contact>a::before{
    display: inline-block;
    content: '';
    width: 24px;
    height: 18px;
    background: url(img/icon_envelope-solid.svg) center center / cover no-repeat;
}

@media(min-width:960px){
    #nav{
        position: static;
        height:auto;
    }
    #nav .closebtn{
        display: none;
    }
    #nav ul.gnavi{
        flex-direction: row;
        gap: 4em;
        border-style: solid;
        border-image: linear-gradient(90deg,#fff,#f0ead1,#fff) 1 / 1px 0 0;
        border-top: none;
    }
    #nav ul.gnavi>li{
        width:auto;
        border: none;
    }
    #nav ul.gnavi>li>a{
        width:auto;
        justify-content: center;
        padding: 0 0.5em;
    }
    #nav ul.gnavi>li.privacy,
    #nav ul.gnavi>li.contact{
        display: none;
    }
}


/*
footer
*/
#footer{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-top: 60px;
    padding:30px 10px 10px;
    border-style: solid;
    border-image: linear-gradient(90deg,#fff,#f0ead1,#fff) 1 / 1px 0 0;
}
#footer ul.navi>li{
    display:inline-block;
}
#footer ul.navi>li::after{
    display:inline-block;
    content:"|";
    margin-left:0.5em;
}
#footer ul.navi>li:last-child::after{
    display:none;
}
#footer ul.navi>li>a:hover{
    text-decoration:underline;
}
#footer .logo{
    display: block;
    width:100%;
    max-width:240px;
    height:auto;
}




/*
--------------------------------
home
--------------------------------
*/
.home .hero{
    position: relative;
    display: flex;
    justify-content: center;
    padding-top: 40px;
    width: 100%;
    background-color: #3F4033;
}
.home .hero>.logo{
    position: absolute;
    top: 170px;
    z-index:20;
    width: 98%;
    height: auto;
    opacity: 0;
    animation: showLogo 3s ease-out forwards;
    animation-delay: 1s;
}
@keyframes showLogo {
    0% {
      opacity: 0;
      transform: translateY(-15px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
}
.home .hero>.lead{
    position: absolute;
    top: 0;
    z-index: 10;
    display: block;
    width: 100%;
    padding: 6px 0;
    background-color: #3F4033;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.8em;
    text-align: center;
    text-shadow: 0px 0px 10px rgba(255, 255, 255, 1);
}
.home .hero>.lead>span{
    display: inline-block;
}
.home .hero>img{
    position: relative;
    width: 100%;
    height: auto;
}
@media(min-width:960px){
    .home .hero{
        padding-top: 0;
    }.home .hero>.logo{
        top:295px;
    }
    .home .hero>.lead{
        padding-top: 36px;
        font-size: 16px;
        background-color: transparent;
    }
}
.home .box{
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    padding: 10px;
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(img/bg_5.jpg);
}
.home .box>.panel{
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    gap: 24px;
    padding: 20px 10px;
    color: #754533;
}
.home .box>.panel>h2{
    font-size: clamp(18px,5vw,20px);
    font-weight: 500;
    padding-bottom: 8px;
    border-style: solid;
    border-image: linear-gradient(90deg,rgba(181,150,24,0),#b59618,rgba(181,150,24,0)) 1 / 0 0 1px;
}
.wbr{
    display: inline-block;
}
.home .box>.panel>.paragraph{
    font-size: 16px;
    line-height: 1.8em;
    text-align: center;
}
.home .conceptmovie{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 12px 0;
}
.home .conceptmovie>h3{
    font-size: 18px;
    font-weight: 500;
}
.home .conceptmovie>a{
    display: block;
    width: 300px;
    height: 200px;
    border-radius: 10px;
    border:solid #fff 3px;
    background:transparent url(img/thumb_conceptmovie.png) center center / cover no-repeat;
}
.home .conceptmovie>a:hover{
    opacity: .8;
    transition: .4s;
}
.home .conceptmovie>a>span{
    display: none;
}

.home .features{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    list-style: none;
}
.home .features>li>a{
    display: block;
    width: 240px;
    height: 160px;
    padding-top: 15px;
    border-radius: 10px;
    border: solid 2px #b59618;
    color: #fff;
    font-weight: 500;
    text-align: center;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
.home .features>li>a.feature1{background-image: url(img/thumb_feature1.png);}
.home .features>li>a.feature2{background-image: url(img/thumb_feature2.png);}
.home .features>li>a.feature3{background-image: url(img/thumb_feature3.png);}
.home .features>li>a:hover{
    opacity: .8;
    transition: .4s;
}
@media(min-width:960px){
    .home .box>.panel{
        padding: 60px;
    }
    .home .conceptmovie{
        padding-bottom: 20px;
    }
    .home .features{
        flex-direction: row;
    }
}
.home .pane{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-top: 60px;
}
.home .pane>h2{
    color: #b59618;
    font-size: 20px;
    font-weight: 500;
    padding-bottom: 8px;
    border-style: solid;
    border-image: linear-gradient(90deg,rgba(181,150,24,0),#b59618,rgba(181,150,24,0)) 1 / 0 0 1px;
}
.home .cta{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    gap: 30px;
    padding: 30px 20px;
    border-radius: 0;
    background-color: #FBF7E7;
}
.home .cta .contact{
    display: flex;
    padding: 10px 16px;
    justify-content: center;
    align-items: center;
    align-self: center;
    border-radius: 4px;
    border: 2px solid #DAB210;
    background: linear-gradient(180deg, rgba(218, 178, 16, 0.50) 0%, rgba(218, 178, 16, 0.20) 60%);
    box-shadow: 0px 2px 4px 0px rgba(181, 150, 24, 0.20);
}
.home .cta .contact>span{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #b59618;
    font-size: 16px;
    font-weight: 500;
}
.home .cta .contact>span::before{
    display: inline-block;
    content: '';
    width: 24px;
    height: 18px;
    background: url(img/icon_envelope-solid.svg) center center / cover no-repeat;
}
.home .cta .contact:hover{
    background: linear-gradient(180deg, rgba(218, 178, 16, 0.50) 0%, rgba(218, 178, 16, 0.20) 100%);
    box-shadow: 0px 2px 4px 0px rgba(181, 150, 24, 0.40);
}
@media(min-width:960px){
    .home .cta{
        flex-direction: row;
        margin: 0 60px;
        border-radius: 10px;
    }
}
.home .partners{
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
    padding:12px 20px 40px;
    list-style: none;
}
.home .partners>li{
    display: flex;
    flex-direction: column;
    gap: 0;
}
.home .partners>li>a{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}
.home .partners>li>a:hover{
    opacity:.6;
    transition: .4s;
}
.home .partners>li>a>img{
    width: 100%;
    max-width: 240px;
    height: 60px;
    object-fit: contain;
}
.home .partners>li>a>span{
    font-size: 12px;
}
@media(min-width:960px){
    .home .partners{
        flex-direction: row;
    }
}
.home .news{
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding:12px 20px;
    list-style: none;
}
.home .news>li{
    display: flex;
    flex-direction: column;
    gap: 0;
}
.home .news>li>a{
    text-decoration: underline;
}
.home .news>li>a:hover{
    text-decoration: none;
}
@media(min-width:960px){
    .home .news>li{
        flex-direction: row;
        gap: 1em;
    }
}



/*
--------------------------------
pages
--------------------------------
*/

.pages h1{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 150px;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
}
.pages.plan h1{background-image: url(img/title_bg_5.jpg);}
.pages.songs h1{background-image: url(img/title_bg_9.jpg);}
.pages.procedure h1{background-image: url(img/title_bg_4.jpg);}
.pages.profile h1{background-image: url(img/title_bg_1.jpg);}
.pages.contact h1{background-image: url(img/title_bg_3.jpg);}
.pages.policy h1{background-image: url(img/title_bg_2.jpg);}

.pages .box{
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    padding: 10px;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
.pages.plan .box{background-image: url(img/bg_5.jpg);}
.pages.songs .box{background-image: url(img/bg_9.jpg);}
.pages.procedure .box{background-image: url(img/bg_4.jpg);}
.pages.profile .box{background-image: url(img/bg_1.jpg);}
.pages.contact .box{background-image: url(img/bg_3.jpg);}
.pages.policy .box{background-image: url(img/bg_2.jpg);}

.pages .box>.panel{
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    gap: 10px;
    padding: 20px 10px;
    background-color: #fff;
}
.pages .box>.panel>h2{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    padding: 10px 20px;
    border-radius: 5px;
    background-color: #f7f4e7;
    color: #B59618;
    font-size: 20px;
    font-weight: 700;
}
.pages .box>.panel>.paragraph{
    width: 100%;
    padding: 10px;
    line-height: 1.5em;
}
.pages .box>.panel>.paragraph>h3{
    font-size: 14px;
    font-weight: 700;
}
.pages .btn{
    display: block;
    padding: 6px 36px;
    border-radius: 4px;
    background-color: #B59618;
    color: #fff;
}
.pages .btn:hover{
    background-color: #c4ab46;
    transition: .4s;
}
@media(min-width:960px){
    .pages .box{
        gap: 30px;
        padding: 30px 60px;
    }
    .pages .box>.panel{
        padding: 30px;
    }
    .pages .box>.panel>.paragraph{
        padding: 20px;
    }
}
.pages .cta{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    gap: 30px;
    padding: 30px 20px;
    margin-top: 120px;
    border-radius: 0;
    background-color: #FBF7E7;
}
.pages .cta .contact{
    display: flex;
    padding: 10px 16px;
    justify-content: center;
    align-items: center;
    align-self: center;
    border-radius: 4px;
    border: 2px solid #DAB210;
    background: linear-gradient(180deg, rgba(218, 178, 16, 0.50) 0%, rgba(218, 178, 16, 0.20) 60%);
    box-shadow: 0px 2px 4px 0px rgba(181, 150, 24, 0.20);
}
.pages .cta .contact>span{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #b59618;
    font-size: 16px;
    font-weight: 500;
}
.pages .cta .contact>span::before{
    display: inline-block;
    content: '';
    width: 24px;
    height: 18px;
    background: url(img/icon_envelope-solid.svg) center center / cover no-repeat;
}
.pages .cta .contact:hover{
    background: linear-gradient(180deg, rgba(218, 178, 16, 0.50) 0%, rgba(218, 178, 16, 0.20) 100%);
    box-shadow: 0px 2px 4px 0px rgba(181, 150, 24, 0.40);
}
@media(min-width:960px){
    .pages .cta{
        flex-direction: row;
        margin: 180px 60px 60px;
        border-radius: 10px;
    }
}


/*
tab
*/
.tab-wrap{
    display: flex;
    flex-wrap: wrap;
}
.tab-label{
    order: -1;
}
.tab-content{
    width: 100%;
    display: none;
}
.tab-switch:checked + .tab-label {
    position: relative;
    background: #fff;
}
.tab-switch:checked + .tab-label::after{
    position: absolute;
    display: block;
    width: 100%;
    bottom: -1px;
    left: 0;
    content: "";
    border-bottom:solid 1px #fff;
}

.tab-switch:checked + .tab-label + .tab-content {
    display: flex;
}
.tab-switch {
    display: none;
}


/*
plan
*/
.plan.pages h1{
    color: #454545;
} 
.plan .hero{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 20px;
}
.plan .hero a{
    text-decoration: underline;
}
@media(min-width:960px){
    .plan .hero{
        flex-direction: row;
        padding: 30px 60px;
    }
}
.plan .planswrap{
    gap: 1px;
}
.plan .categorytitle{
    order: -10;
    width: 100%;
    padding: 8px 16px;
    background-color: #fff;
    color: #b59618;
    text-align: center;
    font-weight: 700;
}
.plan .plantitle{
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 33%;
    padding: 16px;
    background-color: rgba(255,255,255,0.9);
}
.plan .plantitle:hover{
    cursor: pointer;
}
.plan .plantitle>h2{
    align-self: center;
    color: #b59618;
    font-size: 20px;
    font-weight: 700;

}
.plan .plantitle>p{
    text-align: left;
}
.plan .planpanel{
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    gap: 10px;
    padding: 20px 10px;
    background-color: #fff;
}
.plan .planpanel>.heading{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    padding: 10px 20px;
    border-radius: 5px;
    background-color: #f7f4e7;
    line-height: 1.2em;
}
.plan .planpanel>.heading>h3{
    color: #B59618;
    font-size:14px;
    font-weight: 700;
}
.plan .songbox{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: stretch;
    gap: 10px;
    padding: 20px;
}
.plan .songbox>.songpane{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-self: stretch;
    gap: 10px;
}
.plan .songbox>.songpane>.icon{
    align-self: flex-start;
    width: 50px;
    padding: 2px 8px;
    border-radius: 2px;
    text-align: center;
}
.plan .songbox>.songpane.song>.icon{
    font-size: 11px;
    background-color: #dab210;
    color: #fff;
}
.plan .songbox>.songpane.alternative>.icon{
    font-size: 10px;
    background-color: #fff;
    color: #b59618;
    border: solid 1px #b59618;
}
.plan .songbox>.songpane>.txt{
    display: inline-block;
    width: calc(100% - 60px);
}
.plan .songbox>.songpane>.txt.note{
    margin-left: 60px;
}
.plan .songbox>.songpane.alternative>.txt{
    font-size: 11px;
}
@media(min-width:960px){
    .plan .plantitle>p{
        text-align: center;
    }
    .plan .planpanel{
        padding:30px 120px 60px;
    }
    .plan .planpanel>.heading{
        flex-direction: row;
        justify-content: flex-start;
        padding: 20px 30px;
    }
}
#ceremonysize{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 40px 20px 0;
}
#ceremonysize>h2{
    color: #b59618;
    font-size: 20px;
    font-weight: 500;
    padding-bottom: 8px;
    border-style: solid;
    border-image: linear-gradient(90deg,#fff,#b59618,#fff) 1 / 0 0 1px;
}
#ceremonysize>.ceremonysize{
    margin-top:20px;
}
@media(min-width:960px){
    #ceremonysize{
        padding: 90px 60px 0;
    }
    #ceremonysize>.ceremonysize{
        margin-top:30px;
    }
}

/*
ceremonysize
*/
.ceremonysize{
    width: 100%;
    border-top: solid 1px #b59618;
}
.ceremonysize>li{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border-bottom: solid 1px #b59618;
}
.ceremonysize>li>.title{
    flex-basis: auto;
    font-weight: 700;
}
.ceremonysize>li>.tag{
    flex-basis: auto;
    display: inline-block;
    padding: 4px 12px;
    border-radius: 4px;
    background-color: #f7f4e7;
    text-align:center;
    color: #b59618;
}
.ceremonysize>li>.description{
    flex-basis: 100%;
}
@media(min-width:960px){
    .ceremonysize>li{
        padding: 20px;
    }
    .ceremonysize>li>.title{
        flex-basis: 20%;
    }
    .ceremonysize>li>.tag{
        flex-basis: 15%;
    }
    .ceremonysize>li>.description{
        flex-basis: 60%;
    }
}


/*
songs
*/
.songs .hero{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    padding: 20px;
}
.songs .hero>p>span{
    color: #b59618;
}
.songs .hero .youtube{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    border:solid 2px #ccc;
    border-radius: 5px;
    color: #454545;
}
.songs .hero .youtube:hover{
    background-color: #FBF7E7;
    border-color: #ecd887;
    transition: .4s;;
}
@media(min-width:960px){
    .songs .hero{
        flex-direction: row;
        gap: 90px;
        padding: 30px;
    }
    .songs .hero .youtube{
        flex-direction: row;
    }
}
.songs ul.category{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-self: stretch;
    gap: 10px;
    list-style: none;
}
.songs ul.category>li>a{
    display: block;
    background-color: rgba(255,255,255,0.9);
    color: #b59618;
    font-size: 16px;
    font-weight: 700;
    padding: 8px 12px;
    border-radius: 5px;
}
@media(min-width:960px){
    .songs ul.category{
        justify-content: space-between;
    }
    .songs ul.category>li>a{
        padding: 10px 20px;
    }
}
.songs .songlist{
    align-self: flex-start;
    list-style: none;
    column-count: 1;
    padding: 20px;
}
.songs .songlist>li{
    display: inline-flex;
    align-items:flex-start;
    width: 100%;
}
.songs .songlist>li::before{
    display: inline-block;
    content: '';
    width: 24px;
    height: 24px;
    background: url(img/icon_music-note.svg) center center / cover no-repeat;
}
.songs .songlist>li>a{
    color:#b59618;
}
.songs .songlist>li>a:hover{
    text-decoration: underline;
}
.songs .songlist>li:has(>a)::before{
    background-image: url(img/icon_music-note_link.svg)
}
@media(min-width:960px){
    .songs .songlist{
        column-count: 2;
    }
}


/*
procedure
*/
.procedure .hero{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 20px;
    padding: 20px;
}
.procedure .hero>.diagram{
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    list-style: none;
    padding: 20px 0;
}
.procedure .hero>.diagram>li{
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.procedure .hero>.diagram>li::after{
    display: inline-block;
    content: '';
    width: 18px;
    height: 16px;
    background: url(img/icon_arrow-right-solid.svg) center center / cover no-repeat;
}
.procedure .hero>.diagram>li:last-child::after{
    display: none;
}
.procedure .hero>.diagram>li>span{
    display: inline-block;
    padding:10px;
    border-radius: 30px;
    font-weight: 700;
    background-color: #e9e9e9;
}
.procedure .hero>.diagram>li>span.meeting{
    color: #fff;
    background-color: #b59618;
}
.procedure .hero>.requirements{
    padding-left: 20px;
}
@media(min-width:960px){
    .procedure .hero{
        gap: 30px;
        padding: 60px;
    }
}
.procedure .planlist{
    padding: 20px 0 20px 20px;
}
.procedure .slideshow{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.procedure .schedule{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
.procedure .schedule>p{
    width: 100%;
}
.procedure .schedule>a{
    display: block;
    width: 240px;
    height: 170px;
}
.procedure .schedule>a>img{
    width: 100%;
    height: auto;
}
@media(min-width:960px){
    .procedure .schedule{
        flex-direction: row;
        align-items: flex-start;
        gap: 40px;
    }
    .procedure .schedule>p{
        width: calc(100% - 280px);
    }
}


/*
profile
*/
.profile .hero{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 20px 0 0;
}
.profile .hero>.logo{
    width: 240px;
    height: auto;
}
.profile .hero>.photo{
    width: 100%;
    max-width: 480px;
    height: auto;
}
@media(min-width:960px){
    .profile .hero{
        flex-direction: row;
        gap: 30px;
        padding: 60px 0;
    }
}
.profile .nodopiko{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    color: #454545;
}
.profile .nodopiko:hover>p{
    text-decoration: underline;
}


/*
contact
*/
.contact.pages h1{
    color: #454545;
} 
.contact .hero{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 20px;
    padding: 20px;
}
@media(min-width:960px){
    .contact .hero{
        gap: 30px;
        padding: 60px;
    }
}
.contact form{
    display: flex;
    flex-direction: column;
    align-self: stretch;
    gap: 20px;
}
.contact .field{
    display: flex;
    flex-direction: column;
    align-self: stretch;
    gap: 4px;
}
.contact .field>label{
    display: flex;
    align-items: center;
    gap: 10px;
}
.contact .field>.required::after{
    display: inline-block;
    padding: 4px 6px;
    content: "必須";
    background-color: #dab210;
    border-radius: 2px;
    color: #fff;
    font-size: 11px;
    line-height: 1em;
}
.contact .field.btnbox{
    display: flex;
    flex-direction: row;
    align-self: center;
}
.contact input[type="submit"],
.contact input[type="button"]{
    align-self: center;
}

/*
confirm
*/
.confirm.contact .error{
    color: #900;
}
.confirm.contact .value{
    border: solid 1px #ddd;
    border-radius: 4px;
    padding: 16px;
    color: #454545;
    font-size: 16px;
    line-height: 1em;
}

/*
thankyou
*/
.thankyou.contact .box>.panel{
    padding-top: 120px;
    padding-bottom: 120px;
}


/*
policy
*/
.policy .hero{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 20px;
    padding: 20px;
}
.policy.pages .box>.panel>.paragraph>ul{
    padding:20px;
}
.policy.pages .box>.panel>h2{
    font-size: clamp(16px,4.44vw,20px);
}