@charset "UTF-8";

/* common /////////////////////////////////////////////////////////////////////////////////////////// */

/* color */
.c1,.c1 a{
    color: var(--c1);
}
.c2,.c2 a{
    color: var(--c2);
}
.c3,.c3 a{
    color: var(--c3);
}
.c4,.c4 a{
    color: var(--c4);
}
.c5,.c5 a{
    color: var(--c5);
}
.c6,.c6 a{
    color: var(--c6);
}
.cb,.cb a{
    color: var(--cb);
}
.cw,.cw a{
    color: #ffffff;
}

/* bg */
.bg1{
    background-color: var(--c1);
}
.bg2{
    background-color: var(--c2);
}
.bg3{
    background-color: var(--c3);
}
.bg4{
    background-color: var(--c4);
}
.bg5{
    background-color: var(--c5);
}
.bg6{
    background-color: var(--c6);
}
.bgw{
    background-color: #fff;
}

/* font-family */
.ffdg{
    font-family: 'Dela Gothic One', cursive;
}

.ffmp{
    font-family: 'M PLUS 1p', sans-serif;
}

/* cmn_cms_editor */
.cmn_cms_editor {
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.cmn_cms_editor > *:nth-child(1) {
    margin-top: 0;
}

.cmn_cms_editor h3,
.cmn_cms_editor h4,
.cmn_cms_editor h5,
.cmn_cms_editor h6 {
    display: block;
    padding: 0 0 .3em 0;
    border-color: var(--c1);
    margin: .6em 0 .8em;
    line-height: 1.6;
	/* letter-spacing: -0.0415625em; */
	letter-spacing: -0.0015625em;
}

.cmn_cms_editor h3 {
    font-size: 2.2rem;
    border-width: 0 0 1px 0;
    border-style: double;
}

.cmn_cms_editor h4 {
    font-size: 2.0rem;
    border-width: 0 0 1px 0;
    border-style: dashed;
}

.cmn_cms_editor h5 {
    font-size: 1.8rem;
    border-width: 0 0 1px 0;
    border-style: dotted;
}

.cmn_cms_editor h6 {
    font-size: 1.6rem;
    border-width: 0 0 1px 0;
    border-style: dotted;
}


.cmn_cms_editor p {
    padding: 8px 0 10px;
    margin: 0 0 8px 0;
    /*text-align: justify;
    text-justify: inter-ideograph;*/
}

.cmn_cms_editor img {
    display: inline-block;
    width: auto;
    height: auto;
    margin-top: 8px;
    margin-bottom: 8px;
}

.cmn_cms_editor iframe[src*="youtube"] {
    /* display: inline-block;
    width: 100%;
    height: 56.25vw;
    max-height: 506px;
    margin-top: 8px;
    margin-bottom: 8px; */

    display: inline-block;
    max-width: 100%;
    margin-top: 8px;
    margin-bottom: 8px;
}

.cmn_cms_editor iframe[src*="google"][src*="map"] {
    display: inline-block;
    max-width: 100%;
    max-height: 600px;
    margin-top: 8px;
    margin-bottom: 8px;
}

.cmn_cms_editor strong {
    font-weight: 900;
}

.cmn_cms_editor em {
    font-style: italic;
}

.cmn_cms_editor a {
    display: inline-block;
    margin-top: 4px;
    margin-bottom: 4px;
    color: #1673C7;
    text-decoration: underline;
    word-break: break-all;
}

.cmn_cms_editor a:hover {
    color: var(--c1);
}

.cmn_cms_editor table {
    margin: 0 0 8px 0;
    word-break: break-all;
}

.cmn_cms_editor th,
.cmn_cms_editor td {
    margin: 0 0 8px 0px;
    padding: 6px 8px;
    border: 1px solid var(--c1);
}

/* .cmn_cms_editor td:nth-of-type(1) {
    border-left: 1px solid #FFFFFF;
}

.cmn_cms_editor td:nth-last-of-type(1) {
    border-right: 1px solid #FFFFFF;
}

.cmn_cms_editor th {
    color: #FFFFFF;
    border: 1px solid #ffffff;
    background-color: #1C4365;
}

.cmn_cms_editor td {
    color: #1C4365;
    border: 1px solid #1C4365;
    background-color: #ffffff;
}
 */

.cmn_cms_editor ul {
    margin: 0 0 8px 0;
}

.cmn_cms_editor ul li {
    list-style: disc;
    margin: 0 0 4px 20px;
}

.cmn_cms_editor ol {
    margin: 0 0 8px 0;
    padding-left: 0;
}

.cmn_cms_editor ol li {
    list-style: decimal;
    margin: 0 0 4px 20px;
}

.cmn_cms_editor blockquote {
    color: #333333;
    background-color: #F3F3F3;
    margin-inline-start:8px;
    margin-inline-end:8px;
    padding: 15px;
}


/* WPオリジナルクラス有効化 */
.cmn_cms_editor .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.cmn_cms_editor .alignright {
    display: block;
    margin-left: auto;
}

.cmn_cms_editor .alignleft {
    display: block;
    margin-right: auto;
}

.cmn_cms_editor .wp-caption {
    border: 1px solid #ddd;
    text-align: left;
    background-color: #f3f3f3;
    padding: 5px;
    border-radius: 3px;
}

.cmn_cms_editor .wp-caption img {
    padding: 0;
    border: 0;
    margin: 0;
}

.cmn_cms_editor .wp-caption p.wp-caption-text {
    font-size: 14px;
    line-height: 1.5;
    padding: 0;
    margin: 0;
}



/* WPオリジナルクラス有効化 */
.cmn_cms_editor .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.cmn_cms_editor .alignright {
    display: block;
    margin-left: auto;
}

.cmn_cms_editor .alignleft {
    display: block;
    margin-right: auto;
}

.cmn_cms_editor .wp-caption {
    border: 1px solid #ddd;
    text-align: left;
    background-color: #f3f3f3;
    padding: 5px;
    border-radius: 3px;
}

.cmn_cms_editor .wp-caption img {
    padding: 0;
    border: 0;
    margin: 0;
}

.cmn_cms_editor .wp-caption p.wp-caption-text {
    font-size: 14px;
    line-height: 1.5;
    padding: 0;
    margin: 0;
}


/* modalmenu */

/* #header_modalmenu_check {
    display: none;
}

.header_modalmenu_btn {
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;

    border-radius: 50%;
    background-color: #fff;

    cursor: pointer;
    position: fixed;
    top: 10px;
    right: 10px;

	z-index: 90000;
}

.header_modalmenu_btn .box {
    display: inline-block;
    width: 30px;
    height: 20px;
    position: absolute;
    top: 20px;
    left: 15px;
}

.header_modalmenu_btn .box span {
    position: absolute;
    left: 0;
    top: calc((100% - 1px)/2);
    display: block;
    width: 100%;
    height: 1px;
    background-color: var(--c1);

    transition: all .3s;
}

.header_modalmenu_btn .top {
    transform: translateY(-5px);
}

.header_modalmenu_btn .bottom {
    transform: translateY(5px);
}

#header_modalmenu_check:checked ~ .header_modalmenu_btn .top {
    transform: rotate(-135deg);
}

#header_modalmenu_check:checked ~ .header_modalmenu_btn .center {
    opacity: 0;
}

#header_modalmenu_check:checked ~ .header_modalmenu_btn .bottom {
    transform: rotate(135deg);
}

#header_modalmenu_close_bg {
    width: 100%;
    height: 100%;

    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.6);

	z-index: -1;
}

#header_modalmenu_area {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;

    opacity: 0;
    pointer-events: none;
    transition: all .3s;


	z-index: 80000;
}

#header_modalmenu_check:checked ~ #header_modalmenu_area {
    opacity: 1;
    pointer-events: all;
}

.header_modalmenu_areainner {
    padding: 80px 0 40px;

    background-color: #ffffff;
}

.header_modalmenu_nav ul {
}

.header_modalmenu_nav ul li{
}

.header_modalmenu_nav a {
    display: block;
    padding: 14px;
    text-align: center;
    color: #017F01;
} */

/* cmn ///////////////////////////////////// */

/* header */

.header_infobar{
    height: 80px;
    padding: 10px 30px;
    position: absolute;
    top: 0px;
    left: 0px;

    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 100000;
}

.header_logo{
    height: 100%;
}

.header_logo img{
    height: 100%;
}

/* cmn_maintitle */

.cmn_mainimg{
    height: 200px;
    padding-top: 100px;

    background-image: url(../img/cmn_mainimg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.cmn_maintitle > h1{
    text-transform: capitalize;
}


/* footer */

.footer_contact_info{
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer_top > div > dl > div{
    display: flex;
    border-top: solid 1px var(--cb);
}

.footer_top > div > dl > div > dt{
    width: 215px;
    height: 80px;
    flex-shrink: 0;

    background: linear-gradient(270deg,var(--c1) 0%,var(--c1) 6px,transparent 6px,transparent 100%);

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.footer_top > div > dl > div > dt > p{
    padding-left: 20px;
}

.footer_top > div > dl > div > dd{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer_top > div > dl > div > dd > a{
    width: 200px;
    border: solid 1px var(--cb);
}


.footer_bottom{
    height: 40px;
}

.footer_gotop {
    position: fixed;
    right: 10px;
    bottom: 10px;
    display: none;
    z-index: 50000;
}

.footer_gotop a{
    display: block;
    width: 60px;
    height: 60px;
    border-radius: 30px;
    background-color: #fff;
    background-image: url(../img/footer_gotop_icon.svg);
    background-repeat: no-repeat;
    background-position: center center;
}

.footer_gotop a:hover{
    opacity: 1;
    transform: translateY(-10px);
}

/* cmn_tit */

/* cmn_btn */

.cmn_btn a,
.search_btn_box button{
    display: block;
    width: 200px;
    height: 60px;
    border-radius: 30px;
    background-color: var(--c5);
    border: solid 1px var(--c5);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cmn_btn a:hover,
.search_btn_box button:hover{
    background-color: #fff;
    color: var(--c5);
}

/* cmn_dl */

.cmn_dl > div {
    display: flex;
    border-bottom: solid 1px var(--cb);
    line-height: 20px;
}
.cmn_dl > div:first-of-type {
    border-top: solid 1px var(--cb);
}

.cmn_dl > div dt{
    width: 250px;
    flex-shrink: 0;

    display: flex;
    padding: 20px 30px;
}

.cmn_dl > div dd{
    width: 100%;

    display: flex;
    flex-direction: column;
    padding: 20px 30px;
}

/* cmn_deco */

.cmn_deco{
    background-image: url(../img/cmn_main_deco_l.png), url(../img/cmn_main_deco_r.png);
    background-repeat: repeat-y;
    background-size: auto 50px;
    background-position: left top, right top;
}

/* cmn_brad */

.cmn_brad{
    border-radius: 20px;
}

/* cmn_searchbox */
.cmn_searchbox form{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.select_box{
    width: 250px;
}

.select_box::after{
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 13.0px 7.5px 0 7.5px;
    border-color: var(--cb) transparent transparent transparent;
    content: "";
    display: inline-block;
    pointer-events: none;
    position: absolute;
    top: 15px;
    right: 15px;
}

.cmn_searchbox form select,
.cmn_searchbox form input{
    height: 40px;
    padding: 0 20px;
    border: none;
    border-radius: 20px;
    appearance: none;
    -webkit-appearance: none;
}

.cmn_searchbox form select{
    width: 100%;
}

.cmn_searchbox form input{
    width: 450px;
}

/* cmn_arr_r */

.cmn_arr_r{
    padding-left: 20px;
    background-image: url(../img/cmn_arr_r.svg);
    background-repeat: no-repeat;
    background-position: left top 7px;
}

/* cmn_tags */

:root{
    --estate: #39b54a;
    --medical: #e4017f;
    --office: #00a0e9;
    --archtecture: #01958d;
}

.cmn_tags{
    display: flex;
    flex-wrap: wrap;
}

.cmn_tags a,
.cmn_tags span{
    display: block;
    line-height: 30px;
    padding-left: 8px;
    margin-top: 10px;
    margin-right: 10px;
    padding-right: 8px;

    border-radius: 15px;
    background-color: #ccc;
}

.cmn_tags a:hover{
    opacity: .7;
}

.cmn_tags .cat_estate{
    background-color: var(--estate);
}

.cmn_tags .cat_medical{
    background-color: var(--medical);
}

.cmn_tags .cat_office{
    background-color: var(--office);
}

.cmn_tags .cat_archtecture{
    background-color: var(--archtecture);
}

.cmn_tags .cat_{
    background-color: var(--);
}

/* cmn_company_list */

.cmn_company_list ul{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 50px;
}

.cmn_company_list ul li{
    box-shadow: 4px 4px 0 var(--c6);
}

.todetail_img{
    width: 100%;
    height: 200px;

    border-radius: 20px 20px 0 0;
    border: solid 1px var(--c3);
    overflow: hidden;
}

.todetail_img img{
    transition: all .3s;
}

.todetail_img:hover img{
    transform: scale(1.1);
}

.todetail_button{
    width: 150px;
    line-height: 30px;
    border-radius: 20px 0 20px 0;

    position: absolute;
    bottom: 0px;
    right: 0px;
}

.todetail_button span{
    padding-right: 15px;

    background-image: url(../img/cmn_companylist_arr_r.svg);
    background-repeat: no-repeat;
    background-position: right center;
}


/* home ///////////////////////////////////// */

/* home_mainimg */

.home_mainimg{
    width: 100%;
    /* height: 700px; */
    /* height: 76vw; */
    /* max-height: 760px; */

    background-image: url(../img/home_mainimg_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.home_mainimg > div{
    height: 100%;
}

.home_mainimg h1{
    max-width: 800px;
}

.home_mainimg figure{
    width: 100%;
    /* position: absolute;
    top: 250px; */
    margin-top: clamp(-13rem,-12.15vw,0rem);
    margin-left: auto;
    margin-right: auto;
}

.home_mainimg p{
    width: 100%;
    /* position: absolute;
    bottom: 10px; */
    padding: 28px 0;
    margin-left: auto;
    margin-right: auto;
    font-size: clamp(1.4rem,calc(100vw * 1.8 / 100),1.8rem);
}

.home_mainimg_formbtn_wrap{
    width: 100%;
    /* font-size: clamp(1.4rem,calc(100vw * 1.8 / 100),1.8rem); */
}

.home_mainimg_formbtn:not(#_){
    width: 20.55em;
    height: 3.2em;
}

/* home_info */

.home_info > div{
    display: flex;
    justify-content: space-between;
}

.home_info h2{
    padding-left: 20px;
    background-image: url(../img/home_info_arr_r.svg);
    background-repeat: no-repeat;
    background-position: left center;
}

.home_info_news{
    width: 100%;
    /* margin-right: 50px; */
}

.home_info_news > div{
    height: 300px;
}

.home_info_news > div ul{
    height: 100%;
    overflow-y: auto;
}

.home_info_news > div ul > li > a{
    color: var(--cb);
    line-height: 20px;
    padding: 20px 10px;

    border-bottom: solid 1px #ceeafd;

    display: flex;
}

.home_info_news > div ul > li > a:hover{
    color: var(--c1);
}

.home_info_news > div ul > li > a span{
    display: block;
    width: 95px;
    flex-shrink: 0;
}

.home_info_news > div ul > li > a p{
    width: 100%;
    padding-right: 25px;
    background-image: url(../img/home_info_arr_r_blue.svg);
    background-repeat: no-repeat;
    background-position: right center;
}

.home_info_fb{
    width: 300px;
    flex-shrink: 0;
}

.home_info_fb > div{
    width: 100%;
    height: 300px;
}

/* news ///////////////////////////////////// */

.news_body h2.cmn_arr_r{
    background-position: left top 8px;
}


/* company ///////////////////////////////////// */

.company_about h2 span{
    background-image: linear-gradient(0deg, #fff33f 0%, #fff33f 10px, transparent 10px, transparent 100%);
}

.company_body .swiper-slide{
    width: 600px;
}

.company_body .swiper-slide img{
    width: 100%;
    height: 400px;
    object-fit: cover;
}

.company_body .swiper-button-next, .company_body .swiper-button-prev{
    width: 40px;
    height: 40px;
}

.company_body .swiper-button-prev, .company_body .swiper-container-rtl .swiper-button-next{
    background-image: url(../img/swiper_btn_prev.svg);
    background-size: contain;
    left: 30px;
}

.company_body .swiper-button-next, .company_body .swiper-container-rtl .swiper-button-prev{
    background-image: url(../img/swiper_btn_next.svg);
    background-size: contain;
    right: 30px;
}

.cmn_btn.company_pdf a{
    flex-direction: column;
    width: 300px;
    height: 80px;
    border-radius: 40px;
}

.company_proflist .cmn_cms_editor {
    display: block;
    word-break: break-all;
}
