/*@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');*/

@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');
/*
font-family: 'Shippori Mincho', serif;
*/

body {
    margin: 0;
    padding: 0;
}

@media screen and (max-width: 1176px){
    .subPage #wrapper { padding-top: 249px;}
}



#yummy {
    width: 100%;
    background: #fff;
    padding: 0 0 192px;
    font-family: 'Shippori Mincho', serif!important;
}
@media screen and (max-width: 767px){
    #yummy { padding: 0 0 160px;}
}
@media screen and (max-width: 640px){
    #yummy { padding: 0 0 128px;}
}
@media screen and (max-width: 460px){
    #yummy { padding: 0 0 80px;}
}



.main { width: 100%; margin: 0; line-height: 0;}
.main .main_bg { width: 100%; height: auto;}



.prof_box { background: url(./img/bg.png) repeat 0 0 / 50%; padding: 112px 0 256px; margin: 0;}
@media screen and (max-width: 1176px){
    .prof_box { padding: 96px 0 240px;}
}
@media screen and (max-width: 900px){
    .prof_box { padding: 80px 0 240px;}
}
@media screen and (max-width: 767px){
    .prof_box { padding: 64px 0 160px;}
}
@media screen and (max-width: 640px){
    .prof_box { padding: 48px 0 160px;}
}
@media screen and (max-width: 460px){
    .prof_box { padding: 40px 0 210px;}
}
.prof_box h2.title {
    max-width:1200px;
    width: 100%;
    margin: 0 auto 112px!important;
    border-bottom: 1px solid #000;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    position: relative;
    height: 68px;
}
.prof_box h2.title span {
    font-size: 26px!important;
    font-weight: 400;
    letter-spacing: 0.15rem;
    font-family: 'Shippori Mincho', serif!important;
    display: inline-block;
    line-height: 1;
    position: relative;
    margin-top: 20px;
}
.prof_box h2.title br {
    display: none;
}
.prof_box h2.title span::before {
    content:"";
    display: block;
    width: 119px;
    height: 68px;
    background: url(./img/title_profileL.png) no-repeat 50% 50% / contain;
    position: absolute;
    top: -31px;
    left: -144px;
}
.prof_box h2.title span::after {
    content:"";
    display: block;
    width: 119px;
    height: 68px;
    background: url(./img/title_profileR.png) no-repeat 50% 50% / contain;
    position: absolute;
    top: -31px;
    right: -128px;
}
@media screen and (max-width: 900px){
    .prof_box h2.title {
        margin: 0 auto 80px!important;
        height: 64px;
    }
    .prof_box h2.title span {
        font-size: 24px!important;
    }
    .prof_box h2.title span::before {
        content:"";
        display: block;
        width: 111px;
        height: 64px;
        top: -30px;
        left: -134px;
    }
    .prof_box h2.title span::after {
        content:"";
        display: block;
        width: 111px;
        height: 64px;
        top: -30px;
        right: -118px;
    }
}
@media screen and (max-width: 640px){
    .prof_box h2.title {
        margin: 0 auto 60px!important;
        height: 60px;
    }
    .prof_box h2.title span {
        font-size: 22px!important;
    }
    .prof_box h2.title span::before {
        content:"";
        display: block;
        width: 104px;
        height: 60px;
        top: -29px;
        left: -124px;
    }
    .prof_box h2.title span::after {
        content:"";
        display: block;
        width: 104px;
        height: 60px;
        top: -29px;
        right: -108px;
    }
}
@media screen and (max-width: 460px){
    .prof_box h2.title {
        margin: 0 auto 48px!important;
        height: 48px;
    }
    .prof_box h2.title span {
        font-size: 20px!important;
        /*letter-spacing: 0.1rem;*/
        line-height: 1.4;
        margin-top: -16px;
        letter-spacing: 0rem;
        text-align: center;
    }
    .prof_box h2.title br {
        display: block;
    }
    .prof_box h2.title span::before {
        content:"";
        display: block;
        width: 90px;
        height: 52px;
        top: 8px;
        left: -106px;
    }
    .prof_box h2.title span::after {
        content:"";
        display: block;
        width: 90px;
        height: 52px;
        top: 8px;
        right: -86px;
    }
}




.prof_conts {
    max-width: 740px;
    width: 94%;
    margin: 0 auto;
}
@media screen and (max-width: 767px){
    .prof_conts {
        width: 90%;
    }
}



.prof_conts01 {
    width: calc(100% - 10px);
    border: 1px solid #000;
    box-sizing: border-box;
    background: #fff;
    position: relative;
    box-shadow: 10px 10px #fff;
    padding: 40px 30px 32px 48px;
}
.prof_conts01::before {
    content: "";
    display: block;
    border: 1px solid #000;
    position: absolute;
    top: 10px;
    left: 10px;
    width: 100%;
    height: 100%;
}
@media screen and (max-width: 767px){
    .prof_conts01 {
        padding: 56px 30px 148px 48px;
    }
}
@media screen and (max-width: 460px){
    .prof_conts01 {
        padding: 46px 20px 148px 38px;
    }
}


.prof_conts02 {
    display: flex;
    flex-wrap: wrap;
    gap:45px;
}
.prof_conts02L {
    max-width: 256px;
    margin: 0;
    padding: 0;
    line-height: 1;
    width: 30vw;
}
.prof_conts02L img {
    width: 100%;
    height: auto;
}
.prof_conts02R {
    padding-top: 40px;
    width: calc(100% - (256px + 45px));
}
.prof_conts02R h2 {
    font-size: 20px;
    line-height: 1.8;
    font-weight: 400;
    font-family: 'Shippori Mincho', serif!important;
    margin: 0 0 20px!important;
    padding: 0;
    border: none;
    text-align: justify;
    letter-spacing: 0.033rem;
}
.prof_conts02R p {
    text-align: justify;
    margin: 0;
    padding: 0;
    line-height: 1.8;
    font-size: 16px;
    font-family: 'Shippori Mincho', serif!important;
}
@media screen and (max-width: 880px){
    .prof_conts02L {
        width: 30vw;
    }
    .prof_conts02R {
        width: calc(100% - (30vw + 45px));
    }
}
@media screen and (max-width: 767px){
    .prof_conts02 {
        gap:32px;
    }
    .prof_conts02L {
        max-width: 320px;
        width: 80%;
        margin: 0 auto;
    }
    .prof_conts02R {
        padding-top: 0;
        width: 100%;
    }
    .prof_conts02R h2 {
        font-size: 19px;
        margin: 0 0 16px!important;
    }
    .prof_conts02R p {
        font-size: 15px;
    }
}
@media screen and (max-width: 460px){
    .prof_conts02 {
        gap:24px;
    }
    .prof_conts02R h2 {
        font-size: 17px;
        margin: 0 0 12px!important;
        letter-spacing: -0.085rem;
    }
    .prof_conts02R p {
        font-size: 15px;
        line-height: 1.6;
    }
}



.prof_conts03 {
    background: #FFEED8;
    padding: 14px 0;
    position: absolute;
    width: 410px;
    left: calc(100% - 340px);
    top: calc(100% - 60px);
    box-shadow: 3px 3px 4px rgba(0,0,0,.15);
}
.prof_conts03_border {
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 16px 0;
}
.prof_conts03 dl {
    margin: 0;
    padding: 0 24px 0 28px;
}
.prof_conts03 dl div {
    display: flex;
    flex-wrap: wrap;
    gap: 0 .5rem;
}
.prof_conts03 dl div dt {
    width: 5rem;
    font-size: 14px;
    line-height: 1.4;
    margin: 0;
    padding: 0;
    font-family: 'Shippori Mincho', serif!important;
}
.prof_conts03 dl div dd {
    width: calc(100% - 5.5rem);
    font-size: 14px;
    line-height: 1.4;
    margin: 0;
    padding: 0;
    font-family: 'Shippori Mincho', serif!important;
}
.prof_conts03 dl div dd br {
    display: none;
}
.prof_conts03 dl div:first-child dt {
    vertical-align: middle;
    display:flex; flex-direction:column; justify-content:center;
}
.prof_conts03 dl div:first-child dd {
    vertical-align: middle;
    font-size: 23px;
    font-weight: 600;
}
.prof_conts03 dl div:first-child dd span {
    font-size: 16px;
    font-weight: 400;
    font-family: 'Shippori Mincho', serif!important;
    vertical-align: middle;
    display: inline-block;
    margin-top: -8px;
}
.prof_conts03 dl div + div {
    margin-top: .3rem;
}
@media screen and (max-width: 880px){
    .prof_conts03 {
        left: auto;
        right: -3vw;
        top: calc(100% - 8vw);
    }
}
@media screen and (max-width: 800px){
    .prof_conts03 {
        right: -2vw;
    }
}
@media screen and (max-width: 767px){
    .prof_conts03 {
        padding: 12px 0;
        position: absolute;
        width: 88%;
        left: calc(50% - 44%);
        top: calc(100% - 120px);
        box-shadow: 3px 3px 4px rgba(0,0,0,.15);
    }
    .prof_conts03_border {
        padding: 14px 0;
    }
    .prof_conts03 dl {
        margin: 0;
        padding: 0 20px 0 24px;
    }
    .prof_conts03 dl div dt {
        width: 4.5rem;
        font-size: 13px;
    }
    .prof_conts03 dl div dd {
        width: calc(100% - 5rem);
        font-size: 13px;
    }
    .prof_conts03 dl div dd br {
        display: block;
    }
    .prof_conts03 dl div:first-child dd {
        font-size: 20px;
    }
    .prof_conts03 dl div:first-child dd span {
        font-size: 15px;
    }
}
@media screen and (max-width: 460px){
    .prof_conts03 {
        padding: 12px 0;
        position: absolute;
        width: 88%;
        left: calc(50% - 42.3%);
        top: calc(100% - 120px);
        box-shadow: 3px 3px 4px rgba(0,0,0,.15);
    }
    .prof_conts03 dl {
        margin: 0;
        padding: 0 16px 0 20px;
    }
    .prof_conts03 dl div dt {
        width: 4.5rem;
        font-size: 14px;
    }
    .prof_conts03 dl div dd {
        width: calc(100% - 5rem);
        font-size: 14px;
    }
    .prof_conts03 dl div:first-child dd {
        font-size: 18px;
    }
    .prof_conts03 dl div:first-child dd span {
        font-size: 14px;
    }
}




.works_box {
    width: 100%;
    margin: 0 auto;
    padding: 89px 0 0 0;
}
@media screen and (max-width: 900px){
    .works_box { padding: 80px 0 0;}
}
@media screen and (max-width: 767px){
    .works_box { padding: 64px 0 0;}
}
@media screen and (max-width: 640px){
    .works_box { padding: 48px 0 0;}
}
@media screen and (max-width: 460px){
    .works_box { padding: 40px 0 0;}
}
.works_box h2.title {
    max-width:1200px;
    width: 100%;
    margin: 0 auto 112px!important;
    border-bottom: 1px solid #000;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    position: relative;
    height: 81px;
}
.works_box h2.title span {
    font-size: 26px!important;
    font-weight: 400;
    letter-spacing: 0.15rem;
    font-family: 'Shippori Mincho', serif!important;
    display: inline-block;
    line-height: 1;
    position: relative;
    margin-top: 25px;
}
.works_box h2.title span br {
    display: none;
}
.works_box h2.title span::before {
    content:"";
    display: block;
    width: 70px;
    height: 81px;
    background: url(./img/title_youtubeL.png) no-repeat 50% 50% / contain;
    position: absolute;
    top: -40px;
    left: -110px;
}
.works_box h2.title span::after {
    content:"";
    display: block;
    width: 70px;
    height: 81px;
    background: url(./img/title_youtubeR.png) no-repeat 50% 50% / contain;
    position: absolute;
    top: -40px;
    right: -94px;
}
@media screen and (max-width: 900px){
    .works_box h2.title {
        margin: 0 auto 80px!important;
        height: 78px;
    }
    .works_box h2.title span {
        font-size: 24px!important;
    }
    .works_box h2.title span::before {
        content:"";
        display: block;
        width: 67px;
        height: 78px;
        top: -39px;
        left: -100px;
    }
    .works_box h2.title span::after {
        content:"";
        display: block;
        width: 67px;
        height: 78px;
        top: -39px;
        right: -84px;
    }
}
@media screen and (max-width: 640px){
    .works_box h2.title {
        margin: 0 auto 60px!important;
        height: 72px;
    }
    .works_box h2.title span {
        font-size: 22px!important;
        letter-spacing: 0.1rem;
    }
    .works_box h2.title span::before {
        content:"";
        display: block;
        width: 62px;
        height: 72px;
        top: -37px;
        left: -76px;
    }
    .works_box h2.title span::after {
        content:"";
        display: block;
        width: 62px;
        height: 72px;
        top: -37px;
        right: -68px;
    }
}
@media screen and (max-width: 460px){
    .works_box h2.title {
        margin: 0 auto 48px!important;
        height: 70px;
    }
    .works_box h2.title span {
        font-size: 20px!important;
        letter-spacing: 0rem;
        text-align: center;
        line-height: 1.4;
        margin-top: 0px;
    }
    .works_box h2.title span br {
        display: block;
    }
    .works_box h2.title span::before {
        content:"";
        display: block;
        width: 60px;
        height: 70px;
        top: -7px;
        left: -72px;
    }
    .works_box h2.title span::after {
        content:"";
        display: block;
        width: 60px;
        height: 70px;
        top: -7px;
        right: -64px;
    }
}



.works_box #works_list {
    display: flex;
    flex-wrap: wrap;
    justify-content:space-between;
    max-width: 1154px;
    width: 94%;
    margin: 0 auto;
    gap: 96px 32px;
}
.works_box .works_list {
    width: calc(50% - 16px);
}
@media screen and (max-width: 900px){
    .works_box #works_list {
        gap: 64px 0;
    }
    .works_box .works_list {
        width: 100%;
    }
}
@media screen and (max-width: 640px){
    .works_box #works_list {
        gap: 48px 0;
    }
}
@media screen and (max-width: 640px){
    .works_box #works_list {
        gap: 32px 0;
    }
}

.youtube { position: relative; width: 100%; padding-top: 56.25%;}
.youtube iframe { position: absolute; top: 0; right: 0; width: 100%; height: 100%;}
.youtube img { position: absolute; top: 0; right: 0; width: 100%; height: 100%;}

@media screen and (max-width: 767px){
    .subPage #wrapper { padding-top: 70px;}
}



.bnr { width: 100%; max-width: 750px; margin: 0 auto 138px!important; line-height: 0;}
.bnr .bnr_bg { width: 100%; height: auto;}
@media screen and (max-width: 900px){
    .bnr { margin: 0 auto 112px!important;}
}
@media screen and (max-width: 767px){
    .bnr { margin: 0 auto 80px!important;}
}
@media screen and (max-width: 640px){
    .bnr { margin: 0 auto 64px!important;}
}
@media screen and (max-width: 460px){
    .bnr { margin: 0 auto 40px!important;}
}

.backnumber {
    max-width:1200px;
    width: 100%;
    margin: 0 auto;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    position: relative;
    height: 158px;
    line-height: 1;
}
.backnumber span {
    line-height: 1;
    font-size: 21px;
    display: inline-block;
    position: relative;
    font-family: 'Shippori Mincho', serif!important;
}
.backnumber span::before{
    position: absolute;
	top: 4px;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	left: -24px;
	width: 9px;
	height: 18px;
    background: url(./img/arw.svg) no-repeat 50% 50% / contain;
}
@media screen and (max-width: 767px){
    .backnumber {
        height: 60px;
    }
    .backnumber span {
        font-size: 18px;
    }
}



.container{
    width: 94%;
    margin: 0 auto 5rem;
}
.container.-s{  max-width: 750px;}
.container.-m{  max-width: 830px;}
@media screen and (max-width: 767px){
   .container {
        width: 88%;
        margin: 0 auto 3rem;
    }
}

/*item-wrapper*/
.item-wrapper.-col-2{display: grid;grid-template-columns: repeat(2, 1fr);gap:32px;}
@media screen and (max-width: 767px){
	.item-wrapper.-col-2{grid-template-columns: repeat(1, 1fr);}
}

/*iframe*/
.iframe_wrapper {
position: relative;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
}

.iframe_wrapper iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}