@charset "UTF-8";

@media only screen and (max-width: 1400px) {

.home_instagram_list{
    padding-left: 3%;
    padding-right: 3%;
}

}



@media only screen and (max-width: 1100px) {

.header_infobar .cmn_btn{
    display: none;
}

.mail_btn_sp{
    display: block;
}

.mail_btn_sp a{
    display: block;
    width: 60px;
    height: 60px;
    margin: 20px 0;
    background-color: #fb9954;
}

.header_infobar .mail_btn_sp a{
    background-image: url(../img/header_contact_mail.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 34px;
    }

}








@media only screen and (max-width: 1000px) {

/* common /////////////////////////////////////////////////////////////////////////////////////////// */
.spNone {
    display: none;
}
.pcNone {
    display: block;
}

 .spNone {
    display: none;
}

.pcNone {
    display: block;
}

.cmn_maxbox_1060,
.cmn_maxbox {
    padding-left: 3%;
    padding-right: 3%;
}

.cmn_dl > div > dd {
	width: 100%;
}

.news_dl > div > dd {
    padding: 0px;
}

/* aタグ(電話番号) */
a[href^="tel"] {
    pointer-events: all;
}

body {
    font-size: 1.4rem;
}

/* header */
.header_infobar {
    height: 60px;
    padding: 0 0 0 2%;
}

.header_logo {
    width: 130px;
    padding: 0;
}

.mail_btn_sp a{
    margin: 0;
}

.header_logo a {
    top: 25%;
}

.header_nav {
    display: none;
}

.header_modalmenu_btn {
    display: inline-flex;
}

/* footer */
.footer_gotop {
    right: 0;
    bottom: 100px;
    z-index: 20;
}
.footer_gotop a{
    display: block;
    padding-right: 20px;
    height: 120px;
}

/* home /////////////////////////////////////////////////////////////////////////////////////////// */
.home_mainimg{
height: calc(100vh - 60px);
}

.home_newsbox{
    display: block;
}

.home_newsbox h2{
    text-align: center;
    font-size: 2.4rem;
}

.home_news .news_dl{
    width: 100%;
}

.home_msg .txtbox p{
    font-size: 1.8rem;
    line-height: 34px;
}

.home_point li h3{
    font-size: 1.8rem;
}

.home_case .home_case_item{
    padding: 0 25px;
}

/* news /////////////////////////////////////////////////////////////////////////////////////////// */
/* point /////////////////////////////////////////////////////////////////////////////////////////// */
.point_section > div{
    flex-wrap: wrap;
}
.point_section:first-of-type{
    background: #f2f2f2;
    padding-bottom: 40px;
}
.point_section:nth-of-type(2){
    background: #ffffff;
    padding-bottom: 40px;
}
.point_section:nth-of-type(3){
    background: #f2f2f2;
    padding-top: 0;
}
.point_section > div > div > p{
    margin-bottom: 40px;
}
.point_section:nth-of-type(1) > div > div >figure,
.point_section:nth-of-type(2) > div > div >figure{
    display: none;
}
/* company /////////////////////////////////////////////////////////////////////////////////////////// */
.company_greeting{
    display: block;
    height: auto;
}
.company_greeting_right{
    width: 100%;
}
.company_greeting_right > h2{
    width: 100%;
}
.company_greeting_right > p{
    width: 100%;
    padding-bottom: 70px;
}
.company_greeting_left{
    width: 100%;
}
.company_greeting_left > figure{
    margin-bottom: 0;
}
.company_greeting_left > p{
    padding: 15px 0;
}

/* service /////////////////////////////////////////////////////////////////////////////////////////// */
.service_body main > p{
    margin: 180px 0 130px;
}
.service_body .service_item{
    padding: 50px 0 80px;
}
.service_item strong{
    bottom: -70px;
}
/* case /////////////////////////////////////////////////////////////////////////////////////////// */


/* contact /////////////////////////////////////////////////////////////////////////////////////////// */
/* link /////////////////////////////////////////////////////////////////////////////////////////// */

}










@media only screen and (max-width: 800px) {

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

/* SUBメインタイトル */
.cmn_mainimg{
    height: 300px;
}

.cmn_maintitle{
    transform: translateY(80px);
}

/* 見出し1st（下線付き） */
.cmn_tit_1st{
    font-size: 3rem;
    margin-bottom: 80px;
}
.cmn_tit_1st::after{
    bottom: -30px;
}

/* SUBページ共通セクションボックス */
.cmn_boxouter {
    padding: 100px 3%;
}

/* 表形式dlリスト */

.cmn_dl > div {
	flex-wrap: wrap;
	padding: 18px 0;
}

.cmn_dl > div > dt {
	width: 100%;
	padding: 10px 10px 5px 10px;
	font-size: 1.5rem;
	text-align: left;
	font-weight: bold;
}

.cmn_dl > div > dd {
	width: 100%;
	padding: 0px 10px 10px 25px;
}

.news_dl > div > dd {
    padding: 0;
}

.news_dl > div > dd > a{
    padding: 0 35px 10px 25px;
    background-position: right 20px center;
}

/* header */

/* footer */
.footer_topbox {
    padding-top: 50px;
    padding-bottom: 50px;
}

.footer_topbox>.cmn_maxbox{
    width: 100%;
    margin-bottom: 0;
}

.footer_topbox .cmn_maxbox {
    display: block;
}

.footer_topbox_left{
    width: 100%;
}

.footer_logo {
    text-align: center;
}

.footer_logo img {
    width: 80%;
    max-width: 370px;
}

.footer_orginfo,
.footer_desc {
    margin: 20px 0 0 0;
    font-size: 1.3rem;
}

.footer_menu {
    margin: 50px 0 0 0;
}

.footer_topbox_right{
    margin: 0 auto;
}

.footer_menu a {
    font-size: 1.3rem;
}

.footer_btmbox {
    padding-top: 20px;
    padding-bottom: 10px;
}

.footer_btmbox > p {
    font-size: 1.2rem;
}

.footer_btmbox > small {
    margin: 10px 0 0 0;
    font-size: 1.1rem;
}


.footer_gotop img {
    width: 80%;
}

/* home /////////////////////////////////////////////////////////////////////////////////////////// */
.home_mainimg h1{
    width: 135px;
    height: 352.5px;
}

.home_mainimg h1 img{
    padding: 45px 37.5px;
}

.top_scrolldown{
    top: calc(50% + 200px);
}

.home_news .news_dl > div > dd {
    padding: 0;
}

.home_news .news_dl > div > dd > a{
    padding: 0 35px 10px 25px;
    background-position: right 20px center;
}

.home_point ul{
    display: block;
}
.home_point ul li{
    margin: 0 auto;
    margin-bottom: 20px;
}

.home_instagram{
    padding: 200px 0 120px;
    margin-bottom: 220px;
}

.home_instagram .top_subtitle_container_green{
    top: -200px;
}

.home_instagram_list_item{
    width: calc((100% - ((3 - 1) * 2.5%)) / 3);
    margin-right: 2.5%;
    margin-top: 2.5%;
}
.home_instagram_list_item:nth-of-type(5n){
    margin-right: 2.5%;
}
.home_instagram_list_item:nth-of-type(3n){
    margin-right: 0;
}
.home_instagram_list_item:nth-of-type(10){
    display: none;
}

.home_about ul li{
    padding-top: 100px;
}

.cmn_contact{
    width: 100%;
    margin: 0 0 100px;
}

.cmn_contact p{
    font-size: 1.8rem;
}

.cmn_contact .contact_info{
    display: block;
    text-align: center;
}

.cmn_contact_tel>small{
    margin-bottom: 30px;
}

.cmn_contact .contact_info .cmn_btn{
    margin: 0 auto;
}


/* news /////////////////////////////////////////////////////////////////////////////////////////// */
.news_text{
    margin-bottom: 80px;
}
/* point /////////////////////////////////////////////////////////////////////////////////////////// */
.point_body .cmn_boxouter {
    padding: 100px 0
}
.point_about{
    margin-bottom: 80px;
}

.point_section:last-of-type{
    margin-bottom: 0;
}

.point_section > div{
    justify-content: center;
}

.point_section > div > div{
    width: 100%;
}

.point_section > div > div > div{
    flex-direction:row;
    justify-content: center;
    margin-bottom: 40px;
}

.point_section > div > div > div > span{
    font-size: 5rem;
    line-height: 70px;
}

.point_section > div > div > div > h2{
    font-size: 3.6rem;
    padding: 0 0 0 40px;
}

.point_section > div > div > p{
    padding: 0;
    max-width: 560px;
    margin: 0 auto 40px
}
.point_section:nth-of-type(2n) > div > div > p{
    padding: 0;
}
/* company /////////////////////////////////////////////////////////////////////////////////////////// */
.company_body .cmn_boxouter{
    padding: 100px 0;
}
.company_greeting{
    padding-bottom: 0;
}

.company_greeting_right {
    background: linear-gradient(180deg,#ffffff 0%,#ffffff 122px,#f2f2f2 122px,#f2f2f2 100%);
}

.company_greeting_right > p{
    padding: 50px 75px;
}

.company_greeting_left > p{
    font-size: 2rem;
}

.company_lisence{
    padding: 50px 40px 60px;
}

.company_lisence h3{
    font-size: 2rem;
}

.company_history > .cmn_maxbox > div{
    background-position: 90px 0;
}

.company_history > .cmn_maxbox > div > div > .font_cormorant{
    font-size: 3rem;
    width: 170px;
}

.company_history > .cmn_maxbox > div > div > small{
    width: 100px;
}
/* service /////////////////////////////////////////////////////////////////////////////////////////// */
.service_body main > p{
    margin: 150px 0 100px;
}

.service_body .service_item{
    padding: 30px 0 60px;
}

.service_item_left h2{
    font-size: 2.4rem;
    line-height: 60px;
}

.service_item_right{
    padding-left: 30px;
}

.service_item strong{
    font-size: 4.2rem;
    bottom: -50px;
}

.service_body .service_area{
    padding: 150px 0 150px;
}

.service_area > div{
    width: 100%;
    background-color: transparent;
}
.service_area > div > div:nth-of-type(1){
    display: none;
}

.service_area > div > div:nth-of-type(2){
    max-width: 80%;
    margin: 0 auto 30px;
}

/* .service_area figure{
    z-index: -5;
    opacity: .4;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
} */
.service_area > div{
    display: block;
    padding: 0;
}
.service_area figure{
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
}


/* case /////////////////////////////////////////////////////////////////////////////////////////// */
.case_body .cmn_boxouter:nth-of-type(2){
    padding: 100px 0 80px;
}
.case_search{
    padding: 25px 30px;
}
.case_search > p{
    width: 200px;
}
.case_select > ul{
    padding: 0 20px;
}
.case_select > ul > li > a{
    font-size: 2rem;
}
.case_item{
    width: 80%;
    margin: 0 auto 30px;
}
.case_item_bottom figure,
.case_item_bottom > div{
    width: 50%;
}
.case_body .case_list{
    padding: 0 0 80px;
}
/* single */
.case_text{
    margin-bottom: 50px;
}
.case_img > li{
    margin-bottom: 20px;
}
.case_body .cmn_contact{
    margin-bottom: 100px;
}
.case_back {
    padding-top: 60px;
}
/* contact /////////////////////////////////////////////////////////////////////////////////////////// */
.contact_01 > .cmn_maxbox > div > h3{
    font-size: 2.8rem;
}
.contact_01 > .cmn_maxbox > div > p{
    font-size: 2.8rem;
    line-height: 28px;
}
.contact_01 > .cmn_maxbox > div > p >span{
    font-size: 2rem;
    line-height: 28px;
    letter-spacing: 0;
}
#contactButton button:first-of-type{
    margin-right: 50px;
}
/* link /////////////////////////////////////////////////////////////////////////////////////////// */
.link_body .cmn_boxouter{
    padding-bottom: 150px;
}

}










@media only screen and (max-width: 560px) {

/* common /////////////////////////////////////////////////////////////////////////////////////////// */
/* SUBメインタイトル */
.cmn_mainimg{
    height: 300px;
    margin-bottom: 0;
}

.cmn_maintitle{
    width: 100px;
    height: 200px;
    transform: translateY(50px);
}

.cmn_maintitle>div{
    width: 90px;
    height: 190px;
}

.cmn_maintitle>div>h1{
    font-size: 20px;
    height: 190px;
}

/* 見出し1st（下線付き） */

.cmn_tit_1st{
    font-size: 2.4rem;
    margin-bottom: 60px;
}
.cmn_tit_1st::after{
    bottom: -20px;
}

/* SUBページ共通セクションボックス */
.cmn_boxouter {
    padding: 60px 3%;
}

.cmn_btn a{
    width: 100%;
}

.top_subtitle_container_green,
.top_subtitle_container_white{
    width: 100px;
    height: 200px;
}

.cmn_maintitle_green,
.cmn_maintitle_white{
    width: 90px;
    height: 190px;
}

.cmn_maintitle_green h2,
.cmn_maintitle_white h2{
    font-size: 18px;
    height: 190px;
}

.top_subtitle_slide_js_white::before,
.top_subtitle_slide_js_green::before{
    width: 100px;
    height: 200px;
}
/* header */

/* footer */

/* home /////////////////////////////////////////////////////////////////////////////////////////// */
.home_mainimg h1{
    width: 90px;
    height: 235px;
}

.home_mainimg h1 img{
    padding: 30px 25px;
}

.top_scrolldown{
    top: calc(50% + 150px);
}

.home_newsbox h2{
    font-size: 2rem;
}

.home_newsbox .cmn_btn a{
    width: 100%;
}

.home_msg .txtbox p{
    font-size: 1.6rem;
    line-height: 28px;
    letter-spacing: 1.5px;
}

.home_point .top_subtitle_container_white{
    top: -150px;
}
.home_point li h3{
    font-size: 1.6rem  ;
}

.home_instagram{
    padding: 150px 0 90px;
    margin-bottom: 170px;
}

.home_instagram .top_subtitle_container_green{
    top: -150px;
}

.home_case{
    padding-top: 100px;
    margin-bottom: 150px;
}

.home_case .top_subtitle_container_green{
    top: -150px;
}

.home_case .home_case_item{
    padding: 0 10px;
}

.home_case .home_case_item>li a{
    width: 200px;
}

.home_case .home_case_item>li figure{
    width: 200px;
    height: 133px;
}

.home_case .home_case_item li .txtbox{
    width: auto;
    padding: 0;
    margin: 0;
}

.home_case .home_case_item li .txtbox span{
    padding: 5px 10px;
    margin-left: 0;
    letter-spacing: -0.5px;
}

.home_about .top_subtitle_container_white{
    top: -25px;
}

.home_about ul{
    display: block;
}

.home_about ul li{
    padding-top: 50px;
}

.home_about ul li:first-of-type{
    padding-top: 100px;
}

.home_about ul li a h3{
    width: 150px;
    height: 60px;
    font-size: 1.6rem;
    line-height: 60px;
}

.cmn_contact{
    background-position: center bottom 40px;
    background-size: 100px;
    padding-bottom: 150px;
}

.cmn_contact_tel>a{
    font-size: 1.8rem;
    margin-bottom: 20px;
}

.cmn_contact_tel>a>span{
    font-size: 2.4rem;
}

.footer_topbox_right{
    width: 300px;
}


/* news /////////////////////////////////////////////////////////////////////////////////////////// */
.news_text{
    margin-bottom: 40px;
}
/* point /////////////////////////////////////////////////////////////////////////////////////////// */
.point_body .cmn_boxouter {
    padding: 60px 0
}
.point_about{
    margin-bottom: 60px;
}
.point_section > div > div > div{
    margin-bottom: 20px;
}
.point_section > div > div > div > span{
    font-size: 3rem;
}
.point_section > div > div > div > h2{
    font-size: 2.4rem;
}
/* company /////////////////////////////////////////////////////////////////////////////////////////// */
.company_body .cmn_boxouter{
    padding: 60px 0;
}
.company_greeting{
    padding-bottom: 0;
}
.company_greeting_right {
    background: linear-gradient(180deg,#ffffff 0%,#ffffff 102px,#f2f2f2 102px,#f2f2f2 100%);
}
.company_greeting_right > p{
    padding: 30px 20px;
}
.company_greeting_left > p,
.company_greeting_left > p > span{
    font-size: 1.6rem;
    padding: 10px 20px 10px 0;
    text-align: right;
}

.company_lisence{
    padding: 30px 20px 30px;
}
.company_lisence h3{
    font-size: 1.8rem;
}
.company_lisence > div{
    display: block;
}
.company_lisence > div > div{
    width: 100%;
}

.company_history > .cmn_maxbox > div{
    background-image: none;
}
.company_history > .cmn_maxbox > div > div{
    display: block;
}
.company_history > .cmn_maxbox > div{
    padding: 0;
}
.company_history > .cmn_maxbox > div > div{
    line-height: 40px;
}
.company_history > .cmn_maxbox > div > div > .font_cormorant{
    font-size: 2.4rem;
    padding-right: 30px;
}
.company_history > .cmn_maxbox > div > div > p{
    text-align: right;
}
.company_history > .cmn_maxbox > div > div:first-of-type > p{
    background-position: right 110px center;
}
/* service /////////////////////////////////////////////////////////////////////////////////////////// */
.service_body main > p{
    margin: 80px 0;
}
.service_body .service_item{
    padding: 20px 0 40px;
    margin-bottom: 50px;
}
.service_item > div{
    display: block;
}
.service_item > div > div{
    width: 100%;
}
.service_item_left{
    margin-bottom: 20px;
}
.service_item_left h2{
    font-size: 2rem;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}
.service_item_right{
    padding-left: 0;
}
.service_item_right p{
    margin-bottom: 20px;
}
.service_item_right span{
    font-size: 2rem;
}
.service_item strong{
    font-size: 3.6rem;
    bottom: -35px;
}
.service_body .service_area{
    padding: 100px 0;
}

.service_area figure{
    width: 500px;
}
/* case /////////////////////////////////////////////////////////////////////////////////////////// */
.case_body .cmn_boxouter:nth-of-type(2){
    padding: 60px 0 50px;
}
.case_search{
    display: block;
    padding: 20px 20px;
}
.case_search:first-of-type > p {
    margin-bottom: 10px;
}
.case_select > ul{
    flex-wrap: wrap;
}
.case_select > ul > li{
    width: 100%;
}
.case_item{
    width: 100%;
}
.case_item_bottom{
    display: block;
}
.case_item_bottom figure,
.case_item_bottom > div{
    width: 100%;
}
.case_item_bottom > div{
    padding-left: 0;
}
/* single */
.case_img > li{
    width: 48%;
    height: 150px;
}
.case_body .cmn_contact{
    margin-bottom: 60px;
}
/* contact /////////////////////////////////////////////////////////////////////////////////////////// */
.contact_01 > .cmn_maxbox > div > h3{
    font-size: 2.4rem;
}
.contact_01 > .cmn_maxbox > div > p{
    font-size: 2.4rem;
    line-height: 24px;
}
.contact_01 > .cmn_maxbox > div > p >span{
    font-size: 1.6rem;
    line-height: 24px;
    letter-spacing: 0;
}
.contact_form > dl > .form_select > dd:after{
    left: calc(100% - 30px);
}
.contact_form > dl > div > dd > select{
    width: 100%;
}
.contact_form > dl > div > dd > .input03{
    width: 100%;
}

#contactButton button{
    border: none;
    width: 100px;
    height: 60px;
    color: #ffffff;
    margin: 80px 0;
}
    #contactButton button:first-of-type{
    margin-right: 50px;
}
/* link /////////////////////////////////////////////////////////////////////////////////////////// */
.link_body .cmn_boxouter{
    padding-bottom: 100px;
}

}