@charset "UTF-8";
main {
    color: #2d2d2d;
    margin-bottom: min(25vw, 300px);
}
header#header {
    position: static;
    width: auto;
}
/*==================================================
First View
==================================================*/
.art_recfv{
    padding-bottom: min(5vw, 50px);
}
.recfv_inr {
    padding: 0 0 0 min(2vw, 50px);
    position: absolute;
    height: 100%;
    display: flex;
    align-items: center;
}
.recfv_ttl_wrap {
    position: relative;
    z-index: 2;
}
.recfv_subttl,
.recfv_ttl{
    color: #fd343e;
    line-height: 90%;
    font-weight: 700;
}
.recfv_subttl{
    font-size: min(12vw, 146px);
}
.recfv_ttl{
    font-size: min(19.5vw, 267px);
}
.recfv_slider {
    display: flex;
    height: calc(100vh - min(6vw, 64px) - min(5vw, 50px));
    min-height: 600px;
}
.recfv_slide {
    border-radius: min(3vw, 10px);
    overflow: hidden;
    margin: 0 min(1.5vw, 10px);
    aspect-ratio: 1 / 1;
    height: 100%;
    flex-shrink: 0;
}
.recfv_slideimg {
    width: auto;
    height: 100%;
}
@media (max-width:760px){
.art_recfv {
    padding-bottom: 0;
}
.recfv_slider {
    height: calc(100svh - 50px);
    min-height: auto;
    padding-bottom: 20vh;
}
.recfv_inr {
    align-items: flex-end;
        padding-bottom: 4.5vh;
	height:95%;
}
}
/*==================================================
Slogan
==================================================*/
.art_slogan {
    background: #fd343e;
    color: #fff;
    padding: min(18vw,130px) 0;
}
.slogan_flex {
    display: flex;
    width: 86%;
    margin: 0 auto;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
    z-index: 2;
    align-items: center;
}
.slogan_ttl_wrap {
}
.slogan_ttl {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-size: 6vw;
    font-weight: 800;
    line-height: 1;
}
.slogan_ttl .slogan {
    display: inline-block;
    line-height: 1;
    border-bottom: 1px solid;
    padding-bottom: min(3.5vw, 25px);
    margin-bottom: min(3.5vw, 20px);
}
.slogan .another_color {
    color: #000;
    font-size: 120%;
    font-weight: 1000;
}
.slogan_txt_wrap {
    width: calc(100% - 38vw - 7%);
}
.slogan_txt {
    line-height: min(9vw,280%);
}
.slogan_wave {
    width: max(320px, 36vw);
    position: absolute;
    bottom: min(8vw, 100px);
    right: 0;
    left: 0;
    margin: auto;
}
@media (max-width:1100px){
.slogan_flex {
    width: 90%;
}
.slogan_ttl {
    font-size: min(12vw,96px);
}
.slogan_txt_wrap {
    width: 100%;
    margin-top: min(5vw,30px);
}
}
/*==================================================
slogan_slider
==================================================*/
.slogan_slider{
    background: linear-gradient(to bottom, rgba(253, 52, 62, 1) 0%, rgba(253, 52, 62, 1) 35%, rgba(253, 52, 62, 0) 35.1%, rgba(253, 52, 62, 0) 100%);
}
.slogan_slide{
    border-radius: 10px;
    margin: 7px;
    overflow: hidden;
}
.slogan_slide:nth-of-type(2n-1){
    margin-top: min(4vw,35px);
}

/*==================================================
navi
==================================================*/
#navi_area {
    margin-top: min(15vw, 90px);
    padding-top: min(15vw, 90px);
    position: relative;
}
.avoid_navi {
    padding-left: calc(240px + 7vw);
}
.recruit_menu {
    width: 250px;
    background: #fff;
    position: absolute;
    z-index: 8;
    border-radius: 0 20px 20px 0;
    padding: 20px 0 20px 78px;   
    top: min(15vw, 90px);
    left: 0;
    transition: all ease 200ms;
}
.recruit_menu.fixed_navi {
    position: fixed;
}
.recruit_menu.end_navi {
    left: -100vw;
}
.recruit_menu {
    width: 240px;
    background: #fff;
    position: absolute;
    z-index: 8;
    border-radius: 0 10px 10px 0;
    padding: 45px 40px 45px 50px;
    top: min(15vw, 90px);
    left: 0;
    transition: all ease 200ms;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
}
.recruit_menu_ttl {
    font-weight: 800;
    font-size: 120%;
    margin-bottom: 1.3em;
}
.recruit_menu_list li:not(:last-child) {
    margin-bottom: 1.4em;
}
.recruit_menu_list li a:hover,
.recruit_menu_list li a.current{    
    color: #fd343e;
}
@media (max-width:960px){
.recruit_menu {
    left: -240px;
}
.avoid_navi{
    padding-left: 4vw;
    padding-right: 4vw;
}
}

/*==================================================
Content
==================================================*/
.content_ttl_wrap {
    margin-bottom: min(8vw, 60px);
}
.content_subttl {
    line-height: 1;
    font-weight: 600;
    font-size: min(4.5vw, 22px);
    margin-bottom: min(2vw, 10px);
}
.content_ttl {
    font-size: min(12vw, 100px);
    line-height: 1;
    word-break: break-word;
}
/*==================================================
Nitto Data
==================================================*/
section#nittodata {
    margin-top: max(-15vw, -150px);
    padding-top: min(15vw, 150px);
}
.sec_data {
    margin-bottom: min(40vw, 370px);
}
.data_area_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: min(99%, 1200px);
}
.data_area {
    background: #fff;
    border-radius: 10px;
    width: calc(calc(100% - 28px) / 3);
    margin-bottom: 14px;
    text-align: center;
}
:where(.data_area).col2 {
    width: calc(calc(100% - 28px) / 3 * 2 + 14px);
}
.data_area_inr {
    padding: min(4vw, 30px) 5px;
}
.data_name {
    line-height: 1.4;
    color: #fff;
    background: #575757;
    border-radius: 2em;
    text-align: center;
    padding: 4px;
    width: min(100%, 200px);
    font-size: min(4vw, 18px);
    margin: 0 auto min(7vw, 40px);
}
.data_subname {
    margin-top: max(-30px, -5vw);
    margin-bottom: min(4vw, 25px);
    font-size: min(4vw, 16px);
}
.data_flex {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
:where(.data_flex).flex_wide{
    flex-direction: row;
}
.data_caption {
    line-height: 1.4;
    font-weight: 400;
    font-size: min(3.5vw, 18px);
}
.data_icon {
    width: auto;
    height: min(21vw, 90px);
    margin-bottom: 10px;
}
.data_icon img{
    width: auto;
    height: 100%;
}
:where(.data_icon).icon_wide {
    width: min(46vw, 210px);
}
:where(.data_area.col2 .data_listitem) .data_icon {
    width: min(60%, 160px);
}
.data_graph {
    width: min(80vw, 72.5%);
    margin-top: -14px;
    margin-bottom: 21px;
}
.data_graph img{
    width: 100%;    
}
.data_ratio {
    width: 35%;
    margin: 0 2%;
}
:where(.data_ratio) .ratio_icon {
    width: 25%;
    margin: 0 auto;
}
.ratio_colon {
    width: 10%;
}
.data_val {
    width: 100%;
    height: 80px;
    margin: 10px 0;
}
.data_num {
    display: inline-block;
    color: #fd343e;
    font-size: min(8.5vw,100px);
    font-weight: 700;
    line-height: 80px;
}
.data_unit {
    display: inline-block;
    font-size: min(2.5vw,26px);
    font-weight: bold;
}
:where(.data_ratio) .data_val {
    height: auto;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    justify-content: center;
}
.data_ratio .data_num {
    font-size: min(18.5vw, 70px);
    line-height: 1;
}
.data_area.col2 .data_listitem{
    margin: 0 2.5%;
    line-height: 1.4;
}
.data_area.col2 .data_val {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    justify-content: center;
}
.data_area.col2 .data_num {
    font-size: min(6vw, 70px);
    line-height: 1;
}
@media (min-width:1200px){
.data_ratio .data_val,
.data_area.col2 .data_val{
    flex-wrap: nowrap;
}
.data_val img {
    width: auto !important;
    height: 100% !important;
}
.flex_wide .data_val img {
    width: 100% !important;
    height: auto !important;
}
}
@media (max-width:640px){
.data_wrap {
    padding-left: 2.5vw;
    padding-right: 2.5vw;
}
.data_wrap .content_ttl_wrap {
    width: 90vw;
    margin-left: auto;
    margin-right: auto;
}
.data_area {
    width: 100%;
}
.data_flex {
    flex-direction: row;
    align-items: center;
}
.data_icon {
    margin-bottom: 0;
}
.data_val {
    width: auto;
    height: auto;
    margin-left: 5%;
        text-align: left;
}
.data_num {
    font-size: 20vw;
}
.data_area.col2 .data_num {
    font-size: min(12vw, 70px);
}
.data_unit {
    font-size: 6.5vw;
}
.data_name {
    margin-left: 5vw;
    border-radius: 10px;
}
.data_ratio {
    display: flex;
    flex-wrap: wrap;
    width: 45%;
}
.data_ratio:last-child {
    flex-direction: row-reverse;
}
.data_ratio .data_val {
    width: 100%;
    line-height: 1;
}
.data_ratio .ratio_icon{
    width: 20%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.data_ratio .ratio_val {
    width: 70%;
}
.data_area.col2 .flex_wide{
    flex-wrap: wrap;
        width: 110%;
        margin-left: -5%;
}
.data_area.col2 .data_listitem {
    width: 45%;
    display: grid;
    grid-template-areas:"areaA areaB"
"areaA areaC";
    grid-template-columns: 35% 1fr;
        margin: 0 2% 5vw;
}
.data_area.col2 .data_listitem .data_icon {
    grid-area: areaA;
        width: 100%;
        margin-bottom: 0;
}
.data_area.col2 .data_listitem .dataitem_name {
    grid-area: areaB;
        font-size: 3.5vw;
        line-height: 1;
        margin-bottom: 5px;
}
.data_area.col2 .data_listitem .data_val {
    grid-area: areaC;
        width: 80%;
        margin: 0 auto;
}
.data_area.col2 .data_listitem .data_icon img {
    width: 100%;
    height: auto;
}
}
/*==================================================
message
==================================================*/
section#message {
    margin-top: max(-15vw, -150px);
    padding-top: min(15vw, 150px);
}
.sec_msg {
    position: relative;
    background: #fff;
}
.art_msg {
    padding-bottom: min(20vw, 140px);
}
.msg_head_txt {
    color: #e5e0d9;
    position: absolute;
    z-index: 0;
    line-height: 1;
    font-size: 19vw;
    font-weight: 700;
    opacity: 0.5;
    top: max(-10vw, -160px);
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
}

.msg_wrap{    
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.msg_txt,
.msg_photo {
    width: 46%;
}
.msg_txt .name {
    font-size: min(6vw, 32px);
    line-height: 160%;
    margin-bottom: min(5vw, 30px);
    font-weight: 800;
}
.msg_txt .txt {
    font-size: min(4.5vw, 18px);
    line-height: min(8vw, 220%);
    margin-bottom: min(7vw,50px);
}
.msg_txt .txt:last-child {
    margin-bottom: 0;
}
.sign {
    font-size: min(5vw, 24px);
    font-weight: 700;
}

@media (max-width:840px){
.msg_txt,
.msg_photo {
    width: 100%;
}
.msg_txt {
    margin-bottom: min(7vw, 50px);
}
.msg_photo {
    width: 71%;
    margin: 0 auto;
}
}
/*==================================================
interview
==================================================*/
section#interview {
    margin-top: max(-15vw, -150px);
    padding-top: min(15vw, 150px);
    background: #d7343e;
    color: #fff;
}
.art_interview {
    padding: min(15vw, 100px) 0;
}
.art_interview .avoid_navi {
    padding-left: 0;
}
:where(.sec_interview) .content_ttl_wrap {
    text-align: center;
}
:where(.sec_interview) button.slick-arrow {
    position: absolute;
    overflow: hidden;
    width: min(10vw, 60px);
    height: min(10vw, 60px);
    border-radius: 50%;
    box-shadow: none;
    border: 1px solid #000;
    text-indent: -9999px;
    background: url(../img/cmn/arw_black.svg) no-repeat center / 50%;
    background-color: rgba(255, 255, 255, 0.8);
    top: min(42vw, 300px);
    z-index: 2;
    cursor: pointer;
    transition: all ease 300ms;
}
:where(.sec_interview) button.slick-arrow:focus{
	outline: none;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	cursor:pointer;
}
:where(.sec_interview) button.slick-arrow:hover{
    background-image: url(../img/cmn/arw_white.svg);
    background-color: #d7343e;
}
.sec_interview button.slick-prev{
    transform: rotate(90deg);
}
.sec_interview button.slick-next{
    transform: rotate(-90deg);
}
.interview_slide_photowrap {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    position: relative;
    margin-bottom: min(5vw,40px);
}
.interview_thum,
.interview_photo{
    transition: all ease 300ms;
}
.interview_slide_photo {
    border-radius: 10px;
    aspect-ratio: 74 / 55;
    overflow: hidden;
    transition: all ease 200ms;
    opacity: 0;
}
.interview_item.slick-current .interview_slide_photo{
    opacity: 1;
}
.interview_slidename_wrap {
    position: absolute;
    bottom: 0;
    z-index: 2;
    background: #d7343e;
    right: 0;
    border-radius: 10px 0 0 0;
    padding: min(3vw,18px) 5% min(2vw,10px) min(4vw,30px);
}
.interview_slidename {
    font-size: min(8vw,44px);
    line-height: 1;
    margin-bottom: min(1.5vw,12px);
}
.interview_slideyear {
    line-height: 1;
    font-size: min(4vw, 16px);
}
.interview_slide_cp {
    width: 90%;
    margin: 0 auto;
}
.interview_slide_cpmain {
    text-align: center;
    line-height: 1.4;
    font-size: min(5vw, 30px);
    font-weight: 800;
    letter-spacing: 0.05em;
    font-feature-settings: "palt" 1;
}
.interview_slide_cpsub {
    font-size: 16px;
    width: 100%;
    margin: 0 auto;
    margin-top: min(1.5vw,18px);
    border-top: 1px solid;
	padding:min(1.5vw,8px) 10% 0;
}

.interview_num {
    line-height: 1;
    font-weight: bold;
    font-size: min(4vw,22px);
    text-align: center;
    margin-bottom: 15px;
}
.interview_num .num {
    font-size: min(5vw,30px);
}
.interview_item.slick-active:not(.slick-current) .interview_num {
    transform: scale(0.7);
    opacity: 0.5;
}
.interview_list {
    z-index: 2;
}
.interview_txtslider_outer {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    opacity: 0.5;
    height: 1em;
}
.interview_txtslider {
    display: flex;
}
.interview_txtslide {
    font-size: 10.5vw;
    line-height: 100%;
    white-space: nowrap;
    text-shadow: 1px 1px 0 #fff, -1px 1px 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff;
    color: #d7343e;
    font-weight: 500;
}
@media (min-width:751px){
.sec_interview .slick-track {
    display: flex !important;
}
.interview_item {
    float: none !important;
}
.interview_item.slick-active:not(.slick-current){
    width: 23.6vw !important;
    pointer-events: none;
}
.interview_item.slick-current{
    width: 52.8vw !important;
}
.sec_interview button.slick-prev{
    left: calc(23.6vw - 60px);
}
.sec_interview button.slick-next{
    right: calc(23.6vw - 60px);
}
.interview_item:not(.slick-current) .interview_slide_photo,
.interview_item:not(.slick-current) .interview_slidename_wrap,
.interview_item:not(.slick-current) .interview_slide_cp,
.interview_item.slick-current .interview_slide_thum{
    display: none;
}

.interview_item:not(.slick-current) {
    padding-top: 14vw;
}
.interview_slide_thum{
    width: 150px;
    overflow: hidden;
    line-height: 1;
    border-radius: 50%;
}
}
@media (max-width:750px){
.interview_slide_photowrap {
	padding: 0 7vw;
}
.interview_slide_thum{
    display: none;
}
.sec_interview button.slick-next {
    right: 2vw;
}
.sec_interview button.slick-prev {
    left: 2vw;
}
.interview_slide_cpsub {
    width: 100%;
    font-size: 4vw;
}
.interview_txtslider_outer {
    top: auto;
    height: auto;
}
}

/*ポップアップの中身*/
.ivp_head_wrap {
    position: relative;
    z-index: 3;
    display: flex;
    width: min(90%, 1010px);
    margin: 0 auto min(12vw, 110px);
    justify-content: space-between;
}
.interview_popup {
    padding: min(12vw, 100px) 0 !important;
}
.ivp_photo {
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 580px;
    aspect-ratio: 50 / 62;
    border-radius: min(1vw, 8px);
}
.ivp_photo img {
    height: 100%;
    width: auto;
}
.ivp_num {
    line-height: 1;
    font-size: min(4vw, 20px);
    color: #fd343e;
    margin-top: min(4vw, 45px);
    margin-bottom: min(5vw, 30px);
    font-weight: 700;
}
.ivp_num .num {
    font-size: min(6vw,30px);
}
.ivp_maincopy {
    font-size: min(5vw, 30px);
    line-height: 1.6;
    font-weight: 900;
    margin-bottom: min(4vw, 35px);
    font-feature-settings: "palt" 1;
    letter-spacing: 0.05em;
}
.ivp_name {
    font-size: min(9vw,44px);
    line-height: 1;
    margin-bottom: 8px;
    font-weight: 700;
}
.ivp_year {
    font-size: min(4vw,16px);
    line-height: 1.4;
}

.ivp_list{
    position: relative;
    z-index: 3;
    width: min(90%,800px);
    margin: 0 auto;
    counter-reset: number 0;
}
.ivp_item {
    margin-bottom: min(10vw, 80px);
}
.ivp_item:last-child {
    margin-bottom: min(5vw, 40px);
}
.ivp_item .ivp_question:before {
  counter-increment: number 1;
  content: counter(number,decimal-leading-zero);
    margin-right: 3px;
}
.ivp_answer_ttl {
    font-size: min(5.5vw,26px);
    line-height: 1.6;
    font-weight: 800;
    margin-bottom: min(4vw, 30px);
}
.ivp_answer_txt {
    font-size: min(4vw, 18px);
}
.ivp_photo2 {
    overflow: hidden;
    border-radius: 8px;
    margin-top: min(5vw, 30px);
}

.ivp_question {
    color: #fd343e;
    font-weight: 600;
    line-height: 1;
    margin-bottom: min(3vw,25px);
}

.interview_popup::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    width: min(70vw,550px);
    aspect-ratio: 5 / 2;
    top: min(20vw,300px);
    left: 10%;
    background: url(../img/cmn/bg_wave.svg) no-repeat center / contain;
    opacity: 0.8;
}
.ivp_txtslide_wrap {
    overflow: hidden;
    position: absolute;
    width: 100%;
    top: min(500px,32vw);
    z-index: 2;
}
.ivp_txtslide_inr {
    display: flex;
    flex-direction: row;
    animation: ivpTxtslide 10s linear infinite both;
}
@keyframes ivpTxtslide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-95.5vw);
  }
}
 
.ivp_txtslide {
    text-shadow: 1px 1px 0 #fd343e, -1px 1px 0 #fd343e, -1px -1px 0 #fd343e, 1px -1px 0 #fd343e;
    color: #f4f0ee;
}
/*VS fancybox*/
.fancybox__container {
    --fancybox-backdrop-bg:rgba(255, 255, 255, 0.9) !important;
}
.fancybox__slide,
.fancybox__container{
    background: none !important;
}
.fancybox__thumbs,
.f-button.is-arrow{
    display:none !important;
}
.f-html {
    background: #f4f0ee !important;
    border-radius: min(4vw, 20px);
    border: 1px solid #fd343e;
    width: min(100%, 1220px);
}
.f-button.is-close-button {
    --f-button-color: #2d2d2d !important;
    --f-button-hover-color: #2d2d2d !important;
    top: min(5vw,25px) !important;
    right: min(5vw,25px) !important;
}
.f-button.is-close-button svg{
    display: none !important;
}
.f-button.is-close-button::before {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    background: url(../img/cmn/ico_close.svg) no-repeat center / 100% auto;
}
@media (max-width:980px){
.ivp_head_wrap {
    flex-direction: column;
}
.ivp_photo {
    aspect-ratio: auto;
    height: auto;
    width: min(100%, 740px);
    margin-left: auto;
    margin-right: auto;
    margin-top: min(5vw, 30px);
}
.ivp_photo img {
    width: 100%;
    height: auto;
}
.ivp_txtslide_wrap {
    top: auto;
}
}
@media (max-width:750px){
.fancybox__dialog {
    width: 100vw !important;
}
}
/*==================================================
requirements
==================================================*/
section#requirements {
    margin-top: max(-15vw, -150px);
    padding-top: min(15vw, 150px);
    margin-bottom: min(30vw, 150px);
}
.art_req {
    padding-top: min(20vw, 150px);
}
.req_cat_wrap {
    padding-bottom: 20px;
}
.req_cat_nav{
    display: flex;
    line-height: 1;
    margin-bottom: 1em;
}
.req_cat_ttl {
    font-size: min(4vw, 22px);
    margin: 6px min(2vw, 1em) 0 0;
    width: min(17vw, 96px);
    min-width: min(17vw, 96px);
}
.cat_switch_list {
    display: flex;
    flex-wrap: wrap;
}
.cat_switch {
    border: 1px solid #000;
    border-radius: 5px;
    width: auto;
    min-width: 120px;
    height: min(7vw,36px);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 7px;
    margin-bottom: 7px;
    padding: 0 6px;
    cursor: pointer;
    transition: all ease 300ms;
}
.cat_switch.current{
    color: #fff;
    background: #fd343e;
}
.cat_switch:not(.current):hover{
    background: #e2e2e2;
}
@media (max-width:840px){
.cat_switch{
    min-width: 70px;
}
}

.req_list {
    margin-top: min(7vw, 70px);
}
.req_item:not(:last-child) {
    margin-bottom: min(22vw, 150px);
}
.req_item:not(.current) {
    display: none;
}
.req_name {
    font-size: min(5.5vw, 28px);
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 0.5em;
}
.form_txt{
    font-size: min(4vw, 18px);
    line-height: min(8vw, 220%);
}
.req_itemcat_list {
    display: flex;
    flex-wrap: wrap;
}
.req_itemcat {
    margin-right: 1em;
    line-height: 1;
    margin-bottom: 0.5em;
}

/*==================================================
FORM
==================================================*/
.formspace_wrap {
    background: #fff;
    padding: 1px;
    border-radius: min(4vw, 20px) 0 0 min(4vw, 20px);
}
@media (max-width:840px){
.formspace_wrap{
    border-radius: min(4vw, 20px);
}
}
.form_inr {
    width: min(94%, 900px);
    margin: min(10vw, 70px) auto min(12vw, 95px);
    font-size: min(3.5vw, 16px);
}
.form_inr .tbl {
    margin-top: min(5vw,45px);
    border-top: 1px solid #efefef;
}

input[type="text"],
input[type="email"],
textarea,
select {
    border: 2px solid #efefef;
    background: #f9f7f8;
    border-radius: 5px;
}
.wpcf7-list-item {
    margin: 0 1em 0 0;
}
.td_item {
    display: flex;
    align-items: center;
}
.td_item:not(:first-child) {
    padding-top: min(2vw, 15px);
}
.td_item:not(:last-child) {
    padding-bottom: min(2vw, 15px);
    border-bottom: 1px solid #efefef;
}
.td_r, .td_l {
    align-items: center;
    display: flex;
}
.tr {
    display: flex;
    border-bottom: 1px solid #efefef;
    padding: min(4vw, 15px) 0;
    line-height: 1;
}
.th {
    width: 220px;
    font-weight: 600;
    font-size: min(4vw, 16px);
    line-height: 1.6;
}
:where(form) .th{
    font-weight: normal;
    padding: 1em 0;    
}
.td {
    width: calc(100% - 220px);
    display: flex;
    justify-content: center;
    flex-direction: column;
    line-height: 160%;
    word-break: break-all;
}
@media (max-width:760px){
.td_item {
    justify-content: flex-start;
}
.tr {
    flex-direction: column;
}
.th{
    width: 100%;
    padding: 0 0 min(2.5vw, 20px);
}
.td {
    width: 100%;
}
}
.link_btn {
    display: block;
    text-align: center;
    color: #fff;
    background: #2d2d2d;
    font-size: min(3.5vw, 18px);
    width: min(70vw, 500px);
    padding: min(5vw, 28px) 0;
    border-radius: 6px !important;
    font-weight: 500;
    margin: 0 auto;
}
input.send_btn:disabled{
    background: #ccc;
}
.send_btn_inr {
    text-align: center;
    margin: min(10vw, 80px) 0 0;
}
.check_wrap {
    margin: min(6vw, 40px) auto 0;
    text-align: center;
}
.wpcf7-spinner {
    display: block;
    margin: 0 auto;
}
form.wpcf7-form:not(.sent) .send_complete{
    display: none !important;
}


.wpcf7-form-control-wrap[data-name*="your-name"],
.wpcf7-form-control-wrap[data-name*="your-kana"]{
    width: 70%;
    margin: 0 min(0.5vw,0.7em);
    display: inline-block;    
}
.wpcf7-form-control-wrap[data-name*="your-zip"] {
    width: 30%;
    margin: 0 0.7em;
    display: inline-block;
}
.wpcf7-form-control-wrap[data-name*="your-tel"] {
    width: 20%;
    margin: 0 0.7em;
    display: inline-block;
}
.wpcf7-form-control-wrap[data-name*="your-zip1"],
.wpcf7-form-control-wrap[data-name*="your-tel1"]{
    margin-left: 0;
}
.wpcf7-form-control-wrap[data-name*="your-address"] {
    width: 70%;
}
input[type="text"],
input[type="email"],
textarea, select{
    width: 100%;
}

.privacy_scroll {
    font-size: min(3vw, 14px);
    line-height: 1.4;
    height: 16em;
    overflow: scroll;
    border: 1px solid #efefef;
    padding: min(3vw,20px) min(3vw,20px) 0 min(3vw,20px);
}
/*送信完了*/
form.wpcf7-form.sent .tbl{
    display: none;
}
.complete_inr {
    margin-bottom: min(10vw, 100px);
}
.complete_ttl {
    font-size: min(5vw, 30px);
    line-height: 1.8;
    font-weight: 600;
    margin-bottom: min(3vw, 30px);
}
.wpcf7 form.sent .wpcf7-response-output {
    display: none !important;
}
.wpcf7-not-valid-tip {
    color: #fff;
    background: #dc3232;
    padding: 0.5em;
}

.wpcf7-turnstile.cf-turnstile {
    text-align: center;
    margin-top: 30px;
}