@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.cdnfonts.com/css/imaki');
@import url("default.css");
* {-webkit-text-size-adjust:100%; }
a { transition: .3s;}
a:link {text-decoration:none; color:#000;}
a:visited{text-decoration:none; color:#000;}
a:hover{text-decoration:none; color:#000; opacity: .7;}
a:active{text-decoration:none; color:#000;}
body { min-width: 1300px; font-size: 15px; line-height: 1.8; color: #000000; font-family: 'NotoSansCJKjp',"Noto Sans JP", sans-serif; font-optical-sizing: auto; }
.full-width { margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); }
.allWrapper { overflow: hidden; }
.container-fluid { max-width: 1500px; }
.container-fluid .container-fluid { padding-left: 0; padding-right: 0; }
.flexed { display: flex;}
.text-black { color: #000;}
.text-white { color: #fff;}
.text-red { color: #d63433!important; }
.text-orange { color: #f5aa11;}
.text-orange-d { color: #ef721b!important;}
.text-gray { color: #bdbdbd;}
.bg-black { background: #000;}
.bg-white { background: #fff;}
.bg-orange { background: #CA6B07;}
.bg-blue { background: #29356a;}
.b-der-b { border-bottom: #bdbdbd solid 1px;}
.goto-top { position: relative;}
.goto-top img { position: fixed; bottom: 0; right: 0; z-index: 999;}
.din { font-family: 'Imaki', sans-serif; font-style: italic; }

header { position: absolute; z-index: 999;}
header .menu-trg-area { position: fixed; top: 0; right: 0; margin: auto; display: none; width: 100px; height: 100px; background: #132b54; cursor: pointer;}
header .menu-trg-area .m-title img { position: absolute; top: 65px; left: 0; right: 0; margin: 0 auto;}
header .menu-trigger,
header .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box;}
header .menu-trigger { position: absolute; top: 20px; width: 55px; height: 30px; z-index: 2; left: 0; right: 0; margin: auto;}
header .menu-trigger span { position: absolute; left: 0; width: 100%; height: 2.5px; background-color: #fff;}
header .menu-trigger span:nth-of-type(1) { top: 0;}
header .menu-trigger span:nth-of-type(2) { top: 14px;}
header .menu-trigger span:nth-of-type(3) { bottom: 0;}
header .menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(27.5px) rotate(-45deg); transform: translateY(27.5px) rotate(-45deg); top: -14px;}
header .menu-trigger.active span:nth-of-type(2) { left: 50%; opacity: 0; -webkit-animation: active-menu-bar02 .8s forwards; animation: active-menu-bar02 .8s forwards;}
header .menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(-27.5px) rotate(45deg); transform: translateY(-27.5px) rotate(45deg); bottom: -14px;}
header .menu-trg-area { display: block;}
header .gnav { position: fixed; right: -320px; top: 0; width: 300px; height: 100%; background: rgba(255,255,255,1); display: block; margin-top: 0!important; padding: 140px 30px 30px; transition: .3s; box-shadow: -2px 1px 9px 1px rgba(0,0,0,.05); }
header .gnav * { transform: none!important; opacity: 1!important; }
header .gnav.active { right: 0; }
header .gnav a { display: block; padding-bottom: 10px; border-bottom: 1px solid rgba(0,0,0,.3); margin-bottom: 20px; margin-left: 0!important;}
header .logo a { display: inline-block; width: 126px; margin: 30px 65px;}
footer { padding: 105px 0 75px; background: #132b54; }
footer .footer-box { display: flex; align-items: center; }
footer .footer-box .logo { width: 370px;}
footer .footer-box .company-box { width: calc(100% - 370px);}
footer .footer-box .company-box .comp-name { font-size: 16px; letter-spacing: .2em; font-weight: bold; line-height: 2; white-space: nowrap; }
footer .footer-box .company-box .add-text { font-size: 16px; font-weight: 500; letter-spacing: .1em; line-height: 1.95; }
footer .footer-box .company-box .add-text a { color: #fff; }
footer .catch { display: flex; align-items: center;  justify-content: left;}
footer .catch:after { border-top: 1px solid; content: ""; width: 100%; margin-left: 10px;}
footer .catch02 { display: flex; align-items: center;  justify-content: left;}
footer .catch02:after { border-top: 1px solid; content: ""; width: 80%; margin-left: 10px;}
footer .footer-box .company-box .company-detail { display: flex;}
footer .footer-box .company-box .company-detail .main-office { width: 100%;}
footer .copyright { padding-top: 60px; font-size: 14px; letter-spacing: .13em; color: #fff; font-weight: 500; text-align: center; }
.contact_footer { position: relative; }
.contact_footer::before { position: absolute; content: ''; width: 100%; height: 100%; background-color: rgba(0, 0, 0, .4);}
.top-hero { position: relative; height: calc(100vh - 67px); }
.top-hero .top-hero-title { position: absolute; width: 40%; top: 0; left: 0; right: 0; margin: 0 auto; bottom: 0; display: flex; align-items: center; justify-content: center; }
.top-hero .top-hero-title img { width: 100%; }
.top-news { margin-top: -2px; margin-bottom: 50px;}
.top-news a { position: relative; display: block; }
.top-news a .top-news-box { display: flex; padding: 15px 0 15px 110px;}
.top-news a .top-news-box .dete-title { font-size: 17px; letter-spacing: .13em; font-weight: 400; color: #d63433; white-space: nowrap; width: 180px; }
.top-news a .top-news-box .n-text { font-size: 16px; letter-spacing: .11em; font-weight: 500; padding: 0 20px 0; color: #fff; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; width: calc(100% - 180px); }
.top-news a figure img { position: absolute; top: -90px;}
.strength-sec { margin-bottom: 65px;}
.strength-sec .strength-box { display: inline-block; width: 48%; padding: 60px 60px 100px 110px; margin-bottom: 125px; background: #fff;}
.strength-sec .strength-box .in-box { margin: 0 0 0 auto; width: 505px;}
.strength-sec .strength-box .in-box .d-title { padding-bottom: 65px;}
.strength-sec .strength-box .in-box .box-title { font-size: 32px; padding-bottom: 25px; font-weight: bold; letter-spacing: .11em; line-height: 1.5;}
.strength-sec .strength-box .in-box .p-text { font-size: 17px; font-weight: 400; letter-spacing: .1em; line-height: 1.941;}
.strength-sec .viewmore-btn { position: relative;}
.strength-sec .viewmore-btn a { position: absolute; bottom: -125px; right: 180px;}
.servie-sec .d-tilte { display: flex; justify-content: right;}
.servie-sec .d-tilte .border-img { width: 5px; height: 155px; margin-left: 80px;}
.servie-sec .d-tilte figure img { padding-top: 35px;}
.servie-sec .service-box { position: relative; z-index: 2;}
.servie-sec .service-box .text-box { position: absolute; top: 35%; left: 0; right: 0; margin: 0 auto; text-align: center; color: #fff;}
.servie-sec .service-box .text-box .p-title { font-size: 34px; padding-bottom: 15px; font-weight: bold; letter-spacing: .1em;}
.servie-sec .service-box .text-box .p-text { font-size: 17px; font-weight: 400; letter-spacing: .1em; line-height: 1.941;}
.news-sec { padding: 100px 0;}
.news-sec .news-box { display: flex;}
.news-sec .news-box { position: relative;}
.news-sec .news-box figure img { position: absolute; top: -52%; width: 5px; height: 220px;}
.news-sec .news-box .news-title { width: 320px; margin: 0 auto; padding: 0 75px 0;}
.news-sec .news-box .news-title .d-title { margin-bottom: 35px;}
.news-sec .news-box ul { width: calc(100% - 320px); padding-top: 5px; }
.news-sec .news-box ul li a { display: flex; border-bottom: #E2E2E2 1.5px solid; padding-bottom: 20px; margin: 0 0 20px 0;}
.news-sec .news-box ul li:last-child a { border-bottom: none; margin-bottom: 0;}
.news-sec .news-box ul li .event-title { width: 300px; display: flex;}
.news-sec .news-box ul li .event-title .topic-title { height: 30px; width: 110px; text-align: center; font-size: 15px; font-weight: bold; letter-spacing: .1em; border: #d63433 1px solid; color: #d63433; margin-right: 35px;}
.news-sec .news-box ul li .event-title .date-title { font-size: 23px; font-weight: 500; letter-spacing: .11em; line-height: 1; padding: 3px 25px 0 0;}
.news-sec .news-box ul li .n-text { width: calc(100% - 300px); font-size: 17px; font-weight: 400; letter-spacing: .1em; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
.recruit-block { position: relative; padding-top: 100px; margin-bottom: 150px; }
.recruit-block:before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: calc(100% - 28px); background: #eeeeee; }
.recruit-block .photo { position: relative; }
.recruit-block .photo img { width: 123%; position: absolute; right: 0; max-width: none; }
.recruit-block .contents { max-width: 100%; width: 470px; }
.recruit-block .d-text .p-title { font-size: 32px; padding-bottom: 25px; font-weight: bold; letter-spacing: .11em; line-height: 1.5; }
.recruit-block .d-text .p-text { font-size: 17px; font-weight: 400; letter-spacing: .005em; line-height: 1.941; }
.recruit-block .viewmore-btn { text-align: center; margin-top: 45px; }
.contact-sec { position: relative; margin-bottom: -1px;}
.contact-sec .contact-title { position: absolute; top: 42%; left: 0; right: 0; text-align: center;}
.other-top { margin: 175px 0 135px;}
.other-top { position: relative;}
.other-top .other-top-title { position: absolute; top: 41%; left: 0; right: 0; text-align: center;}
.challenge-sec { position: relative; margin-bottom: 80px;}
.challenge-sec figure { position: absolute; width: 658px; top: 24%; left: 0; right: 0; margin: 0 auto;}
.joboffer-sec .joboffer-title { margin-bottom: 35px;}
.joboffer-sec .maru-icon { display: flex; justify-content: space-between; margin-bottom: 85px;}
.joboffer-sec .maru-icon .offer-flow { width: 18.5%; }
.jobarea { padding: 70px 0 75px; margin-bottom: 140px; background: #F2F2F2;}
.jobarea .p-title { font-size: 20px; font-weight: bold; letter-spacing: .2em; border-bottom: #E2E2E2 1.5px solid; padding-bottom: 5px; margin-bottom: 10px;}
.jobarea .p-title img { padding: 0 7px 3px 0;}
.jobarea .p-text { font-size: 16px; font-weight: 400; letter-spacing: .1em; line-height: 1.941;}
.jobdescription { margin-bottom: 145px;}
.jobdescription .job-title { margin-bottom: 75px;}
.jobdescription .plan-box { position: relative;}
.jobdescription .plan-box .plan-text01 { position: absolute; top: 0; right: 0;}
.jobdescription .plan-box .plan-text02 { position: absolute; top: 0; left: 0;}
.jobdescription .plan-box .plan-text { width: 45%; height: 100%; padding: 6% 5%;}
.jobdescription .plan-box .plan-text .p-title { font-size: 34px;padding-bottom: 20px; font-weight: bold; letter-spacing: .11em; text-align: center; color: #fff;}
.jobdescription .plan-box .plan-text .p-text { font-size: 17px; font-weight: 400; letter-spacing: .1em; line-height: 1.941; color: #fff;}
.jobdescription .plan-box .plan-black { background: #0000006c;}
.jobdescription .plan-box .plan-orange { background: #d63433;}
.jobdescription .plan-box .plan-green { background: #60a154c9;}
.jobdescription .plan-box .plan-blue { background: #29a8dee0;}
.reqirements-sec .reqirements-title { text-align: center; margin-bottom: 45px;}
.reqirements-sec .req-detail .detail-title { font-size: 34px; padding-left: 25px; margin-bottom: 30px; font-weight: bold; line-height: 1.1; letter-spacing: .11em; border-left: #d63433 5px solid;}
.reqirements-sec .req-detail { margin-bottom: 145px;}
.reqirements-sec .req-detail02 { margin-bottom: 110px;}
.reqirements-sec .req-detail ul li { display: flex; border-top: #E1E1E1 1.5px solid; font-weight: 400; }
.reqirements-sec .req-detail ul li:last-child { border-bottom: #e1e1e1 1.5px solid;}
.reqirements-sec .req-detail ul li .r-title { width: 200px; font-size: 17px; padding: 25px 30px; background: #F2F2F2;}
.reqirements-sec .req-detail ul li .r-text { width: calc(100% - 200px); font-size: 17px; letter-spacing: .13em; padding: 25px 30px;}
.withwork-sec { margin-bottom: 195px;}
.withwork-sec .withwork-title { font-size: 34px; font-weight: bold; letter-spacing: .11em; margin-bottom: 15px; text-align: center;}
.withwork-sec .withwork-title .icon-left { padding: 0 15px 10px 0;}
.withwork-sec .withwork-title .icon-right { padding: 0 0 10px 10px;}
.withwork-sec .photos-box { display: flex;}
.message { margin-bottom: 175px;}
.message .message-box .message-text { width: 42%; padding: 55px 65px 0 0; font-size: 17px; letter-spacing: .12em; font-weight: 400;}
.message .message-box .message-text .p-text { padding-bottom: 40px;}
.message .message-box { position: relative;}
.message .message-box .message-photo { position: absolute; top: 0; right: 0; width: 56%;}
.corporate-philosophy { margin-bottom: 130px;}
.corporate-philosophy h3 { font-size: 34px; letter-spacing: .11em; padding-left: 20px; margin-left: 80px; line-height: 1.1; border-left: #d63433 5px solid;}
.corporate-philosophy .box-detail ul li { display: flex; width: 510px;}
.corporate-philosophy .box-detail ul li .p-title { width: 230px; font-size: 25px; letter-spacing: .08em; color: #d63433;}
.corporate-philosophy .box-detail ul li .p-text { width: calc(100% - 230px); font-size: 17px; font-weight: 400; letter-spacing: .1em; line-height: 1.3; padding: 10px 0 0 10px;}
.corporate-philosophy .box-detail { position: relative; margin-bottom: 355px;}
.corporate-philosophy .box-detail figure { position: absolute; top: -60px; right: 12%;}
.corporate-philosophy .arrder { display: flex; align-items: center;  justify-content: left;}
.corporate-philosophy .arrder:after { border-top: #000 2px solid; content: ""; width: 100%; margin-left: 10px;}
.corporate-philosophy .info-box ul li { display: flex; font-size: 17px; line-height: 1.887; border-top: #E1E1E1 1.5px solid; font-weight: 400; }
.corporate-philosophy .info-box ul li:last-child { border-bottom: #E1E1E1 1.5px solid;}
.corporate-philosophy .info-box ul li .p-title { width: 200px; padding: 20px 30px; background: #F2F2F2; letter-spacing: .12em;}
.corporate-philosophy .info-box ul li .p-text { width: calc(100% - 200px); padding: 20px 30px; letter-spacing: .13em; font-feature-settings: "palt";}
.access { margin-bottom: 160px;}
.access .access-box { padding: 110px 0 0 100px; color: #fff;}
.access .access-box02 { padding: 90px 0 0 100px;}
.access .access-box .c-name { font-size: 34px; padding-bottom: 15px; font-weight: bold; letter-spacing: .11em;}
.access .access-box .add-text { font-size: 17px; font-weight: 400;}
.access iframe { display: block; width: 100%; }
.our-strengths .our-strengths-box { position: relative; margin-bottom: 145px;}
.our-strengths .our-strengths-box .p-title { margin-bottom: 35px;}
.our-strengths .our-strengths-box .p-text { font-size: 20px; font-weight: 500; letter-spacing: .1em; line-height: 2;}
.our-strengths .our-strengths-box .our-strengths-figure { position: absolute; top: -45px; right: 0%;}
.strengths-sec .strengths-title { margin-bottom: 65px;}
.head-border { display: flex; align-items: center; justify-content: center; }
.border-ore:before, .border-ore:after { border-top: #d63433 10px solid; content: ""; width: 100%;}
.border-green:before, .border-green:after { border-top: #42A44A 10px solid; content: ""; width: 100%;}
.border-blue:before, .border-blue:after { border-top: #29A7DE 10px solid; content: ""; width: 100%;}
.head-border:before { margin-right: 35px;}
.head-border:after { margin-left: 35px;}
.strengths-sec { margin-bottom: 130px;}
.strengths-sec .strengths-detail .m-title { display: inline-block; font-size: 34px; margin-bottom: 25px; font-weight: bold; letter-spacing: .07em; line-height: 1.323; border-bottom: #000 5px solid;}
.strengths-sec .strengths-detail .m-title span { font-size: 25px;}
.strengths-sec .strengths-detail .s-text { font-size: 17px; letter-spacing: .1em; line-height: 1.941;}
.product-introduction .p-title { display: inline-block; font-size: 34px; margin-bottom: 30px; font-weight: bold; letter-spacing: .11em; border-bottom: #29A7DE 5px solid;}
.product-introduction .p-text { font-size: 20px; margin-bottom: 45px; letter-spacing: .12em; line-height: 2; font-weight: 500;}
.info-tab-sec .tabs { width:100%; margin:10px auto; position:relative;}
.info-tab-sec .tab-buttons { display: flex; justify-content: center; margin: 0 0 55px;}
.info-tab-sec .tab-buttons span { background:#29A7DE; margin: 0 5px; padding: 15px 0; cursor: pointer; color: #fff; display: block; width:  242px; font-size: 20px; border: #29A7DE 2.5px solid; font-weight: bold; letter-spacing: .15em; text-align: center;}
.info-tab-sec .tab-buttons span:hover { background: #fff; color: #29A7DE; transition: all .3s;}
.info-tab-sec #lamp { display: block; position: absolute; top: 40px; transition: all .3s ease-in; -o-transition: all .3s ease-in; -webkit-transition: all .3s ease-in; -moz-transition: all .3s ease-in;}
.info-tab-sec #lamp.content2 { transition: all .3s ease-in;-o-transition: all .3s ease-in; -webkit-transition: all .3s ease-in; -moz-transition: all .3s ease-in;}
.info-tab-sec #lamp.content1 {transition: all .3s ease-in; -o-transition: all .3s ease-in; -webkit-transition: all .3s ease-in; -moz-transition: all .3s ease-in;}
.info-tab-sec .get dt { position: relative; background: #EAF6FC; color: #29A7DE;}
.info-tab-sec .get dt p { font-size: 20px; padding: 10px 0 10px 20px; margin: 0 0 20px; text-align: left; font-weight: bold; letter-spacing: .15em; line-height: 1.75;}
.info-tab-sec .get dd { display: none;}
.info-tab-sec .get dd ul { display: flex; flex-wrap: wrap; margin-bottom: 55px;}
.info-tab-sec .get dd ul li { width: 19.999999%; border-right: #E0E0E0 1px solid; margin-bottom: 25px; text-align: center;}
.info-tab-sec .get dd ul li:nth-of-type(5n){ border: none;}
.info-tab-sec .get dd ul li img { width: 90%;}
.info-tab-sec .get dd ul li .object-price { position: relative;}
.info-tab-sec .get dd ul li .object-price p { position: absolute; bottom: 0; right: 0;}
.info-tab-sec .acdn dt::before,
.info-tab-sec .acdn dt::after { content: ""; position: absolute; transition: .3s; top: 0; bottom: 0; margin: auto 0; }
.info-tab-sec .acdn dt::after { right:28px; top: 5px; color: #29a8de; height: 20px; width: 20px; border-right: 3px solid #29a8de; border-bottom: 3px solid #29a8de; transform: rotate(-135deg);}
.info-tab-sec .acdn dt.open::before { display: block; }
.info-tab-sec .acdn dt.open::after { display: none; }
.equipment { margin-bottom: 110px;}
.equipment .equipment-title .p-title { display: inline-block; font-size: 34px; margin-bottom: 40px; font-weight: bold; letter-spacing: .11em; border-bottom: #000 5px solid;}
.equipment .equipment-title .p-text { font-size: 20px; margin-bottom: 60px; font-weight: 500; letter-spacing: .12em; line-height: 2;}
.equipment .equipment-box { margin-bottom: 90px;}
.equipment .equipment-box .title-type { position: relative; background: #F2F2F2; padding: 65px 70px 20px;}
.equipment .equipment-box .title-type .p-title { position: absolute; top: -30px; left: 0; right: 0; margin: 0 auto; width: 350px; height: 60px; font-size: 20px; padding: 12px; text-align: center; font-weight: bold; color: #fff; background: rgba(0, 0, 0, 0.5); letter-spacing: .2em;}
.equipment .equipment-box .title-type .p-text { font-size: 17px; font-weight: 400; letter-spacing: .12em; line-height: 1.941;}
.page-hero { display: flex; align-items: center; justify-content: center; height: 440px; text-align: center; color: #fff!important; line-height: 1; }
.page-hero a { color: #fff; }
.page-hero.mg { margin: 120px 0 135px; }
.page-hero strong { display: block; font-size: 60px; font-weight: bold; letter-spacing: .15em; margin-bottom: 12px; }
.page-hero span { display: block; font-size: 16px; letter-spacing: .1em; }
.contactform-sec .sec-title { font-size: 20px; padding-bottom: 30px; margin-bottom: 30px; font-weight: 500; letter-spacing: .1em; text-align: center; border-bottom: #E1E1E1 1.5px solid;}
.contactform-sec ul li { display: flex; border-bottom: #E1E1E1 1.5px solid; padding: 0 30px 30px; margin-bottom: 30px;}
.contactform-sec ul li .main-office { width: 50%; border-right: #E1E1E1 1.5px solid;}
.contactform-sec ul li .main-office .main-box { width: 450px; margin: 0 30px 0 auto;}
.contactform-sec ul li .sales-office { width: calc(100% - 50%); padding-left: 30px;}
.contactform-sec ul li .o-tel { font-size: 34px; font-weight: bold; letter-spacing: .1em;}
.contactform-sec ul li .o-tel .s-tel { font-size: 20px; font-weight: bold; letter-spacing: .13em;}
.contactform-sec ul li .o-tel .name-tel { font-size: 17px; font-weight: 400; letter-spacing: .13em;}
.contactform-sec ul li .o-time { font-size: 17px; font-weight: 400; letter-spacing: .09em;}
.contactform-sec ul li .box-title { width: 300px; display: flex; align-items: center;}
.contactform-sec ul li .box-title02 { align-items: stretch; padding-top: 20px;}
.contactform-sec ul li .box-title .mandatory { width: 70px; font-size: 17px; letter-spacing: .12em; color: #d63433;}
.contactform-sec ul li .box-title .d-name { width: calc(100% - 70px); font-size: 17px; font-weight: bold; letter-spacing: .12em;}
.contactform-sec ul li .box-text { width: calc(100% - 300px); display: flex;}
.contactform-sec ul li .box-text .p-text { width: 655px; height: 90px; background: #ECECEC;}
.contactform-sec ul li .box-text .c-text { width: calc(100% - 655px); font-size: 17px; letter-spacing: .12em; font-weight: 400; padding: 30px 0 30px 20px;}
.contactform-sec .add-box li { border-bottom: none; align-items: center; padding-left: 0; margin-bottom: 0; padding-bottom: 15px;}
.contactform-sec .add-box li .add-title { width: 95px;  align-items: center; font-size: 17px; font-weight: bold; letter-spacing: .12em;}
.contactform-sec .add-box li .add-text { width: calc(100% - 95px); display: flex; align-items: center;}
.contactform-sec .add-box li .add-text .a-text { width: 560px; height: 90px; padding: 30px 20px; font-size: 17px; letter-spacing: .12em; color: #808080; background: #ECECEC; align-items: center;}
.contactform-sec .add-box li .add-text .num-text { width: 200px; height: 90px; padding: 30px 20px; font-size: 17px; letter-spacing: .12em; color: #808080; background: #ECECEC; align-items: center;}
.contactform-sec .add-box li .add-text .co-text { font-size: 17px; letter-spacing: .12em; font-weight: 400; padding-left: 20px;}
.contactform-sec ul li .box-text .radio-label { padding-right: 40px;}
.contactform-sec input { margin: .1rem;}
.contactform-sec .radio-label { display: block;}
.contactform-sec input[type="radio"] { display: none;}
.contactform-sec .radio-text:before { content: ""; display: inline-block; width: 12px; height: 12px; margin-right: 6px; border-width: 1px; border-style: solid; border-radius: 50%; padding: 2px; background-clip: content-box;}
.contactform-sec input[type="radio"]:not(:checked) + .radio-text:before { border-color: #000000;}
.contactform-sec input[type="radio"]:checked + .radio-text:before { border-color: #d63433; background-color: #d63433;}
.contactform-sec .sent-btn a { display: inline-block; font-size: 20px; padding: 12px 55px; margin: 25px 0 20px; font-weight: bold; color: #fff; background: #d63433;}
.contactform-sec .text-box { font-size: 17px; font-weight: 400; letter-spacing: .1em;}
.contactform-sec .text-box .c-ttitle { margin-bottom: 35px;}
.contactform-sec .text-box .p-text { letter-spacing: .06em; margin-bottom: 40px; line-height: 1.882;}
.contactform-sec .text-box .po-text { margin-bottom: 195px;}
.blog-list_block { display: flex; flex-wrap: wrap; margin-left: -15px; margin-right: -15px; }
.blog-list_block .hover_hidden { overflow: hidden; }
.blog-list_block li { width: 25%; margin-bottom: 40px; padding: 0 15px; }
.blog-list_block li:nth-child(3n) { margin-right: 0; }
.blog-list_block li .thumbnail { position: relative; transition: .4s; }
.blog-list_block li .thumbnail .bg { padding-top: 67.5%; transition: .4s; }
.blog-list_block li .thumbnail .date { position: absolute; right: -20px; top: 0; writing-mode: vertical-rl; margin-bottom: 0; letter-spacing: .2em; font-weight: bold; line-height: 1; }
.blog-list_block li .text-contents { transition: .4s; padding: 20px 20px 50px; margin-top: -5px; width: calc(100% - 15px); position: relative; z-index: 1; }
.blog-list_block li .text-contents .contents { overflow: hidden; display: -webkit-box; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.blog-list_block li .blog-title { font-size: 20px; font-weight: bold; letter-spacing: .1em; margin-bottom: 20px; transition: .4s; display: -webkit-box; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.blog-list_block li .prev { position: relative; }
.blog-list_block li .prev::before { content: ''; display: inline-block; border-top: 2px solid #142b55; border-right: 2px solid #142b55;  transform: rotate(45deg); margin: auto 0; width: 10px; height: 10px; position: absolute; right: 10px; left: auto; top: 0; bottom: -30px; transition: .4s; }
.blog-list_block li .prev::after { content: ''; position: absolute; width: 100%; height: 2px; bottom: -30px; background: #142b55; left: 0; transition: .4s; }
.blog-list_block.column3 li { width: 33.3333%; }
.message .message-box .message-text .c-name .name1 { width: 110px; }
.message .message-box .message-text .c-name .name2 { width: 110px; }

#engage-contributions-widget-wrapper { border: 1px solid #000; }
.recruit-banner { position: fixed; top: 0; right: 220px; }

@media (min-width: 768px) {
	.blog-list_block li:hover .thumbnail .bg { transform: scale3d(1.1,1.1,1.1)!important; }
	.blog-list_block li:hover .text-contents { background: #f5f5f5; }
	.blog-list_block li:hover .text-contents .blog-title { color: #142b55; }
	.blog-list_block li:hover .text-contents .prev::before { border-top: 2px solid #142b55; border-right: 2px solid #142b55; }
	.blog-list_block li:hover .text-contents .prev::after { background: #142b55; }
}
@media (max-width: 767px) {
	.blog-list_block { margin-left: -5px; margin-right: -5px; }
	.blog-list_block li { width: 50%; margin-bottom: 50px; padding-left: 5px; padding-right: 5px; }
	.blog-list_block li .thumbnail { text-align: center; margin-bottom: 0!important; padding-right: 20px; }
	.blog-list_block li .thumbnail .date { right: 0; line-height: 1; }
	.blog-list_block li .text-contents { width: 100%; background: none!important; padding: 25px 0 10px; }
	.blog-list_block li .blog-title { font-size: 16px; margin-bottom: 10px; }
	.blog-list_block li .prev::before { border-color: #252525; }
	.blog-list_block li .prev::after { background: #252525; }
	.blog-list_block.column3 li { width: 50%; }
	.message .message-box .message-text .c-name .name1 { width: 80px; }
	.message .message-box .message-text .c-name .name2 { width: 80px; }
}

@media (max-width: 1810px) {
	.jobdescription .plan-box .plan-text { padding: 6% 5%;}
	.jobdescription .plan-box .plan-text .p-title { font-size: 28px;}
	.jobdescription .plan-box .plan-text .p-text { font-size: 14px;}
}
@media (max-width: 1491px) {
	.jobdescription .plan-box .plan-text { padding: 6% 5%;}
	.jobdescription .plan-box .plan-text .p-title { font-size: 24px; padding-bottom: 10px;}
	.jobdescription .plan-box .plan-text .p-text { font-size: 13px;}
}
@media (min-width: 576px) {
	.sp-view { display: none;}
	.strength-sec.reverse { text-align: right; }
	.strength-sec.reverse .strength-box { text-align: left; }
	.strength-sec.reverse .strength-box .in-box { margin: 0; }
	.strength-sec.reverse .viewmore-btn a { right: auto; left: 150px; }
}
@media (max-width: 575px) {
	body { min-width: 375px; font-size: 13px; }

	.sp-none { display: none;}
	/* .container-fluid { padding-left: 30px; padding-right: 30px; } */

	header .menu-trg-area { width: 70px; height: 70px;}
	header .menu-trg-area .m-title img { top: 45px; width: 30px;}
	header .menu-trigger { position: absolute; top: 15px; width: 30px; height: 20px; z-index: 2; left: 0; right: 0; margin: auto;}
	header .menu-trigger span { position: absolute; left: 0; width: 100%; height: 1.5px; background-color: #fff;}
	header .menu-trigger span:nth-of-type(2) { top: 9px;}
	header .menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(23px) rotate(-45deg); transform: translateY(23px) rotate(-45deg); top: -14px;}
	header .menu-trigger.active span:nth-of-type(2) { left: 50%; opacity: 0; -webkit-animation: active-menu-bar02 .8s forwards; animation: active-menu-bar02 .8s forwards;}
	header .menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(-23px) rotate(45deg); transform: translateY(-23px) rotate(45deg); bottom: -14px;}
	header .menu-trg-area { display: block;}
	header .gnav { position: fixed; right: -300px; top: 0; width: 300px; height: 100%; background: rgba(255,255,255,.9); display: block; margin-top: 0!important; padding: 100px 30px 30px; transition: .3s;}
	header .logo a { display: inline-block; width: 100px; margin: 15px 25px;}
	footer { padding: 50px 0 30px; }
	footer .footer-box { display: block;}
	footer .footer-box .logo { width: 100px; margin: 0 auto 20px;}
	footer .footer-box .company-box { width: 100%;}
	footer .footer-box .company-box .comp-name { font-size: 15px; letter-spacing: .2em; font-weight: bold; line-height: 2; white-space: nowrap; }
	footer .footer-box .company-box .add-text { font-size: 15px; font-weight: 400; letter-spacing: .1em; line-height: 1.95; padding-bottom: 30px;}
	footer .catch:after { width: 100%;}
	footer .catch02:after { width: 100%;}
	footer .footer-box .company-box .company-detail { display: block;}
	footer .footer-box .company-box .company-detail .main-office { width: 100%;}
	footer .footer-box .company-box .company-detail .sales-office { width: 100%;}
	footer .footer-box .ft-outlink a { display: inline-block; font-size: 14px; padding: 10px;}
	footer .footer-box .ft-outlink a img { padding-right: 10px; width: 17px;}
	footer .copyright { display: block; padding-top: 25px; font-size: 10px; text-align: center;}
	footer .copyright a { margin-right: 0;}

	.top-hero { height: 330px; }
	.top-hero .top-hero-title { width: 80%; top: 0; left: 0; right: 0; margin: 0 auto; align-items: flex-end; bottom: 10%; }

	.top-hero .top-hero-title { width: 75%; top: 0; left: 0; right: 0; margin: 0 auto;}
	.top-news { margin-bottom: 30px;}
	.top-news a .top-news-box { display: block; padding: 15px 0 15px 0;}
	.top-news a .top-news-box .dete-title { font-size: 14px; letter-spacing: .13em; font-weight: 500; color: #d63433;}
	.top-news a .top-news-box .n-text { font-size: 13px; letter-spacing: .11em; font-weight: 500; padding: 5px 0 0; color: #fff; width: 100%; }
	.top-news a figure { display: none; }
	.top-news a figure img { width: 35px; top: -30px;}
	.strength-sec { margin-bottom: 50px; background: none!important; }
	.strength-sec .photo { margin-bottom: 30px; }
	.strength-sec .strength-box { width: 100%; padding: 0 0 50px 0; margin-bottom: 0; background: #fff;}
	.strength-sec .strength-box .in-box { margin: 0 0 0 auto; width: 100%;}
	.strength-sec .strength-box .in-box .d-title { width: 180px; padding-bottom: 25px;}
	.strength-sec .strength-box .in-box .box-title { font-size: 19px; padding-bottom: 25px;}
	.strength-sec .strength-box .in-box .p-text { font-size: 13px;}
	.strength-sec .viewmore-btn a { position: absolute; bottom: -55px; left: 0; right: 0; margin: 0 auto; width: 130px;}
	.servie-sec .d-tilte { display: block; margin-bottom: 20px; }
	.servie-sec .d-tilte .border-img { width: 3px; height: 75px; margin-left: 40px;}
	.servie-sec .d-tilte figure img { width: 150px; padding-top: 15px;}
	.servie-sec .service-box .text-box { top: 30%;}
	.servie-sec .service-box .text-box .p-title { font-size: 19px;}
	.servie-sec .service-box .text-box .p-text { font-size: 15px; padding: 0 20px; }
	.news-sec { padding: 50px 0 60px;}
	.news-sec .news-box { display: block;}
	.news-sec .news-box figure img { top: -17%; width: 3px; height: 170px;}
	.news-sec .news-box .news-title { margin: 0; padding: 0; }
	.news-sec .news-box .news-title .d-title { margin-bottom: 25px;}
	.news-sec .news-box ul { width: 100%;}
	.news-sec .news-box ul li a { display: block; padding-bottom: 20px; margin: 30px 0 10px 0;}
	.news-sec .news-box ul li:last-child a { border-bottom: none; margin-bottom: 0;}
	.news-sec .news-box ul li .event-title { width: 300px; display: flex; margin-bottom: 15px;}
	.news-sec .news-box ul li .event-title .topic-title { height: 25px; width: 90px; font-size: 15px; margin-right: 25px;}
	.news-sec .news-box ul li .event-title .date-title { font-size: 15px; padding-top: 5px;}
	.news-sec .news-box ul li .n-text { width: 100%; font-size: 13px;}
	.recruit-block { padding-top: 0; margin-bottom: 60px; }
	.recruit-block:before { height: calc(100% - 15px); }
	.recruit-block .photo { margin-bottom: 30px; margin-left: -30px; margin-right: -30px; }
	.recruit-block .photo img { width: 100%; position: static; }
	.recruit-block .d-text .p-title { font-size: 19px; padding-bottom: 25px; }
	.recruit-block .d-text .p-text { font-size: 13px; }
	.recruit-block .viewmore-btn { margin-top: 30px; }
	.recruit-block .viewmore-btn img { width: 130px; }
	.contact-sec { position: relative; margin-bottom: -1px;}
	.contact-sec .contact-title { position: absolute; top: 40%; width: 150px; left: 0; right: 0; margin: 0 auto;}
	.other-top { margin: 95px 0 30px;}
	.other-top .other-top-title { top: 41%; }
	.other-top .other-top-title img { width: 130px;}
	.challenge-sec { margin-bottom: 50px;}
	.challenge-sec figure { width: 100%; top: 30%;}
	.joboffer-sec .joboffer-title { width: 60%; margin: 0 auto 30px;}
	.joboffer-sec .maru-icon { flex-wrap: wrap; justify-content: center; margin-bottom: 40px;}
	.joboffer-sec .maru-icon .offer-flow { width: 33.333333%; padding: 5px;}
	.jobarea { padding: 50px 0 35px; margin-bottom: 70px;}
	.jobarea .p-title { font-size: 18px;}
	.jobarea .p-title img { padding: 0 7px 3px 0;}
	.jobarea .p-text { font-size: 15px; margin-bottom: 20px;}
	.jobdescription { margin-bottom: 55px;}
	.jobdescription .plan-box .photo-left { width: 100%; margin-bottom: 20px;}
	.jobdescription .plan-box .office-right { width: 100%; margin-bottom: 20px;}
	.jobdescription .job-title { width: 70%; margin: 0 auto 35px;}
	.jobdescription .plan-box .plan-text { position: relative; top: 0; right: 0; width: 100%; padding: 25px 15px;}
	.jobdescription .plan-box .plan-text02 { position: relative; top: 0; left: 0; width: 100%; padding: 25px 15px;}
	.jobdescription .plan-box .plan-text .intext .p-title { font-size: 19px; margin-bottom: 20px;}
	.jobdescription .plan-box .plan-text .intext .p-title span { font-size: 10px;}
	.jobdescription .plan-box .plan-text .intext .p-text { font-size: 14px;;}
	.reqirements-sec .reqirements-title { width: 70%; margin: 0 auto 30px;}
	.reqirements-sec .req-detail .detail-title { font-size: 19px; padding-left: 15px; margin-bottom: 20px;}
	.reqirements-sec .req-detail { margin-bottom: 75px;}
	.reqirements-sec .req-detail02 { margin-bottom: 50px;}
	.reqirements-sec .req-detail ul li .r-title { width: 100px; font-size: 14px; padding: 15px;}
	.reqirements-sec .req-detail ul li .r-text { width: calc(100% - 100px); font-size: 14px; letter-spacing: .13em; padding: 15px;}
	.withwork-sec { margin-bottom: 65px;}
	.withwork-sec .withwork-title { font-size: 12px; font-weight: bold; letter-spacing: 0em; margin-bottom: 15px; text-align: center;}
	.withwork-sec .withwork-title .icon-left { width: 15px; padding: 0 5px 10px 0; display: none;}
	.withwork-sec .withwork-title .icon-right { width: 15px; padding: 0 0 10px 5px; display: none;}
	.message .message-title { width: 60%; margin: 0 auto 30px;}
	.message { margin-bottom: 65px;}
	.message .message-box .message-text { width: 100%; padding: 0 0 35px; font-size: 13px;}
	.message .message-box .message-text .p-text { padding-bottom: 20px;}
	.message .message-box .message-photo { position: relative; top: 0; right: 0; width: 100%;}
	.corporate-philosophy { margin-bottom: 80px;}
	.corporate-philosophy h3 { font-size: 19px; margin-left: 20px; border-left: #d63433 3px solid;}
	.corporate-philosophy .box-detail ul li { display: flex; width: 100%;}
	.corporate-philosophy .box-detail ul li .p-title { width: 145px; font-size: 14px; letter-spacing: .08em; color: #d63433;}
	.corporate-philosophy .box-detail ul li .p-text { width: calc(100% - 145px); font-size: 15px; padding: 10px 0 0 10px;}
	.corporate-philosophy .box-detail { position: relative; margin-bottom: 55px;}
	.corporate-philosophy .box-detail figure { position: relative; top: 20px; right: 0;}
	.corporate-philosophy .info-box ul li { display: flex; font-size: 14px; }
	.corporate-philosophy .info-box ul li .p-title { width: 100px; padding: 15px; background: #F2F2F2; font-weight: bold; letter-spacing: .12em;}
	.corporate-philosophy .info-box ul li .p-text { width: calc(100% - 100px); padding: 15px 0 15px 15px; font-weight: 500; letter-spacing: .13em;}
	.access { margin-bottom: 60px;}
	.access .access-box { padding: 30px 15px; color: #fff;}
	.access .access-box02 { padding: 30px 15px;}
	.access .access-box .c-name { font-size: 19px; padding-bottom: 15px; font-weight: bold; letter-spacing: .11em;}
	.access .access-box .add-text { font-size: 15px; font-weight: bold;}
	.access iframe { height: 250px;}
	.product-introduction .p-title { display: inline-block; font-size: 24px; margin-bottom: 25px; border-bottom: #29A7DE 3px solid;}
	.product-introduction .p-text { font-size: 15px; text-align: left; margin-bottom: 25px;}
	.info-tab-sec .tabs { width:100%; margin: 10px auto; position:relative;}
	.info-tab-sec .tab-buttons { margin: 0 0 35px;}
	.info-tab-sec .tab-buttons span { margin: 0 5px; padding: 10px 0;  font-size: 15px;}
	.info-tab-sec .get dt p { font-size: 15px;}
	.info-tab-sec .acdn dt::after { height: 12px; width: 12px; border-right: 2px solid #29a8de; border-bottom: 2px solid #29a8de;}
	.info-tab-sec .get dd ul { display: flex; flex-wrap: wrap; margin-bottom: 5px;}
	.equipment { margin-bottom: 0;}
	.equipment .equipment-title .p-title { font-size: 19px; margin-bottom: 20px; border-bottom: #000 3px solid;}
	.equipment .equipment-title .p-text { font-size: 14px; text-align: left; margin-bottom: 60px;}
	.equipment .equipment-box { margin-bottom: 70px;}
	.equipment .equipment-box .title-type { position: relative; background: #F2F2F2; padding: 45px 15px 20px;}
	.equipment .equipment-box .title-type .p-title { position: absolute; top: -20px; height: 40px; font-size: 16px; padding: 7px;}
	.equipment .equipment-box .title-type .p-text { font-size: 11px;}
	.our-strengths .our-strengths-box { position: relative; margin-bottom: 75px;}
	.our-strengths .our-strengths-box .p-title { width: 50%; margin-bottom: 30px;}
	.our-strengths .our-strengths-box .p-text { font-size: 14px;}
	.our-strengths .our-strengths-box .our-strengths-figure { position: relative; top: 25px; right: 0; left: 0; text-align: center;}
	.strengths-sec { margin-bottom: 20px;}
	.strengths-sec .strengths-detail .m-title { display: inline-block; font-size: 17px; margin-bottom: 25px;padding-top: 15px; border-bottom: #000 5px solid;}
	.strengths-sec .strengths-detail .m-title span { font-size: 14px;}
	.strengths-sec .strengths-detail .s-text { font-size: 15px; margin-bottom: 15px;}
	.strengths-sec .strengths-title img { width: 65%;}
	.border-ore:before, .border-ore:after { border-top: #d63433 5px solid;}
	.border-green:before, .border-green:after { border-top: #42A44A 5px solid;}
	.border-blue:before, .border-blue:after { border-top: #29A7DE 5px solid;}
	.head-border:before { margin-right: 15px;}
	.head-border:after { margin-left: 15px;}
	.page-hero { height: 310px; }
	.page-hero.mg { margin: 95px 0 50px; }
	.goto-top img { width: 70px; }
	main + .page-hero { height: 240px; }
	main + .page-hero strong { font-size: 32px; }
	main + .page-hero span { font-size: 12px; }
	main + .page-hero .btns img { width: 130px; }
	.withwork-sec .withwork-text { padding: 45px 0;}
	.withwork-sec .withwork-text .d-text { font-size: 15px; font-weight: bold;}
	.withwork-sec .withwork-text .tel-type .t-title { font-size: 12px; padding-top: 4px; font-weight: bold; letter-spacing: .13em;}
	.withwork-sec .withwork-text .tel-type .t-num { font-size: 20px; letter-spacing: .07em; font-weight: bold; line-height: 1.15;}
	.withwork-sec .withwork-text .tel-type .t-name { font-size: 14px; padding-top: 1px; font-weight: bold; letter-spacing: .11em;}
}


.site-title .en { font-size: 46px; font-family: 'Imaki', sans-serif; font-style: italic; letter-spacing: .05em; }
.site-title .en span { color: #d63433; }
.site-title .jp { font-size: 16px; font-weight: bold; letter-spacing: .1em; }
.cube-block { position: relative; padding-top: 100%; text-align: center; }
.cube-block:before { content: ""; position: absolute; left: 3%; top: 3%; width: 94%; height: 94%; border: 1px solid #fff; border-radius: 100%; z-index: 1; pointer-events: none; }
.cube-block .wrapper { position: absolute; background: #0a2b57; color: #fff; border-radius: 100%; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.cube-block .num { font-family: 'Imaki', sans-serif; font-style: italic; font-size: 27px; line-height: 1; position: absolute; top: 30px; left: 0; right: 0; margin: 0 auto; letter-spacing: .1em; border-bottom: 2px solid #fff; width: 30px; white-space: nowrap; padding-bottom: 2px; }
.cube-block .msg { font-size: 24px; letter-spacing: .03em; text-indent: .03em; line-height: 1.41; font-weight: bold; padding-top: 20px; }
@media (max-width: 575px) {
	.site-title .en { font-size: 32px; }
	.site-title .jp { font-size: 12px; }
}


/* text */
.post-head { border-bottom: 1px solid #e1e1e1; padding-bottom: 20px; margin-bottom: 30px; }
.post-head .time { letter-spacing: .1em; }
.post-head .title { font-weight: bold; letter-spacing: .1em; }
.site-button { border: none; color: #fff!important; display: block; margin-left: auto; margin-right: auto; background: #d63433; outline: none; line-height: 1; padding: 18px; max-width: 310px; width: 100%; cursor: pointer; }
.site-button2 { border: 1px solid #fff; color: #fff!important; width: 320px; height: 45px; display: flex; align-items: center; justify-content: center; border-radius: 100px; letter-spacing: .2em; position: relative; transition: .3s; max-width: 100%; font-weight: 400; }
.site-button2:after { content: ""; position: absolute; right: 15px; top: 0; bottom: 0; margin: auto 0; width: 6px; height: 12px; clip-path: polygon(0 0, 100% 50%, 0 100%); background-color: #fff; transition: .3s; }
.site-button2:hover { background: #fff; color: #000!important; }
.site-button2:hover:after { background-color: #000; }
.site-button2.center { margin-left: auto; margin-right: auto; }
#contact_wrapper { padding-bottom: 170px; }
#contact_wrapper hr { border-top: 1px solid #e1e1e1; margin: 10px 0; }
#contact_wrapper .contact-border-wrap { text-align: center; margin-top: 30px; }
#contact_wrapper .contact-border-wrap > div { display: inline-block; text-align: left; }
#contact_wrapper button { border: none; color: #fff; background: #d63433; outline: none; line-height: 1; padding: 18px; max-width: 310px; width: 100%; cursor: pointer; }
.link-text { font-size: .15rem; letter-spacing: .12em;  }
.pc-rl .col-md-6 { text-align: right; }
.pc-rl .col-md-6 + .col-md-6 { text-align: left; }
.telnum small { font-size: .18rem; letter-spacing: .05em; margin-right: .1rem; font-weight: bold; }
.telnum strong { font-size: .28rem; letter-spacing: .05em; font-weight: bold; }
.border-right { border-right: 1px solid #e1e1e1!important; }
.category-tag { height: 30px; width: 110px; text-align: center; font-size: 15px; font-weight: bold; letter-spacing: .1em; border: #d63433 1px solid; color: #d63433; margin-right: 35px; display: inline-block; }
@media (max-width: 767px) {
	#contact_wrapper { padding-bottom: 100px; }
	.pc-rl .col-md-6 { text-align: center; padding-top: 15px!important; padding-bottom: 0!important; }
	.pc-rl .col-md-6 + .col-md-6 { text-align: center; padding-bottom: 15px!important; }
	.border-right.md-border-none { border-right: none!important; padding-bottom: 0!important; }
	.telnum strong { font-size: 24px; }
}

/* ContactForm7 */
.table-res-form { width: 100%; margin-top: .1rem; margin-bottom: .35rem; font-family: "fot-cezanne-pron",sans-serif; overflow: hidden; border-bottom: 1px solid #e1e1e1;}
.table-res-form th, .table-res-form td { padding: .2rem; border-top: 1px solid #e1e1e1;}
.table-res-form th { width: 25%; font-size: .15rem; line-height: 1.73; letter-spacing: .05em; text-align: left; padding-left: .8rem; padding-right: .1rem; position: relative; font-weight: bold; }
.table-res-form th .requied { font-size: .11rem; line-height: 2.4; display: inline-block; position: absolute; left: .25rem; color: #d63433;}
.table-res-form td { font-size: .15rem; line-height: 1.73; color: #000; padding-left: .45rem; position: relative; background: #fff;}
.table-res-form td .label-name { min-width: 80px; display: inline-block;}
.table-res-form td .requied { font-size: .117rem; line-height: .24rem; letter-spacing: .025em; padding-left: 15px; display: inline-block;}
.table-res-form td small.d-block { font-size: .12rem; line-height: 1.6; letter-spacing: .025em;}
.table-res-form input[type="text"], .table-res-form input[type="email"], .table-res-form input[type="tel"], .table-res-form input[type="date"], .table-res-form input[type="number"], .table-res-form textarea
{ padding: .15rem .1rem; margin-bottom: 0.5em; font-size: .15rem; width: 52%; background: #ececec; border: none; margin-right: 0.15rem;}
.table-res-form .postal-code input[type="text"] { width: 35%;}
.table-res-form .inquiry-detail textarea { width: 90%;}
.table-res-form textarea { width: 90%; }
.table-res-form input[type="text"]:focus, textarea:focus { background: #EEFFFF; box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);}
.table-res-form input[class*="p-postal-code"] { width: 140px;}
.table-res-form span.wpcf7-not-valid-tip { font-size: 10px; display: inline-block;}
.table-res-form + p { text-align: center; max-width: 250px; margin: auto; position: relative;}
.table-res-form + p:after { content: ""; background: url("../images/common/link_arrow_w.svg")no-repeat; width: 9px; height: 11px; background-size: contain; position: absolute; right: 10px; top: 25%; margin: auto;}
span.wpcf7-list-item { margin: 0 2em 0 0!important;}
span.wpcf7-list-item.first { margin-left: 0!important;}
span.wpcf7-acceptance .wpcf7-list-item { margin-left: 0!important; margin-right: .07rem!important;}
input[type="submit"] { position: relative; display: block; width: 100%; max-width: 1.7rem; padding: .06rem 0 .035rem; text-align: center; color: #fff!important; transition: all .3s; background: #005ab9; margin: auto; border-radius: 0!important;}
.table-res-form p { position: relative;}
.table-res-form p:after { content: ""; background: url("../images/common/arrow-b.svg")no-repeat; position: absolute; right: -.25rem; bottom: 0; top: 0; margin: auto; height: .11rem; width: .49rem;}
#autozip { display: none!important; }
@media (max-width: 767px) {
  .table-res-form .empty { display: none;}
  .table-res-form th, .table-res-form td { width: 100%; display: block;}
  .table-res-form th { text-align: left; padding-left: 0;}
  .table-res-form th .requied { padding-left: 0; position: static; margin-right: .1rem;}
  .table-res-form td { padding-left: .15rem; border: none; padding: 0; padding-bottom: .2rem;}
  .table-res-form td .label-name { width: 100%; margin-bottom: .1rem;}
  .table-res-form td span.label-name.none-md { display: none;}
  .table-res-form span.postal-code input[type="text"],
  .table-res-form span.your-name input[type="text"] { margin-bottom: 0;}
  .table-res-form input[type="text"],
  input[type="email"],
  input[type="tel"],
  .table-res-form .inquiry-detail textarea,
  .table-res-form .postal-code input[type="text"] { width: 100%;}
  span.wpcf7-list-item { width: 100%; margin-right: 0; }
}

/* index_blog */
#home_test .blog-sec { margin-bottom: 150px; }
@media (max-width: 575px) {
	#home_test .blog-sec { margin-bottom: 100px; }
}


.blog-full-list li { border-bottom: 1px solid #ddd; padding-bottom: 40px; margin-bottom: 60px; }
.blog-full-list .blog-date { letter-spacing: .1em; }
.blog-full-list .blog-title { font-size: 24px; margin-bottom: 20px; letter-spacing: .1em; }
.blog-full-list .contents { letter-spacing: .1em; }
.blog-full-list a:hover { color: #132b54; }
.side-block { margin-bottom: 50px; }
.side-title { font-size: 18px; border-bottom: 1px solid #132b54; border-left: 7px solid #132b54; padding: 5px 20px 10px; letter-spacing: .1em; font-weight: bold; margin-bottom: 15px; }
.side-blog-list li { border-bottom: 1px solid #ddd; padding-bottom: 20px; margin-bottom: 20px; }
.side-blog-list li:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: none; }
.side-blog { display: flex; align-items: center; }
.side-blog .thumbnail { width: 120px; }
.side-blog .contents { width: calc(100% - 120px); font-size: 14px; padding: 12px; letter-spacing: .1em; }
.side-blog .contents .date { font-size: 12px; margin-bottom: 4px; }
.category-list li a { display: block; padding: 10px 10px; border-bottom: 1px solid #132b54; position: relative; }
.category-list li a:after { content: ''; width: 10px; height: 10px; border-right: 1px solid #132b54; border-bottom: 1px solid #132b54; transform: rotate(-45deg); position: absolute; right: 15px; top: 0; bottom: 0; margin: auto 0; }
.sub-block { margin-bottom: 60px; padding-top: 30px; }
.insurance-list li { border: none!important; margin-bottom: 10px; }
.viewmore-btn.pdf a { color: #fff; background-color: #d63433; display: inline-block; text-align: center; padding: 10px; }
.link_btn.submit { border: none; color: #fff; background: #d63433; outline: none; line-height: 1; padding: 18px; max-width: 310px; width: 100%; cursor: pointer; }
.yakkan div { border: 1px solid #d6d6d6; padding: 25px; overflow: scroll; height: 200px; }
.rental-car-charge td.car-detail { padding: 10px; }
.rental-car-charge img { width: 250px; height: 250px; }
.strengths-title.color-red::after { background: #d63433; }
.color-green3 { color: #2B6442; }
.strengths-title.color-green3::after { background: #2B6442; }
.rental-car-charge .detail-item { display: block; font-size: 14px; }
.rental-banner figure { padding-top: 20%; }
.rental-banner.small { position: fixed; top: 0; right: 100px; }
.banner-small { width: 120px; }
#recruit .site-button2.black { color: #d63433!important; background: #fff; border: 1px solid #d63433; height: 60px;}
#recruit .site-button2.black::after { background-color: #d63433; }
#recruit .site-button2.black:hover { background-color: #d63433; color: #fff!important; }
#recruit .site-button2.black:hover::after { background-color: #fff; }
#rental .price .p-title { width: 300px; }
#rental .price .p-text { width: calc(100% - 300px); }
#rental .head-min { font-size: 20px; font-weight: bold; letter-spacing: .2em; border-bottom: #E2E2E2 1.5px solid; padding-bottom: 5px; margin-bottom: 20px; display: inline-block; }
#rental .select .select-form .wpcf7-validates-as-required { font-size: 13px; letter-spacing: .2em; color: #808080; padding: .20rem .1rem; width: 15%; border: none; background: #ececec; }
#rental .select.car .select-form .wpcf7-validates-as-required { width: 25%; }
#rental .select.price .select-form .wpcf7-validates-as-required { width: 50%; }
#rental .select .select-form .wpcf7-validates-as-date { color: #808080; padding: .15rem .1rem; width: 20%; margin: 0; margin-right: 10px; }
#rental .checkbox { text-align: center; }
#rental .select .select-form .time-form { width: 9%; }
#rental .default-link-button { display: block; background-color: #d63533; color: #fff; width: 300px; margin: 0 auto; text-align: center; padding: 10px 0; margin-top: 10px; }
#rental .attention li { border: none; display: block; font-size: 14px; }
#rental .attention ul li { margin-left: 15px; }
#recruit .catch .main-catch { font-size: 45px; }

/* レンタル申し込み */
.rental-vehicle-name { font-size: 32px; letter-spacing: .11em; padding-left: 20px; line-height: 1.1; font-weight: bold; border-left: 5px solid #d63533; margin-bottom: 60px; }
.button-primary { margin-left: 0!important; margin-right: auto!important; background-color: #d63433!important; border: none!important; padding: 5px!important; margin-bottom: 20px!important; cursor: pointer; }
.date-entry { border: none; background-color: #ececec; padding: 3px 10px; letter-spacing: .03em; border-radius: 0!important; }
.rental-form-title { padding-bottom: 10px; font-size: 18px; font-weight: bold; }
.rental-form-block { margin-bottom: 50px!important; }
.mts-form-table { border: none!important; border-top: 1px solid #ccc!important; border-left: 1px solid #ccc!important; border-spacing: 0!important; margin: 0!important; }
.form-required.description { font-size: 12px; }
.customer-header { font-weight: normal; }
.mts-form-table th:first-child, .mts-form-table th:last-child, .mts-form-table th,
.mts-form-table td:first-child, .mts-form-table td:last-child, .mts-form-table td { padding: 10px!important; }
select.rental-time { border: none!important; padding: 3px 5px; letter-spacing: .05em; border-radius: 0!important; color: #000!important; background-color: #ececec!important; }
.booking-link { margin: 20px auto 10px!important; background-color: #d63433!important; border: none!important; padding: 5px!important; cursor: pointer; width: 100%; text-align: center; }
.booking-link a { color: #fff!important; display: block!important; background: none!important; border: none!important; padding: 0!important; height: auto!important;}
.rental-car-charge { margin-bottom: 0!important; }
.booking .week-row-thead th { background-color: #F0F0F0; color: #000; }
td.no-day { background-color: #C1C1C1!important; }
th.sat { color: #fff!important; background-color: rgba(0, 0, 217, 0.8)!important; }
th.sun { color: #fff!important; background-color: rgba(217, 0, 0, 0.8)!important; }
.booking #month-calendar { display: flex; flex-direction: column; }
.day-status.available { color: #0067C0; }
.booking #month-calendar .schedule-calendar.month-2 { width: 100%; }
.schedule-calendar caption { margin-bottom: 0!important; background-color: #132b54; color: #fff; margin-top: 60px!important; }
.day-number { text-align: center!important; padding-bottom: 10px; }
.day-note { font-size: 11px!important; }
.booking .rental-form-block.action-row input[type="submit"] { margin-bottom: 20px!important; border: 1px solid #d63433!important; background: #d63433!important; }
.mtsrcb-page-block { max-width: 1200px; margin: 150px auto 80px; padding: 0 15px; }
.canceld-message { max-width: 1200px; margin: 150px auto 80px; padding: 0 15px; }
.box-title { font-size: 25px; margin-bottom: 20px; font-weight: bold; letter-spacing: .1em; line-height: 1.5; }
.date-entry.focused { background-color: #fff!important; border: 1px solid #ccc; }
.mts-form-table th { width: 20%!important; }
.mts-form-table td { width: 80%!important; }
.form-required.description { margin-top: 30px; }
.mts-fat,
input.customer-name { width: 100%!important; }
.customer-name-box { width: 49.6%!important; margin: 0!important; }
.reserve-cancel { display: none; }
#rental-date-arrow { margin: 0 40px 0 40px!important; }
#mtsrcb-entry-date { max-width: 500px; }
#change-prev,
#change-next { border: none!important; padding: 0 20px; font-weight: bold; }
#rental-cars .car-name { display: none; }
#mts-customer-entry input, #mts-customer-entry select { border: none!important; background-color: #ececec; padding: 15px 10px!important; }
#mts-customer-entry.mts-form-table,
#mts-customer-entry.mts-form-table th,
#mts-customer-entry.mts-form-table td { border: none!important; }
#mts-customer-entry.mts-form-table th { font-weight: bold; vertical-align: baseline; }
#mts-customer-entry dd { margin-left: 0!important; }
#customer-tel,
#customer-mobile { width: 50%; }
caption { caption-side: top; padding: 10px 0; color: #000; }

@media (max-width: 767px) {
	.blog-full-list .blog-title { font-size: 18px; }
}
@media (max-width: 575px) {
	hr { margin: 50px 0; }
	.sub-block { padding-top: 0; margin-bottom: 30px; }
	.viewmore-btn.pdf a { font-size: 14px; }
	.box-title { font-size: 20px; }
	.schedule-calendar caption { margin-top: 40px!important; }
	.mtsrcb-page-block { margin: 70px 0 50px; }
	.rental-vehicle-name { margin-bottom: 20px; }
	.rental-banner.small { right: 70px; }
	.banner-small { width: 85px; }
	.site-button2 {background: #fff; color: #000!important; }
	.site-button2:hover { background: transparent; color: #fff!important; }
	.site-button2:after { background-color: #000; }
	.site-button2:hover::after { background-color: #fff; }
	#rental .price .p-title { width: 100%; }
	#rental .price .p-text { width: 100% }
	#rental  .corporate-philosophy .info-box ul li { display: block; }
	#rental .corporate-philosophy h3 { margin-left: 0; }
	#rental .head-min { font-size: 15px; }
	#rental .table-res-form th { font-size: 15px; }
	#rental .select .select-form .wpcf7-validates-as-date { width: 100%; margin-bottom: 10px; padding: 10px; }
	#rental .google-privacy { font-size: 12px; }
	#rental .select .select-form .wpcf7-validates-as-required { margin-left: 0; }
	#rental .select .select-form .time-form { width: 20%; }
	#rental .select.car .select-form .wpcf7-validates-as-required { width: 70%; }
	#rental .select.price .select-form .wpcf7-validates-as-required { width: 100%; }
	#recruit .catch .main-catch { font-size: 24px; }

	.rental-date-box { width: 100%!important; }
	.schedule-calendar.month-2 { width: 100%!important; }
	.rental-period-date { width: 100%; text-align: left!important; }
	.rental-form-block { margin-top: 20px!important; }
	.mts-form-table { font-size: 12px; }
	.mts-form-table th,
	.mts-form-table td { width: 100%!important; }
	.customer-name-box { width: 100%!important; }
	.form-required.description { margin-top: 15px; }
	.rental-car-charge .detail-item { font-size: 12px; }
	.rental-period-arrow,
	#rental-date-arrow { transform: rotate(90deg); margin: 8px 20px!important; font-size: 14px!important; }
	#customer-postcode { width: 40%!important; }
	#mts-customer-entry.mts-form-table th { display: block; width: 100%; }
	#mts-customer-entry.mts-form-table td { display: block; }
	#rental .mts-form-table th { padding: 5px!important; padding: 0!important; }
	#mts-customer-entry input, #mts-customer-entry select { width: 100%; }
	#mts-customer-entry.mts-form-table tr {display: block; padding: 10px 0; }
	#mts-customer-entry.mts-form-table td { padding: 0!important; }
	#customer-pref { width: 50%!important; }
	#mts-rental-application.mts-form-table th { width: 20%!important; padding: 0 5px!important; }
	#mts-rental-application.mts-form-table td { width: 80%!important; }

}