/* =======================
    common
========================== */
body{
    font-family: 'Noto Sans JP', sans-serif;
    color: #000000;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.5;
    background-color: #ffffff;
    overflow-x: hidden;
    position: relative;
}

img{
    width: 100%;
    height: auto;
}

.inner{
    width: 90%;
    max-width: 1100px;
    margin: auto;
}

.inner-deco{
    position: relative;
    z-index: 0;
}

.inner-deco::before{
    content: "";
    display: block;
    width: min(197.6px, calc((197.6 / 1600) * 100vw));
    height: min(176.7px, calc((176.7 / 1600) * 100vw));
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transform: translate(-58%, -27%);
}

.inner-deco.deco-white::before{
    background-image: url('../img/common/deco_birds_white.png');
}

.inner-deco.deco-bitter-orange::before{
    background-image: url('../img/common/deco_birds_bitter-orange.png');
}

.inner-deco.deco-red::before{
    background-image: url('../img/common/deco_birds_red.png');
}

.heading{
    color: #7a434b;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.25em;
    position: relative;
    z-index: 0;
}

.under-mainvisual .heading{
    font-size: 18px;
    margin-top: 2.5em;
    text-transform: capitalize;
}

.section{
    padding: 60px 0;
}

.section__content{
    margin-top: 36px;
}

.heading1,
.lead{
    font-size: 40px;
    font-weight: 700;
    line-height: 1.65;
    position: relative;
    z-index: 0;
}

.heading + .lead{
    margin: 0.95em 0 0 calc((64 / 1100) * 100%);
}

.text{
    font-size: 1em;
    line-height: 2.235;
}

.desc{
    font-size: 20px;
    line-height: 1.9;
}

.under-mainvisual__text-wrap .desc{
    margin-top: 0.8em;
}

.text-img-wrap{
    margin-left: calc((64 / 1100) * 100%);
    position: relative;
    z-index: 0;
}

.text-img-wrap .text-wrap{
    display: inline-block;
    width: 100%;
	margin-top: min(38px, 2.235em);
}

.text-img-wrap .text-wrap.text--emphasize{
    font-weight: 500; 
    font-size: 1.6em; 
    line-height: 1;
}

.text-img-wrap .text-wrap:first-child{
    margin-top: 0;
}

.text-img-wrap .img-wrap {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
    transform: translate(11%, 1.8%);
}

.btn{
    display: block;
    font-size: 15px;
    text-align: center;
    width: 100%;
    max-width: 258px;
    border: 1px solid #000000;
    border-radius: 30px;
    padding: 1.2em 0;
    background-color: #ffffff;
    transition: 0.4s ease;
	    position: relative;
    z-index: 1;
}

.btn:hover{
    color: #ffffff;
    background-color: #000000;
}

.bg-color01{
    background-color: #f0eee9;
}

.bg-color02{
    background-color: #e1dcda;
}

.bg-color03{
    background-color: #7a434b;
}

.bg-color04{
    background-color: #ffffff;
}

.sp{
    display: none;
}

.paginate_links {
    display: flex;
    justify-content: center;
    margin-top: 91px;
}

.page-numbers {
    font-size: 14.4px;
    color: #333333;
    width: 4.125em;
    height: 4.125em;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.4s ease;
}

.page-numbers + .page-numbers {
    border-left: 1px solid #c8c8c8;
}

.page-numbers:hover, 
.page-numbers.current {
    color: #ffffff;
    background-color: #7a434b;
}

.breadcrumb-list{
    width: 90%;
    max-width: 1100px;
	padding-top:20px;
    margin: 0 auto 0;
    display: flex;
    justify-content: flex-end;
}

.breadcrumb-list *{
    font-size: 13px;
    line-height: 1;
}

.breadcrumb-list li + li{
    margin-left: 20px;
    position: relative;
}

.breadcrumb-list li + li::before{
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-bottom: 1px solid #000000;
    border-right: 1px solid #000000;
    position: absolute;
    top: 5px;
    right: 100%;
    transform: translateX(-8px) rotate(-45deg);
}

.breadcrumb-list li:nth-last-child(n + 2){
    flex-shrink: 0;
}

.page-numbers.prev svg{
    transform: scaleX(-1);
}

.page-numbers:hover path{
    fill: #ffffff;
}

@media screen and (max-width: 1024px){
    body{
        font-size: 16px;
    }

    .heading{
        font-size: 17px;
    }

    .under-mainvisual .heading{
        font-size: 15px;
    }

    .heading1,
    .lead {
        font-size: 30px;
    }

    .desc{
        font-size: 18px;
    }
}

@media screen and (max-width: 767px){
    body{
        font-size: 15px;
    }
	.breadcrumb-list *{
		font-size: 11px;
	}

    .heading{
        font-size: 15px;
    }

    .under-mainvisual .heading{
        font-size: 14px;
    }

	.heading1{
		font-size: 25px;
    margin-left: 0 !important;
	}
	.heading + .lead{
		margin-top: 0.4em;
	}
    .lead {
        font-size: 20px;
    margin-left: 0 !important;
		    line-height: 1.5;
    }

    .btn{
        font-size: 14px;
    }

    .inner-deco::before{
        width: 94.7px;
        height: 84.7px;
        transform: translate(-30%, -27%);
    }
	.paginate_links{
		    margin-top: 50px;
	}
	.page-numbers{
		    width: 50px;
		height: 50px;
		font-size: 12px;
		padding: 11px 0;
	}
	.breadcrumb-list li + li::before{
		    top: 3px;
	}

    .pc{
        display: none;
    }

    .sp{
        display: block;
    }

    .text-img-wrap{
        padding-bottom: 260px;
		    margin-left: 0;
    }

    .text-img-wrap .text-wrap{
        margin-top: 20px;
		    line-height: 1.9;
		    text-align: justify;
    }

    .text-img-wrap .img-wrap {
        transform: translate(0, 0);
    }
	.section__content{
		    width: 100%;
    margin: 20px auto 0;
	}
    .desc{
        font-size: 15px;
        line-height: 1.8;
    }

    .under-mainvisual__text-wrap .desc{
        margin-top: 5px;
    }

    .navigation {
        margin-top: 40px;
    }
}

/* =======================
    header    
========================== */
.header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    transition: 0.4s ease;
}

.header__inner{
    display: flex;
    align-items: center;
    padding: 1.8125vw 3.25vw 1.8125vw 1.5vw;
}

.header__logo{
    width: 246px;
    margin-right: 15px;
}

.header-menu{
    width: max-content;
    margin: -4px 0 0 auto;
}

.header-menu__list{
    display: flex;
    justify-content: flex-end;
}

.header-menu__list li + li{
    margin-left: calc((39.6 / 1600) * 100vw);
}

.header-menu__list a{
    font-size: 14px;
    display: inline-block;
    line-height: calc(30 / 14);
    transition: 0.4s ease;
}

.hamburger-menu {
    display: none;
    position: fixed;
    top: 15px;
    right: 15px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 100;
    background-color: rgba(255, 255, 255, 0.5);
}
  
.bar {
    position: absolute;
    width: 45%;
    height: 1px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #7a434b;
    border-radius: 4px;
    transition: 0.4s ease;
}

.bar--top {
    top: 31%;
}

.bar--middle {
    top: 50%;
    transform: translate(-50%, -50%);
}

.bar--bottom {
    top: 69%;
    transform: translate(-50%, -100%);
}

.js-close .bar--top {
    top: 50%;
    transform: translateX(-50%) rotate(45deg);
}
  
.js-close .bar--middle {
    opacity: 0;
    transition: 0.1s;
}
  
.js-close .bar--bottom {
    top: 50%;
    transform: translateX(-50%) rotate(-45deg);
}

@media screen and (min-width: 768px){
    .header.js-active{
        background-color: #ffffff;
    }

    .header-menu__list a:hover{
        color: #7a434b;
    }
}

@media screen and (max-width: 1024px){
    .header__logo{
        width: 216px;
    }

    .header-menu__list a {
        font-size: 13px;
    }
}

@media screen and (max-width: 767px){
    .header {
        position: absolute;
    }

    .header__inner {
        padding: 15px 10px;
    }

    .header__logo {
        width: 180px;
    }

    .header-menu{
        position: fixed;
        top: 0;
        left: 0;
        z-index: 90;
        width: 100%;
        height: 100%;
        background-color: #7a434b;
        transition: 0.4s ease;
        transform: translateX(110%);
        margin: 0;
    }

    .header-menu.js-active{
        transform: translateX(0);
    }

    .header-menu__list {
        display: block;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        width: 100%;
    }

    .header-menu__list li{
        text-align: center;
		    color: #ffffff;
    }

    .header-menu__list li + li {
        margin: 40px 0 0;
    }

    .header-menu__list a{
        font-size: 17px;
        line-height: 1;
    }

    .hamburger-menu{
        display: block;
    }
}

/* =======================
    mainvisual
========================== */
.mainvisual{
    background-color: #f0eee9;
}

.top-mainvisual{
    padding-bottom: 37px;
    position: relative;
}

.top-mainvisual .inner{
    width: 92.6%;
    max-width: 1482px;
    height: min(829px, calc((829 / 1600) * 100vw));
    position: relative;
    display: flex;
    align-items: center;
}

.top-mainvisual__text{
    font-size: min(60px, calc((60 / 1600) * 100vw));
    font-weight: 700;
    display: inline-flex;
    flex-direction: column;
    margin: min(10px, calc((10 / 1600) * 100vw)) 0 0 min(136px, calc((136 / 1600) * 100vw));
}

.top-mainvisual__text .size--sm {
    font-size: 0.4666em;
    line-height: 1.7833;
    margin: 0.25em 0 0 0.142em;
}

.top-mainvisual .img-wrap{
    width: min(751.4px, calc((751.4 / 1600) * 100vw));
    position: absolute;
    bottom: 0;
    right: 0;
}

.top-news{
    width: calc((1510 / 1600) * 100%);
    max-width: calc(1600px - 45px * 2);
    margin: 16px 0 0 calc((45 / 1600) * 100vw);
    margin: 16px auto 0;
}

.top-news__article{
    width: 45%;
    margin-top: 1.066em;
    font-size: 15px;
}

.top-news__article a{
    display: flex;
    align-items: flex-start;
    max-width: max-content;
}

.top-news__article:nth-child(1){
    margin-top: 0;
}

.top-news__article-date,
.top-news__article-title{
    font-size: 1em;
    line-height: 1.4;
}

.top-news__article-date{
    flex-shrink: 0;
}

.top-news__article-title{
    flex-grow: 1;
    margin-left: 1.2em;
    overflow: hidden;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    white-space: nowrap;
}

.top-mainvisual .scroll{
    position: absolute;
    bottom: min(39px, calc((39 / 1600) * 100vw));
    left: 50%;
    transform: translateX(-50%);
    font-size: 12px;
    font-weight: 400;
    line-height: calc(30 / 12);
}

.top-mainvisual .scroll::after{
    content: "";
    display: block;
    width: 1px;
    height: min(81px, calc((81 / 1600) * 100vw));
    background-color: #000000;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    animation: scroll 2.6s infinite cubic-bezier(1, 0, 0, 1);
    -webkit-animation: scroll 2.6s infinite cubic-bezier(1, 0, 0, 1);
    -moz-animation: scroll 2.6s infinite cubic-bezier(1, 0, 0, 1);
}

.under-mainvisual{
    min-height: 402.3px;
    padding: 100px 0 45px;
}

.under-mainvisual__text-wrap{
    margin-top: 38px;
    padding-left: 5.8%;
}

.under-mainvisual .inner{
    margin-top: 55px;
}

@keyframes scroll{
    0%{
        transform: translateX(-50%) scale(1, 0);
        transform-origin: 0% 0%;
    }
    50%{
        transform: translateX(-50%) scale(1, 1);
        transform-origin: 0% 0%;
    }
    50.1%{
        transform: translateX(-50%) scale(1, 1);
        transform-origin: 0 100%;
    }
    100%{
        transform: translateX(-50%) scale(1, 0);
        transform-origin: 0 100%;
    }
}

@-webkit-keyframes scroll{
    0%{
        -webkit-transform: translateX(-50%) scale(1, 0);
        -webkit-transform-origin: 0% 0%;
    }
    50%{
        -webkit-transform: translateX(-50%) scale(1, 1);
        -webkit-transform-origin: 0% 0%;
    }
    50.1%{
        -webkit-transform: translateX(-50%) scale(1, 1);
        -webkit-transform-origin: 0 100%;
    }
    100%{
        -webkit-transform: translateX(-50%) scale(1, 0);
        -webkit-transform-origin: 0 100%;
    }
}

@-moz-keyframes scroll{
    0%{
       -moz-transform: translateX(-50%) scale(1, 0);
        -moz-transform-origin: 0% 0%;
    }
    50%{
       -moz-transform: translateX(-50%) scale(1, 1);
        -moz-transform-origin: 0% 0%;
    }
    50.1%{
       -moz-transform: translateX(-50%) scale(1, 1);
        -moz-transform-origin: 0 100%;
    }
    100%{
       -moz-transform: translateX(-50%) scale(1, 0);
        -moz-transform-origin: 0 100%;
    }
}

@media screen and (max-width: 767px){
    .top-mainvisual{
        padding-bottom: 25px;
    }

    .top-mainvisual .inner{
        display: block;
        padding-top: max(90px ,10%);
        height: auto;
    }

    .top-mainvisual .img-wrap{
        min-width: 315px;
        position: static;
        margin: 40px auto 50px;
    }

    .top-mainvisual__text {
        font-size: 34px;
        width: max-content;
        max-width: max-content;
        margin: auto;
        display: flex;
    }
	.top-mainvisual__text .size--sm{
		    line-height: 1.6;
		margin-top:0.4em;
		font-size:0.6em;
	}
	.top-news{
		    width: calc((1450 / 1600) * 100%);
	}

    .top-news__article{
    font-size: 12px;
    width: 100%;
    margin-top: 0.5em;
    }

    .under-mainvisual{
        padding-top: 80px;
		  padding-bottom: 35px;
        min-height: 280px;
    }

    .under-mainvisual__text-wrap{
        margin-top: 5px;
		    padding-left: 0;
    }

    .under-mainvisual .inner {
        margin-top: 25px;
    }
	.top-mainvisual .scroll{
		    display: none;
	}
}

/* =======================
    top-message
========================== */
.top-message{
    padding: 106px 0 128px;
}

.top-message .text-img-wrap .img-wrap{
    width: min(437.9px, calc((437.9 / 1600) * 100vw));
    height: min(650px, calc((650 / 1600) * 100vw));
}

.top-message .btn{
    margin: 3.933em auto 0;
}

@media screen and (max-width: 767px){
    .top-message{
        padding: 76px 0 98px;
    }

    .top-message .text-img-wrap .img-wrap{
        width: 265px;
        height: 393px;
		    bottom: -14%;
    }
}

/* =======================
    top-service
========================== */
.top-service{
    padding: 78px 0 145px;
}

.top-service__content{
    margin-top: 70px;
    counter-reset: top-service;
}

.top-service__box{
    display: flex;
    align-items: center;
    max-width: 900px;
    margin-top: 61px;
    padding-right: calc((30 / 1100) * 100%);
    background-color: #ffffff;
}

.top-service__box:nth-child(even){
    margin-left: auto;
}

.top-service__box:first-child{
    margin-top: 0;
}

.top-service__box .img-wrap{
    order: 1;
    height: 350px;
}

.top-service__box .img-wrap img{
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.top-service__box-body{
    order: 2;
    flex-grow: 1;
    max-width: 468px;
    margin: -2.22% 0 0 15px;
    padding: 20px 0;
}

.top-service__box-heading{
    font-size: 1em;
    font-weight: 700;
    color: #7a434b;
    letter-spacing: 0.25em;
    width: max-content;
    position: relative;
}

.top-service__box-heading::after{
    counter-increment: top-service;
    content: "0"counter(top-service);
}

.top-service__box-list dt{
    font-size: 36px;
    font-weight: 700;
    color: #7a434b;
    line-height: 1.11;
    margin-top: 0.222em;
}

.top-service__box-list dd{
    font-size: 20px;
    font-weight: 700;
    line-height: 1.65;
    margin-top: 1em;
}

.top-service__box-body .btn{
    font-size: 13px;
    max-width: 185px;
    margin: 3.153em auto 0;
    padding: 0.923em 0;
}

@media screen and (max-width: 1024px){
    .top-service__box-list dt{
        font-size: 29px;
    }

    .top-service__box-list dd{
        font-size: 18px;
    }
}

@media screen and (max-width: 767px){
    .top-service {
        padding: 58px 0 95px;
    }

    .top-service__box {
        display: block;
        padding-right: 0;
        margin-top: 40px;
    }

    .top-service__box-body {
        max-width: none;
        margin: 0;
        padding: 20px;
    }

    .top-service__box-list dt{
        font-size: 22px;
    }

    .top-service__box-list dd{
        font-size: 16px;
    }

    .top-service__content {
        margin-top: 40px;
    }

    .top-service__box .img-wrap{
        height: auto;
    }

    .top-service__box .img-wrap img{
        object-position: bottom;
    }
	.top-service__box-body .btn{
		margin-top:2.5em;
	}
}

/* =======================
    top-project
========================== */
.top-project{
    padding: 102px 0 169px;
}

.top-project .heading + .lead {
    margin: 0.25em 0 0 calc((95 / 1100) * 100%);
}

.top-project__content{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 66px;
}

.project__box{
    width: calc((100% - 35px * 2) / 3);
    max-width: 344px;
    margin-left: 35px;
    background-color: #ffffff;
}

.project__box a{
    display: block;
    padding: 18px calc((13 / 344) * 100%) 20px calc((22 / 344) * 100%);
}

.project__box:nth-child(3n + 1){
    margin-left: 0;
}

.project__box:nth-child(n + 4){
    margin-top: 55px;
}

.project__box-number{
    font-size: 16px;
    letter-spacing: 0.25em;
    color: #7a434b;
    font-weight: 700;
}

.project__box-list dt{
    font-size: 30px;
    font-weight: 700;
    color: #7a434b;
    line-height: 1.333;
}

.project__box-list dd{
    overflow: hidden;
}

.project__box-list .space{
    float: right;
    height: 59.98px;
}

.project__box-list .arrow{
    float: right;
    clear: both;
    margin: 5px 0 0 5px;
    width: calc((41 / 308.4) * 100%);
    display: inline-block;
}

.project__box-list .text{
    font-weight: 700;
    line-height: 1.647;
    margin-top: 0.882em;
}

.project__box .img-wrap{
    margin-top: 13px;
    height: 277px;
    overflow: hidden;
}

.project__box .img-wrap img{
    object-fit: cover;
    height: 100%;
    transition: 0.4s ease;
}

.project__box:hover .img-wrap img{
    transform: scale(1.1);
}

@media screen and (max-width: 1024px){
    .project__box {
        width: calc((100% - 35px) / 2);
    }

    .project__box:nth-child(odd){
        margin-left: 0;
    }

    .project__box:nth-child(even){
        margin-left: 35px;
    }

    .project__box:nth-child(3){
        margin-top: 55px;
    }

    .project__box-list dt {
        font-size: 26px;
    }
}

@media screen and (max-width: 767px){
    .top-project{
        padding: 72px 0 109px;
    }

    .top-project__content {
        margin-top: 40px;
        display: block;
    }

    .project__box{
        width: 100%;
        margin: auto;
    }

    .project__box:nth-child(n + 2) {
        margin-top: 35px;
    }
    
    .project__box:nth-child(odd),
    .project__box:nth-child(even){
        margin-left: auto;
    }

    .project__box-list dt {
        font-size: 22px;
    }
	.project__box .img-wrap{
		height: 240px;
	}
	.project__box-list .text{
		    margin-top: 0.5em;
	}
}

/* =======================
    common-contact
========================== */
.common-contact{
    padding: 47px 0;
    overflow: hidden;
}

.common-contact .heading,
.common-contact__body .lead{
    color: #ffffff;
}

.common-contact__body .lead {
    font-size: 30px;
    line-height: 1.66;
}

.common-contact__content{
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin-top: -2.909%;
}

.common-contact__body{
    margin-top: calc((56 / 1100) * 100%);
    max-width: max-content;
}

.common-contact__body .btn{
    margin: 2.666em auto 0;
}

.common-contact__content .img-wrap{
    width: min(269.7px, calc((269.7 / 1100) * 100%));
    margin: 0 -2.09% 0 calc((55 / 1100) * 100%);
}

@media screen and (max-width: 1024px){
    .common-contact__body .lead{
        font-size: 25px;
    }
}

@media screen and (max-width: 767px){
    .common-contact__content{
       flex-direction: column-reverse;
       margin-top: 0px;
		  width: 100%;
    }

    .common-contact__content .img-wrap{
        width: calc(100% / 2.3);
        margin: auto;
    }

    .common-contact__body{
        max-width: none;
        width: 100%;
    }

    .common-contact__body .lead{
		font-size: 18px;
    text-align: center;
    }
	.common-contact__body .btn{
		margin-top:1.4em;
	}
}

/* =======================
    footer
========================== */
.footer__inner{
    padding: 54px 15px 6px;
}

.footer__logo{
    width: 347px;
    margin: auto;
    transform: translateX(-11.23%);
}

.footer__address{
    text-align: center;
    font-size: 1em;
    line-height: 1.764;
    display: flex;
    flex-direction: column;
    margin-top: 1.823em;
}

.footer__address .size--sm{
    font-size: 0.823em;
    line-height: 1.5;
    margin-top: 0.857em;
}

.footer__copyright{
    text-align: right;
    font-size: 12px;
    margin-top: 3.666em;
}

@media screen and (max-width: 1024px){
    .footer__logo {
        width: 297px;
    }
}

@media screen and (max-width: 767px){
    .footer__inner {
        padding: 30px 5px 6px;
    }

    .footer__logo {
        width: 235px;
		  transform: translateX(0%);
    }

    .footer__copyright{
        font-size: 11px;
		    margin-right: 3%;
    }
	.footer__address{
		  margin-top: 1.4em;
	}
}

/* =======================
    会社概要
========================== */
.profile-message{
    padding: 78px 0 101px;
}

.profile-message .section__content{
    margin-top: 48px;
}

.profile-message .text-img-wrap{
    margin-left: 0;
}

.profile-message .text-img-wrap .text{
    text-align: center;
    width: 91.5%;
}

.profile-message .text-img-wrap .img-wrap {
    width: min(315.5px, calc((315.5 / 1600) * 100vw));
    height: min(356px, calc((356 / 1600) * 100vw));
    transform: translate(-7%, 3.8%);
}
.profile-message .text-img-wrap .img-wrap.right{
	
}
.profile-member{
    padding: 80px 0 134px;
}

.profile-member .heading + .lead,
.profile-profile .heading + .lead {
    margin: 0.225em 0 0 calc((95 / 1100) * 100%);
}

.profile-member .section__content{
    margin-top: 57px;
}

.profile-message__box{
    display: flex;
    align-items: center;
    width: calc(100% - calc((95 / 1100) * 100%));
    margin: 102px 0 0 auto;
}

.profile-message__box:first-child{
    margin-top: 0;
}

.profile-message__box-list{
    width: calc((637 / 991) * 100%);
}

.profile-message__box-name{
    font-size: 20px;
    line-height: 2.25;
    letter-spacing: 0.25em;
}

.profile-message__box-name .font--en{
    display: inline-block;
    font-size: 0.75em;
    letter-spacing: 0.25em;
    margin-left: 0.866em;
}

.profile-message__box-role{
    font-size: 15px;
    font-weight: 400;
    color: #828282;
    letter-spacing: 0.25em;
    margin-top: 0.866em;
}

.profile-message__box-text{
    font-size: 15px;
    line-height: 2;
    margin-top: 2.533em;
}

.profile-message__box-text .text-wrap{
    display: inline-block;
    width: 100%;
    margin-top: 2em;
}

.profile-message__box-text .text-wrap:first-child{
    margin-top: 0;
}

.profile-message__box .img-wrap{
    width: calc((325 / 991) * 100%);
    max-width: 325px;
    margin-left: auto;
}

.profile-profile{
    padding: 103px 0 152px;
}

.profile-profile__list{
    max-width: 903.6px;
    margin: 66px auto 0;
}

.profile-profile__list > div{
    display: flex;
}

.profile-profile__list dt,
.profile-profile__list dd{
    font-size: 16px;
    line-height: 2.375;
    padding: 1.562em 1.25em 1.5em;
}

.profile-profile__list dt{
    flex-shrink: 0;
    width: 207px;
    border-top: 1px solid #323232;
}

.profile-profile__list > div:last-child dt{
    border-bottom: 1px solid #323232;
}

.profile-profile__list > div:last-child dt{
    border-bottom: 1px solid #323232;
}

.profile-profile__list dd{
    flex-grow: 1;
    border-top: 1px solid #bfbfbf;
}

.profile-profile__list > div:last-child dd{
    border-bottom: 1px solid #bfbfbf;
}

.profile-profile__access{
    margin-top: 94px;
}

.profile-profile__access-text{
    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
    margin-left: calc((95 / 1100) * 100%);
}

.profile-profile__access-text .size--sm{
    font-size: 0.5333em;
    font-weight: 400;
    line-height: 2.375;
    display: inline-block;
    margin-left: 1.3125em;
}

.profile-profile__access-map{
    margin-top: 32px;
    height: 0;
    padding-top: calc((349.7 / 1100) * 100%);
    position: relative;
}

.profile-profile__access-map iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 1024px){
    .profile-message__box-name{
        font-size: 19px;
    }

    .profile-profile__list dt, 
    .profile-profile__list dd{
        font-size: 15px;
    }

    .profile-profile__access-text {
        font-size: 25px;
    }
}

@media screen and (max-width: 767px){
    .profile-message {
        padding: 58px 0 81px;
    }

    .profile-message .section__content {
        margin-top: 15px;
    }

    .profile-message .text-img-wrap {
        padding-bottom: 210px;
    }

    .profile-message .text-img-wrap .img-wrap {
		width: 200px;
    height: 226px;
    transform: translate(0, 22%);
    }

    .profile-message .text-img-wrap .text {
        width: 100%;
		line-height: 1.9;
    }

    .profile-message .text-img-wrap .text-wrap {
        margin-top: 20px;
    }

    .profile-member .section__content {
        margin-top: 40px;
    }

    .profile-message__box {
        display: block;
        margin-top: ;
		    margin: 60px auto 0;
    }

    .profile-message__box-list {
        width: 100%;
    }

    .profile-message__box-name{
        font-size: 18px;
    }

	.profile-message__box-role{
		   margin-top: 0.1em;
		font-size: 13px;
	}

    .profile-message__box-text{
        margin-top: 20px;
		font-size: 14px;
    }
	.profile-message__box-text .text-wrap{
		margin-top: 1em;
	}

    .profile-message__box .img-wrap {
        width: 75%;
        margin: 20px auto 0;
    }

    .profile-member {
        padding: 60px 0 94px;
    }

    .profile-profile {
        padding: 63px 0 112px;
    }

    .profile-profile__list{
        margin-top: 40px;
		    width: 90%;
    }

    .profile-profile__list > div {
        display: block;
    }

    .profile-profile__list dt, 
    .profile-profile__list dd{
        font-size: 14px;
        width: 100%;
    }
	.profile-profile__list dt{
		border-top: none;
		 position: relative;
		 padding-bottom: 6px;
	}
	.profile-profile__list dt::before{
		content:"";
		width:45%;
		height:1px;
		background-color:#323232;
		position:absolute;
		bottom:0;
		left: 0;
		display:block;
	}

    .profile-profile__list > div:last-child dt {
        border-bottom: none;
    }
	.profile-profile__list dd{
		    border-bottom: 1px solid #bfbfbf;
		    border-top: none;
		    line-height: 1.6;
	}

    .profile-profile__access-text {
        font-size: 18px;
    }

    .profile-profile__access {
        margin-top: 50px;
    }

    .profile-profile__access-map {
        margin-top: 20px;
        padding-top: 240px;
    }
	.profile-profile__access-text .size--sm{
		    font-size: 0.7em;
	}
}

/* =======================
    service
========================== */
.service-section{
    padding: 65px 0 148px;
}

.service-section:nth-of-type(2){
    padding: 81px 0 134px;
}

.service-section:nth-of-type(3){
    padding: 88px 0 134px;
}

.service-section .heading .size--lg{
    font-size: 2em;
    letter-spacing: 0;
    line-height: 1.111;
    display: inline-block;
    margin-left: 0.555em;
}

.service-section .heading + .lead {
    margin: 1em 0 0 calc((94 / 1100) * 100%);
}

.service-section .section__content {
    margin-top: 45px;
}

.service-section .text-img-wrap {
    margin-left: calc((94 / 1100) * 100%);
}

.service-section:nth-of-type(1) .text-img-wrap .img-wrap{
    width: min(499.5px, calc((499.5 / 1600) * 100vw));
    height: min(437.5px, calc((437.5 / 1600) * 100vw));
    transform: translate(0, 18.8%);
}

.service-section01__project{
    margin-top: 143px;
}

.service-section01__project-text{
    font-size: 30px;
    font-weight: 700;
    color: #7a434b;
    line-height: 1.333;
}

.service-section01__project .top-project__content{
    margin-top: 53px;
}

.service-section01__project .project__box{
    background-color: #f0eee9;
}

.service-section:nth-of-type(2) .section__content,
.service-section:nth-of-type(3) .section__content{
    margin-top: 50px;
}

.service-section:nth-of-type(2) .text-img-wrap .img-wrap {
    width: min(464.4px, calc((464.4 / 1600) * 100vw));
    height: min(350px, calc((350 / 1600) * 100vw));
    transform: translate(0, -24.2%);
}

.service-section:nth-of-type(3) .text-img-wrap .img-wrap {
    width: min(440.5px, calc((440.5 / 1600) * 100vw));
    height: min(312px, calc((312 / 1600) * 100vw));
    transform: translate(0, -24.2%);
}

@media screen and (max-width: 1024px){
    .service-section01__project-text{
        font-size: 25px;
    }
}

@media screen and (max-width: 767px){
    .service-section01__project-text{
        font-size: 20px;
    }

    .service-section .heading{
        display: flex;
        flex-direction: column;
    }

    .service-section .heading .size--lg{
        font-size: 24px;
        margin: 10px 0 0;
    }

    .service-section {
		  padding-top: 55px;
        padding-bottom: 70px;
    }
	.service-section .heading + .lead{
		    margin-top: 0.5em;
	}

    .service-section .section__content,
    .service-section:nth-of-type(2) .section__content, 
    .service-section:nth-of-type(3) .section__content{
        margin-top: 30px;
    }

    .service-section:nth-of-type(1) .text-img-wrap {
        padding-bottom: 250px;
    }

    .service-section:nth-of-type(1) .text-img-wrap .img-wrap {
    width: 330px;
    height: 280px;
    transform: translate(0, 15%);
    }

    .service-section01__project {
        margin-top: 63px;
    }
	.service-section .text-img-wrap{
		margin-left:0;
	}

    .service-section01__project .top-project__content {
        margin-top: 40px;
    }

    .service-section:nth-of-type(2) .text-img-wrap .img-wrap {
    width: 322px;
    height: 245px;
    transform: translate(0, 25%);
    }

    .service-section:nth-of-type(2) .text-img-wrap {
        padding-bottom: 180px;
    }

    .service-section:nth-of-type(2) {
        padding: 61px 0 94px;
    }

    .service-section:nth-of-type(3) {
        padding: 68px 0 94px;
    }

    .service-section:nth-of-type(3) .text-img-wrap .img-wrap {
    width: 300px;
    height: 212px;
    transform: translate(0, 23%);
    }

    .service-section:nth-of-type(3) .text-img-wrap {
        padding-bottom: 170px;
    }
}

/* =======================
    project   
========================== */
.project-section{
    padding: 78px 0 190px;
}

.project-section .heading + .lead {
    margin: 1em 0 0 calc((94 / 1100) * 100%);
}

.project-section .section__content {
    margin-top: 46px;
}

.project-section .text-img-wrap {
    margin-left: calc((94 / 1100) * 100%);
}

.project-section .text-img-wrap .img-wrap {
    width: min(475.4px, calc((475.4 / 1600) * 100vw));
    height: min(510px, calc((510 / 1600) * 100vw));
    transform: translate(0, -8.2%);
}

.project-section__project{
    margin-top: 74px;
}

.project-section__project .top-project__content{
    margin-top: 0;
}

.project-section__project .project__box{
    background-color: #f0eee9;
}
.single-project-archive .breadcrumb-list,
.p_title_lead {
    background-color: #e1dcda;
}
.p_title_lead,
.single-project-archive .single-article__container{
	font-family: 'Aoboshi One', 'Noto Sans JP', sans-serif;
	font-weight:900;
}
.p_title_lead .p_title_box{
	max-width:1100px;
	margin: 0 auto;
	text-align:center;
	 font-size: 20px;
    line-height: 1.9;
    padding: 2.5% 2.45% 2.4%;
}
.black_block {
    background-color: #000000;
    color: #ffffff;
    padding: 3% 3%  2%;
    border-radius: 1em;
	 border: double 10px #fff;
	text-align:center;
    max-width: 980px;
    margin: 0 auto;
}
.black_block .widget-title{
	font-size:25px;
	  line-height: 1.1;
}
.single-project-archive .black_block .textwidget p{
	margin-top:0;
	font-size:40px;
	margin-bottom: 0 !important;
}
.single-project-archive .textwidget p{
	font-size:20px;
	text-align:center;
	 line-height: 2.2;
    margin-top: 2.235em;
	 word-break: normal;
    line-break: strict;
}
.single-project-archive .textwidget p:last-child{
    margin-bottom: 30px;
}
.single .single-article img{
	width: auto;
}
.single-project-archive img{
	margin: 0 auto;
	 display: block;
}
.project_discussion {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 1%;
}
.discussion_flex{
    display: flex;
    flex-direction: row-reverse;
	  margin-bottom: 50px;
}
.discussion_flex.left{
    flex-direction: initial;
}
.discussion_flex .img-wrap{
    max-width: 109px;
	    width: 38%;
}
.discussion_flex .img-wrap img{
    width: 100%;
}
.discussion_flex .text{
    background-color: #ffffff;
    padding: 2% 3%;
    border-radius: 1em;
    border:2px solid #e6e3da;
    margin: 0 2%;
    display: flex;
    align-items: center;
	  min-width: 250px;
}
.discussion_flex .text img{
    max-height: 37.5px;
	margin: 0 auto 0 0;
}
.discussion_flex .text p{
    line-height: 1.8;
	 margin-top: 0 !important;
	margin-bottom: 0 !important;
	text-align: right;
}
.discussion_txt {
    margin-bottom: 50px;
}
.gray-bg {
    background-color: #f0eee9;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
	  margin-top: 100px;
    padding: 65px 0 145px;
}
.quest {
    background-color: #fed292;
    border: 5px solid #ce894f;
    border-radius: 1em;
    text-align: center;
	color:#4f0c0c;
	max-width: 673px;
	  margin: 105px auto 40px;
}
.quest .widget-title{
	font-size:25px;
	 border-bottom: 2px solid #ce894f;
    padding: 1% 0;
}

.quest .textwidget{
  padding: 1% 0;
}
.quest .textwidget p{
	font-size:40px;
	margin-top:0;
	 margin-bottom: 0 !important;
}
.did{
    background-color: #f0eee9;
	    padding: 5% 4%;
}
.did .widget-title {
    color: #7a434b;
	  margin-bottom: 35px;
}
.did_flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.did_item{
    width: 31.3%;
    margin-right: 3%;
	margin-bottom: 3%;
    background-color: #ffffff;
    padding: 0 2% 2%;
}

.did_item:nth-child(3n + 3){
    margin-right: 0;
}
.did_item .text {
    line-height: 1.5;
    text-align: center;
    margin-top: 13px;
	  min-height: 76px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.did_item .img-wrap img{
	width: 100%;
}

.single-project-archive .breadcrumb-list {
    display: none;
}
@media screen and (max-width: 1024px){
  
}

@media screen and (max-width: 767px){
    .project-section {
        padding: 68px 0 90px;
    }
	.project-section .heading + .lead{
		  margin-top: 0.4em;
	}

    .project-section .section__content {
        margin-top: 30px;
    }
	.project-section .text-img-wrap{
    margin-left: 0;
	}

    .project-section .text-img-wrap .img-wrap {
        width: 227.8px;
        height: 244.4px;
        transform: translate(0, 0);
    }

    .project-section__project {
        margin-top: 60px;
    }
	.black_block .widget-title{
		    font-size: 18px;
		    line-height: 1.6;
	}
	.single-project-archive .black_block .textwidget p{
		    font-size: 26px;
		    line-height: 1.4;
		text-align: center !important;
	}
	
	.single-project-archive .textwidget p{
		font-size: 18px;
    line-height: 1.9;
		margin-top: 1.1em;
}
	.single-project-archive .white-bg .textwidget p,
	.single-project-archive .gray-bg .textwidget p{
		text-align:left;
	}
	.single-project-archive .textwidget p:last-child{
		    margin-bottom: 15px;
}
	.gray-bg{
		    padding: 35px 5vw 75px;
		    margin-top: 50px;
}
	.black_block{
		    padding: 6% 3% 6%;
}
	.discussion_flex{
		    display: block;
}
	.discussion_flex .text img {
    max-height: 28px;
}
	.left .discussion_flex .text{
		margin: 0 auto 0 0;
	}
	.discussion_flex .text{
    display: table;
    padding: 8vw 9vw 5vw;
	margin: 0 0 0 auto;
	}
	.discussion_flex.left .text{
		margin: 0 auto 0 0;
		 min-width: 195px;
	}
	.discussion_flex .img-wrap {
    max-width: 78px;
		    margin: 0 7% -5vw auto;
}
	 .discussion_flex.left .img-wrap{
		margin: 0 auto -5vw 7%;
	}
	.p_title_lead .p_title_box{
    font-size: 18px;
    line-height: 1.6;
    padding: 5vw;
}
	.single-project-archive .discussion_flex .text p{
    font-size: 17px;
    line-height: 1.7;
	}
	.quest{
		    margin: 55px auto 15px;
}
	.quest .textwidget p{
		margin-top:0;
		  text-align: center !important;
	}
	.did{
		    padding: 5vw;
	}
	.did_flex{
		    width: 90%;
    margin: 0 auto;
	}
	.did_item{
		    width: 100%;
		    margin-right: 0%;
    margin-bottom: 7%;
    padding: 3vw;
	}
	.did_item .text{
	    margin-top: 5px;
}
	.did .widget-title{
		    font-size: 17px;
		    margin-bottom: 20px;
	}
	.did_item:nth-child(3n + 3){
    margin-right: 0%;
}
	
}

/* =======================
    news
========================== */
.news-archive{
    padding: 71px 0 100px;
}

.news-article{
    max-width: 823px;
    margin: auto;
    border-top: 1px solid #c8c8c8;
    position: relative;
    transition: 0.4s ease;
}

.news-article:hover{
    opacity: 0.8;
}

.news-article:nth-last-of-type(1){
    border-bottom: 1px solid #c8c8c8;
}

.news-article > a{
    display: block;
    padding: 25px 18px 27px 25px;
    min-height: 132px;
}

.news-article--top{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.news-article--top span{
    margin: 0 15px 10px 0;
}

.news-article--top span:last-child{
    margin-top: 0;
}

.news-cat a{
    display: block;
    font-size: 13px;
    font-weight: 400;
    color: #ffffff;
    line-height: 1;
    padding: 0.461em 1.23em 0.538em;
    background-color: #7a434b;
}

.news-date{
    line-height: 1;
    font-size: 14px;
    font-weight: 400;
    color: #333333;
}

.news-article--bottom{
    display: flex;
    align-items: flex-start;
    margin-top: 5px;
    padding-left: 2%;
}

.news-article__title{
    font-size: 1em;
    color: #333333;
    line-height: 1.588;
    width: calc((638.6 / 764.4) * 100%);
    line-break: anywhere;
    -webkit-line-break: anywhere;
}

.news-article__btn{
    font-size: 14px;
    font-weight: 400;
    color: #7a434b;
    max-width: max-content;
    margin-left: auto;
    line-height: 1;
    margin-top: 2.142em;
    position: relative;
}

.news-article__btn::before{
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-bottom: 1px solid #7a434b;
    border-right: 1px solid #7a434b;
    position: absolute;
    top: 50%;
    right: 100%;
    transform: translate(-10px, -50%) rotate(-45deg) skew(5deg, 5deg);
}

@media screen and (max-width: 767px){
    .news-archive {
        padding: 61px 0 70px;
    }

    .news-article--bottom{
        display: block;
		   padding-left: 0;
    }

    .news-article > a {
        padding: 4vw;
    min-height: 108px;
    }

    .news-article__title{
        width: 100%;
    }

    .news-article__btn {
        margin-top: 10px;
		font-size: 13px;
    }
	.news-article--top span{
		margin-bottom:0;
		margin-right:5px;
	}
	.news-cat a{
		    font-size: 11px;
	}
}

/* =======================
    contact    
========================== */
.contact-section{
    padding: 65px 0 85px;
}

.contact-section form{
    max-width: 840px;
    margin: auto;
}

.contact-form__list{
    max-width: 800px;
}

.contact-form__list > div + div{
    margin-top: 39px;
}

.contact-form__list dt{
    font-size: 19px;
    color: #7a434b;
    letter-spacing: 0.01em;
    line-height: 1.684;
    font-weight: 500;
}

.contact-form__list dt span{
    display: inline-block;
    color: #ffffff;
    font-size: 0.789em;
    letter-spacing: 0.01em;
    line-height: 1;
    vertical-align: top;
    padding: 0.4em 1.33em;
    border-radius: 15px;
    background-color: #7a434b;
    margin-right: 0.533em;
    border: 2px solid #7a434b;
}

.contact-form__list dt span.any{
    background-color: #ffffff;
    color: #7a434b;
}

.contact-form__list dd{
    width: calc(100% - 70.15px - 8px);
    margin: 3px 0 0 auto;
    font-size: 1em;
    line-break: anywhere;
}

.contact-form__list input[type="text"],
.contact-form__list input[type="email"],
.contact-form__list textarea{
    width: 100%;
    background-color: #e9e9e9;
    padding: 0.94em 1.352em;
}

.contact-form__list textarea{
    min-height: 240px;
    resize: vertical;
}

.contact-form__list input[type="text"]::placeholder,
.contact-form__list input[type="email"]::placeholder,
.contact-form__list textarea::placeholder{
    font-size: 15px;
    color: #8c8c8c;
    line-height: 1.46;
}

.contact-form__privacy{
    font-size: 15px;
    line-height: 1.466;
    color: #333333;
    border: 1px solid #c2c2c2;
    padding: 1.2em 1.466em;
    margin-top: 0.533em;
}

.contact-form__privacy a{
    color: #80193d;
    text-decoration: underline;
}

.contact-form__btns{
    display: flex;
    justify-content: center;
    margin-top: 59px;
}

.contact-form__btns .btn{
    max-width: 280px;
    padding: 1.466em 0;
    border-radius: 33px;
    color: #ffffff;
    background-color: #7a434b;
    border-color: #7a434b;
    margin-left: 20px;
}

.contact-form__btns .btn:first-child{
    margin: 0;
}

.contact-form__btns .btn:hover{
    color: #7a434b;
    background-color: #ffffff;
}

.contact-form__list .contact-type{
    display: grid;
    display: -webkit-grid;
    -webkit-display: grid;
    display: -ms-grid;
    grid-template-columns: 1fr 1fr 1fr;
    -ms-grid-column: 1fr 1fr 1fr;
    gap: 10px 0;
}

.contact-form__list .contact-type input[type="radio"],
.contact-form__privacy input[type="checkbox"]{
    display: none;
}

.contact-form__list .contact-type > .mwform-radio-field,
.contact-form__privacy > .mwform-checkbox-field{
    font-size: 16px;
    display: inline-block;
    margin: 0;
}

.contact-form__list .contact-type > .mwform-radio-field{
    max-width: 235px;
}

.contact-form__list .contact-type > .mwform-radio-field:nth-child(3n + 1){
    margin-left: 0;
}

.contact-form__list .contact-type label,
.contact-form__privacy label{
    position: relative;
    display: inline-block;
}

.contact-form__list .contact-type label::before,
.contact-form__privacy label::before{
    content: "";
    display: block;
    width: 25px;
    height: 25px;
    border: 2px solid #7a434b;
    background-color: #ffffff;
    position: absolute;
    top: 4px;
    left: 0;
}

.contact-form__list .contact-type .mwform-radio-field-text,
.contact-form__privacy .mwform-checkbox-field-text{
    line-height: 2;
    letter-spacing: 0.01em;
    display: inline-block;
    padding-left: 35px;
    position: relative;
    cursor: pointer;
}

.contact-form__list .contact-type .mwform-radio-field-text::before,
.contact-form__list .contact-type .mwform-radio-field-text::after,
.contact-form__privacy .mwform-checkbox-field-text::before,
.contact-form__privacy .mwform-checkbox-field-text::after{
    content: "";
    display: block;
    height: 3px;
    background-color: #7a434b;
    position: absolute;
    left: 2px;
    transform-origin: left;
    opacity: 0;
    transition: 0.4s ease;
}

.contact-form__list .contact-type input[type="radio"]:checked + .mwform-radio-field-text::before,
.contact-form__list .contact-type input[type="radio"]:checked + .mwform-radio-field-text::after,
.contact-form__privacy input[type="checkbox"]:checked + .mwform-checkbox-field-text::before,
.contact-form__privacy input[type="checkbox"]:checked + .mwform-checkbox-field-text::after{
    opacity: 1;
}

.contact-form__list .contact-type .mwform-radio-field-text::before,
.contact-form__privacy .mwform-checkbox-field-text::before{
    width: 13px;
    top: 16px;
    transform: rotate(45deg);
}

.contact-form__list .contact-type .mwform-radio-field-text::after,
.contact-form__privacy .mwform-checkbox-field-text::after{
    width: 23px;
    bottom: 4px;
    left: 10px;
    transform: rotate(-52deg);
}

.contact-form__privacy > p{
    margin-bottom: 1.33em;
}

@media screen and (max-width: 1024px){
    .contact-form__list dt{
        font-size: 18px;
    }

    .contact-form__list .contact-type > .mwform-radio-field,
    .contact-form__privacy > .mwform-checkbox-field{
        font-size: 15px;
    }

    .contact-form__list .contact-type{
        grid-template-columns: 1fr 1fr;
        -ms-grid-column: 1fr 1fr;
    }

    .contact-form__list .contact-type .mwform-radio-field-text, 
    .contact-form__privacy .mwform-checkbox-field-text{
        padding-left: 30px;
    }
}

@media screen and (max-width: 767px){
	.contact-section{
		    padding: 50px 0 65px;
	}
    .contact-form__list dt{
        font-size: 16px;
    }

    .contact-form__list dd {
          width: 98%;
    }
	.contact-form__list dt span{
		    font-size: 0.7em;
		    padding: 0.4em 1em 0.5em;
	}
	.contact-form__list > div + div{
		    margin-top: 27px;
	}
	.contact-form__privacy > p {
    margin-bottom: 0.6em;
}

    .contact-form__list input[type="text"]::placeholder,
    .contact-form__list input[type="email"]::placeholder,
    .contact-form__list textarea::placeholder,
    .contact-form__privacy{
        font-size: 14px;
    }

    .contact-form__list textarea {
        min-height: 150px;
    }

    .contact-form__btns{
        flex-direction: column;
        align-items: center;
		margin-top: 40px;
    }

    .contact-form__btns .btn{
        margin: 20px 0 0;
		    padding: 1.2em 0;
		width: 75%;
    }

    .contact-form__list .contact-type{
        display: block;
    }
    

    .contact-form__list .contact-type > .mwform-radio-field,
    .contact-form__privacy > .mwform-checkbox-field{
        font-size: 14px;
    }

    .contact-form__list .contact-type > .mwform-radio-field,
    .contact-form__list .contact-type label,
    .contact-form__list .contact-type .mwform-radio-field-text{
        width: 100%;
    }

    .contact-form__list .contact-type > .mwform-radio-field + .mwform-radio-field{
        margin-top: 5px;
    }

    .contact-form__list .contact-type .mwform-radio-field-text, 
    .contact-form__privacy .mwform-checkbox-field-text{
        padding-left: 25px;
    }

    .contact-form__list .contact-type label::before, 
    .contact-form__privacy label::before{
        width: 20px;
        height: 20px;
        top: 5px;
    }

    .contact-form__list .contact-type .mwform-radio-field-text::before, 
    .contact-form__privacy .mwform-checkbox-field-text::before {
        width: 8px;
    }

    .contact-form__list .contact-type .mwform-radio-field-text::after, 
    .contact-form__privacy .mwform-checkbox-field-text::after {
        width: 18px;
        bottom: 3px;
        left: 8px;
    }
}

/* =======================
    single news
========================== */
.single-news .single-article__container{
    padding: 70px 0 105px;
}

.single-news .single-article{
    max-width: 890px;
    margin: auto;
}

.single-news .news-article__title{
    font-size: 33px;
    width: 100%;
    padding-bottom: 0.5454em;
}

.single-news .single-article__body{
    padding: 50px 0 70px;
    border-top: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
}

.single-article__container .btn{
    margin: 7em auto 0;
}

@media screen and (max-width: 1024px){
    .single-news .single-article__body{
        padding: 40px 0 60px;
    }

    .single-news .news-article__title{
        font-size: 27px;
    }
}

@media screen and (max-width: 767px){
    .single-news .single-article__container{
        padding: 50px 0 85px;
    }

    .single-news .single-article__body{
        padding: 30px 0 50px;
    }

    .single-news .news-article__title{
        font-size: 21px;
    }

    .single-article__container .btn{
        margin-top: 50px;
    }
}

/* =======================
    パスワード保護
========================== */
.password-container p{
    text-align: center;
    font-size: 1em;
}

.password-container p + p{
    margin-top: 20px;
}

.password-container p:last-child{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.password-container input[type="password"]{
    background-color: #e9e9e9;
    padding: 0.588em 0.88em;
    text-align: left;
    max-width: 200px;
}

.password-container input[type="submit"]{
    display: block;
    font-size: 15px;
    text-align: center;
    width: 100%;
    max-width: 258px;
    border: 1px solid #000000;
    border-radius: 30px;
    padding: 1.2em 0;
    background-color: #ffffff;
    transition: 0.4s ease;
    margin-top: 1.333em;
}

.password-container input[type="submit"]:hover{
    background-color: #000000;
    color: #ffffff;
}

@media screen and (max-width: 767px){
    .password-container input[type="submit"]{
        font-size: 14px;
    }
}
/* =======================
    Privacy Policy
========================== */

.pra{
    padding: 78px 0 101px;
}

.pra tr:nth-child(odd) {
    background-color: #f0eee9;
}
.pra td,
.pra th{
    padding: 15px 25px;
    font-weight: 400 !important;
    font-size: 16px;
    line-height: 1.9;
}

.pra th {
    min-width: 290px;
}
@media screen and (max-width: 767px){
	.pra {
    padding: 60px 0 70px;
}
    .pra th {
        min-width: auto;
		    padding: 15px 25px 0;
    }
	.pra td{
		padding: 5px 25px 15px;
		font-size: 15px;
		line-height: 1.6;
	}
    .pra td,
    .pra th{
        display: block;
    }
}