@charset "UTF-8";

/*
Theme Name: tf
Template: habakiri
*/
/* ---------------------------------------------------------
common
--------------------------------------------------------- */
html {
    font-size: 62.5%;
}

body {
    font-size: 16px;
    font-size: 1.6rem;
    font-family: "羝吾�眼�激����", YuGothic, "����������� ProN W3", "Hiragino Kaku Gothic ProN", Roboto, "Droid Sans", "�＜�ゃ����", Meiryo, "鐚㍼竺 鐚違�眼�激����", Helvetica, Arial, sans-serif;
}

section header {
    text-align: center;
}

section header h1 {
    font-size: 32px;
    font-size: 3.2rem;
    font-family: "羝御����篏�", "Yu Mincho", "YuMincho", "������������ Pro W3", "Hiragino Mincho Pro", "HGS����B", "Hiragino Mincho ProN", "鐚㍼竺 鐚井����", "MS PMincho", serif;
    letter-spacing: 0.1em;
    font-weight: 400;
    position: relative;
    display: inline-block;
    padding: 0 55px;
    margin-bottom: 30px;
}

section header h1::before,
section header h1::after {
    content: "";
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 50px;
    height: 1px;
    background-color: #202b52;
}

section header h1::before {
    left: 0;
}

section header h1::after {
    right: 0;
}

section header h1 span {
    font-size: 12px;
    font-size: 1.2rem;
    display: block;
}

h2 {
    font-family: "羝御����篏�", "Yu Mincho", "YuMincho", "������������ Pro W3", "Hiragino Mincho Pro", "HGS����B", "Hiragino Mincho ProN", "鐚㍼竺 鐚井����", "MS PMincho", serif;
}

ol,
ul {
    padding-left: 0;
    list-style-type: none;
}

.site-branding__heading {
    color: #ffffff;
}

.more_view {
    padding: 10px 0px;
    text-align: center;
    margin-top: 30px;
}

.more_view .more.more01 {
    transition: all 0.2s linear 0s;
}

.more_view .more.more01::before {
    content: "\f30b";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 15px;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    right: 0;
    top: 0;
    opacity: 0;
    height: 100%;
    width: 40px;
    transition: all 0.2s linear 0s;
}

.more_view .more.more01:hover {
    text-indent: -20px;
}

.more_view .more.more01:hover::before {
    opacity: 1;
    text-indent: 0px;
}

.more_view a {
    background: #202b52;
}

.more_view .more {
    text-align: center;
    display: inline-block;
    position: relative;
    text-decoration: none;
    color: #fff;
    text-transform: capitalize;
    padding: 10px 0px;
    width: 250px;
    border-radius: 5px;
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    section header h1 {
        font-size: 18px;
        font-size: 1.8rem;
    }
}

/* ---------------------------------------------------------
header
--------------------------------------------------------- */
.header {
    background-color: #fbf9fa !important;
    padding: 15px 0;
}

/* ---------------------------------------------------------
slider
--------------------------------------------------------- */
.habakiri-slider__transparent-layer {
    height: 100vh;
}

.habakiri-slider__item-content {
    font-size: 20px;
    font-size: 2rem;
    text-align: center;
    top: 35%;
    position: relative;
}

.habakiri-slider__item-content h1 {
    font-size: 70px;
    font-size: 7rem;
    font-family: "羝御����篏�", "Yu Mincho", "YuMincho", "������������ Pro W3", "Hiragino Mincho Pro", "HGS����B", "Hiragino Mincho ProN", "鐚㍼竺 鐚井����", "MS PMincho", serif;
    font-weight: 400;
    letter-spacing: 0.1em;
    margin-bottom: 30px;
}

.scroll {
    position: absolute;
    top: 125%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 3em;
    height: 3em;
    border: 1px solid #f5f5f5;
    border-radius: 50%;
    cursor: pointer;
}

.scroll:hover::before {
    background: rgba(255, 230, 64, 0.2);
    animation-play-state: paused;
}

.scroll::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 3em;
    height: 3em;
    box-shadow: 0 0 0 0 rgba(255, 230, 64, 0.2);
    border-radius: 50%;
    opacity: 0;
    animation: ripple1 3s infinite;
}

.scroll span {
    width: 1em;
    height: 1em;
    position: absolute;
    top: 25%;
    left: 33%;
    transform: rotate(-45deg);
    border-left: 1px solid #f5f5f5;
    border-bottom: 1px solid #f5f5f5;
    z-index: 2;
}

@keyframes ripple1 {
    0% {
        opacity: 0;
    }

    30% {
        opacity: 1;
    }

    60% {
        box-shadow: 0 0 0 2em rgba(255, 230, 64, 0.2);
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.next-section {
    padding: 3em 1.5em;
    background-color: #78909c;
}

.next-section h2 {
    margin-bottom: 2em;
    text-align: center;
    font-size: 24px;
    letter-spacing: 0.1em;
}

.next-section h2::after {
    content: "";
    display: block;
    width: 10%;
    height: 2px;
    margin-top: 0.5em;
    margin-left: 45%;
    background: #f5f5f5;
}

.next-section p {
    padding: 1.5em;
}

@media screen and (max-width: 768px) {
    .habakiri-slider__transparent-layer {
        height: 400px;
    }

    .habakiri-slider__item-content {
        font-size: 16px;
        font-size: 1.6rem;
        top: 55%;
        text-align: left;
    }

    .habakiri-slider__item-content h1 {
        display: none;
    }

    .scroll {
        top: 100%;
        width: 2em;
        height: 2em;
    }

    .scroll::before {
        width: 2em;
        height: 2em;
    }

    .scroll span {
        width: .5em;
        height: .5em;
        top: 30%;
        left: 35%;
    }
}

/* ---------------------------------------------------------
page-header
--------------------------------------------------------- */
.page-header {
    position: relative;
    height: 500px;
    background: url(https://tokyofukko.co.jp/wp-content/themes/tf/images/page_header01.jpg) no-repeat center center;
    background-size: cover;
}

.page-header .page-header__title {
    font-family: "羝御����篏�", "Yu Mincho", "YuMincho", "������������ Pro W3", "Hiragino Mincho Pro", "HGS����B", "Hiragino Mincho ProN", "鐚㍼竺 鐚井����", "MS PMincho", serif;
    letter-spacing: 0.1em;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.subject1 .page-header {
    background: url(https://tokyofukko.co.jp/wp-content/themes/tf/images/page_header02.jpg) no-repeat center center;
    background-size: cover;
}

.subject2 .page-header {
    background: url(https://tokyofukko.co.jp/wp-content/themes/tf/images/page_header03.jpg) no-repeat center center;
    background-size: cover;
}

.subject3 .page-header {
    background: url(https://tokyofukko.co.jp/wp-content/themes/tf/images/page_header04.jpg) no-repeat center center;
    background-size: cover;
}

.subject4 .page-header {
    background: url(https://tokyofukko.co.jp/wp-content/themes/tf/images/page_header05.jpg) no-repeat center center;
    background-size: cover;
}

.subject5 .page-header {
    background: url(https://tokyofukko.co.jp/wp-content/themes/tf/images/page_header06.jpg) no-repeat center center;
    background-size: cover;
}

.subject6 .page-header {
    background: url(https://tokyofukko.co.jp/wp-content/themes/tf/images/page_header01.jpg) no-repeat center center;
    background-size: cover;
}


.subject8 .page-header {
    background: url(https://tokyofukko.co.jp/wp-content/themes/tf/images/page_header08.jpg) no-repeat center center;
    background-size: cover;
}

.subject9 .page-header {
    background: url(https://tokyofukko.co.jp/wp-content/themes/tf/images/page_header09.jpg) no-repeat center center;
    background-size: cover;
}

.catalog .page-header {
    background: url(https://tokyofukko.co.jp/wp-content/themes/tf/images/page_header09.jpg) no-repeat center center;
    background-size: cover;
}

/* ---------------------------------------------------------
main_menu
--------------------------------------------------------- */
.responsive-nav a {
    position: relative;
    color: black !important;
}

.responsive-nav a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #000;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -ms-transition: all 0.25s ease;
    -webkit-transition: all 0.25s ease;
    transition: all 0.25s ease;
}

.responsive-nav a:hover::after {
    -ms-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
}

.responsive-nav .sub-menu a {
    background-color: white !important;
    color: #333333 !important;
}

.responsive-nav .sub-menu a:hover {
    background-color: #202b52 !important;
    color: white !important;
}

/* ---------------------------------------------------------
pickuup
--------------------------------------------------------- */
.pickup {
    margin: 0;
    position: relative;
    overflow: hidden;
}

.pickup h1 {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 888;
    text-align: center;
    margin: 0 0 0 -80px;
}

.pickup ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.pickup ul li {
    width: 25%;
    color: #fff;
    padding: 10px;
    height: 300px;
}

.pickup ul li:first-child {
    background: url(https://tokyofukko.co.jp/wp-content/themes/tf/images/img_pickup01.jpg) no-repeat center center;
    background-size: cover;
}

.pickup ul li:nth-child(2) {
    background: url(https://tokyofukko.co.jp/wp-content/themes/tf/images/img_pickup02.jpg) no-repeat center center;
    background-size: cover;
}

.pickup ul li:nth-child(3) {
    background: url(https://tokyofukko.co.jp/wp-content/themes/tf/images/img_pickup03.jpg) no-repeat center center;
    background-size: cover;
}

.pickup ul li:nth-child(4) {
    background: url(https://tokyofukko.co.jp/wp-content/themes/tf/images/img_pickup04.jpg) no-repeat center center;
    background-size: cover;
}

.pickup ul li a {
    display: table;
    border: 1px solid #bbb;
    width: 100%;
    height: 100%;
    color: #fff;
    text-decoration: none;
    position: relative;
}

.pickup ul li a span {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 200%;
    width: 100%;
    height: 100%;
    padding: 0 50px;
    display: table-cell;
    vertical-align: middle;
    background-color: rgba(0, 0, 0, 0.7);
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -ms-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
    opacity: 0;
}

.pickup ul li a:hover span {
    opacity: 1;
}

@media screen and (max-width: 768px) {
    .pickup {
        display: none;
    }
}

/* ---------------------------------------------------------
about
--------------------------------------------------------- */
.about {
    padding: 100px 0;
    text-align: center;
    background: url(https://tokyofukko.co.jp/wp-content/themes/tf/images/bg_about.jpg) no-repeat center bottom;
    background-size: cover;
}

.about .desc {
    z-index: 100;
}

.about .index_content2 {
    width: 100%;
    min-width: 1200px;
    margin: -100px auto 0;
}

.about .index_content2 img {
    width: 100%;
    height: auto;
    display: block;
}

/* ---------------------------------------------------------
index_dis
--------------------------------------------------------- */
.index_dis #index_dis_list li {
    float: left;
    width: 25%;
    position: relative;
    overflow: hidden;
    margin-bottom: -1px;
}

.index_dis #index_dis_list li .title {
    font-size: 28px;
    margin: 0;
    line-height: 120%;
}

.index_dis #index_dis_list li .caption {
    position: absolute;
    width: 100%;
    padding: 0 40px;
    top: 100%;
    left: 50%;
    text-decoration: none;
    color: #fff;
    display: block;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    opacity: 0;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    -webkit-transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
}

.index_dis #index_dis_list li .desc p {
    font-size: 14px;
    margin: 5px 0 0 0;
    line-height: 200%;
}

.index_dis #index_dis_list li .image {
    width: 100%;
    height: auto;
    display: block;
    background: #000;
}

.index_dis #index_dis_list li .image img {
    width: 100%;
    height: auto;
    display: block;
    opacity: 1;
    -webkit-transition: -webkit-opacity 0.5s;
    transition: opacity 0.5s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.index_dis #index_dis_list li:hover .caption {
    opacity: 1;
    top: 50%;
    top: -webkit-calc(50% + 5px);
    top: -moz-calc(50% + 5px);
    top: calc(50% + 5px);
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
}

.index_dis #index_dis_list li:hover .image img {
    opacity: 0.5;
}

@media screen and (max-width: 768px) {
    .index_dis {
        display: none;
    }
}

/* ---------------------------------------------------------
product_top
--------------------------------------------------------- */
.product_top {
    padding-top: 80px;
}

.product_top .items {
    background: #222222;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 600px;
    color: #fff;
}

.product_top .items h2 {
    text-align: center;
}

.product_top .items .items_content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    justify-content: center;
    padding: 0 5.51724%;
    width: 33.33333%;
}

.product_top .items .items_desc {
    line-height: 2.2;
    margin-bottom: 31.6px;
}

.product_top .p-button {
    align-self: center;
    background: #333333;
    color: #fff;
    display: inline-block;
    font-size: 14px;
    line-height: 50px;
    text-align: center;
    min-width: 200px;
    height: 50px;
    padding: 0 15px;
}

.product_top .items_slider {
    position: relative;
    width: 66.66667%;
}

.product_top .items_slider .slick-arrow {
    width: 50px;
    height: 50px;
    position: absolute;
    top: auto;
    bottom: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    z-index: 99;
    transition-duration: 0.2s;
    transition-property: background;
}

.product_top .items_slider .slick-arrow::before {
    font-family: "Font Awesome 5 Free";
    font-size: 18px;
}

.product_top .items_slider .slick-prev {
    left: auto;
    right: 50px;
}

.product_top .items_slider .slick-prev::before {
    content: "";
}

.product_top .items_slider .slick-next {
    right: 0;
}

.product_top .items_slider .slick-next::before {
    content: "";
}

.product_top .items_slider-item {
    background-position: center center;
    background-size: cover;
    width: 100%;
    height: 600px;
}

@media screen and (max-width: 768px) {
    .product_top {
        padding-top: 30px;
    }

    .product_top .items {
        display: block;
    }

    .product_top .items .items_content {
        width: 100%;
        padding-bottom: 30px;
    }

    .product_top .items .items_slider {
        width: 100%;
    }

    .product_top .items .items_slider-item {
        height: 300px;
    }
}

/* ---------------------------------------------------------
subject1_top
--------------------------------------------------------- */
.product_detail {
    width: 1250px;
    margin: 0 auto 80px;
}

.product_detail .item {
    float: left;
    width: 300px;
    height: 300px;
    overflow: hidden;
    position: relative;
    opacity: 0;
}

.product_detail .item.active {
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    -webkit-animation: moveUp 0.65s ease forwards 1s;
    animation: moveUp 0.65s ease forwards 1s;
}

.product_detail .item a {
    transition-property: background-color, color;
    transition-duration: 0.2s;
    transition-timing-function: ease;
}

.product_detail .item:hover .image:before {
    opacity: 1;
}

.product_detail .item1.image:before,
.product_detail .item2.image:before,
.product_detail .item3.image:before,
.product_detail .item4.image:before {
    background: rgba(0, 105, 140, 0.7);
}

.product_detail .catch {
    display: block;
    width: 300px;
    padding: 0 30px;
    color: #fff;
    line-height: 200%;
    font-size: 15px;
    text-decoration: none;
    z-index: 4;
    text-align: center;
    position: absolute;
    bottom: 35px;
    font-weight: 200;
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.product_detail .desc {
    display: block;
    width: 300px;
    padding: 0 30px;
    color: #fff;
    line-height: 200%;
    font-size: 15px;
    text-decoration: none;
    z-index: 3;
    text-align: left;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    opacity: 0;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.product_detail img {
    display: block;
    width: 300px;
    height: auto;
    -webkit-transition: all 0.75s ease;
    -moz-transition: all 0.75s ease;
    transition: all 0.75s ease;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.product_detail .image:before {
    width: 300px;
    height: 660px;
    display: block;
    content: "";
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
    z-index: 2;
    opacity: 0;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s;
}

/* ---------------------------------------------------------
news
--------------------------------------------------------- */
.news {
    padding: 80px 0;
}

.news a {
    color: #000;
}

.news .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
}

.news .box .info {
    width: 65%;
}

.news .box .info article {
    border-bottom: 1px dotted #ccc;
    padding: 15px;
}

.news .box .info .cat {
    font-size: 12px;
    font-size: 1.2rem;
    background-color: #202b52;
    color: #fff;
    padding: 3px 10px;
    display: inline-block;
    margin: 0 15px;
}

.news .box .line {
    width: 35%;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .news {
        padding: 50px 0;
    }

    .news .box {
        display: block;
    }

    .news .box .info {
        width: 100%;
        margin-bottom: 30px;
    }

    .news .box .info article {
        border-bottom: 1px dotted #ccc;
        padding: 15px;
    }

    .news .box .line {
        width: 100%;
    }
}

/* ---------------------------------------------------------
map
--------------------------------------------------------- */
.map {
    padding-top: 80px;
}

.map iframe {
    vertical-align: bottom;
}

@media screen and (max-width: 768px) {
    .map {
        padding-top: 30px;
    }
}

/* ---------------------------------------------------------
product
--------------------------------------------------------- */
.product h2 {
    font-size: 32px;
    font-size: 3.2rem;
    text-align: center;
}

.product h2 span {
    display: block;
    font-size: 20px;
    font-size: 2rem;
    color: #666;
}

.product section {
    margin-bottom: 80px;
}

.product .anchor {
    text-align: center;
    margin-bottom: 50px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
}

.product .anchor li {
    position: relative;
    /* margin-left: 25px; */
    border-radius: 10px;
    background-color: #6D789E;
    /* margin-bottom: 15px; */
}

.product .anchor li:first-child,
.product .anchor li:nth-child(7) {
    margin-left: 0;
}

.product .anchor li a {
    color: #fff;
    padding: 5px 20px;
    text-align: center;
    transition: all 0.3s;
}

.product .anchor li a:hover {
    text-decoration: none;
}

.product .box {
    display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.product .box>div {
    width: 30%;
}

.product .box>div h2 {
    font-size: 18px;
    font-size: 1.8rem;
    text-align: left;
    background-color: #E5E8ED;
    padding: 10px;
    margin-top: 0;
}

.product .box>div+div {
    width: 65%;
}

.product .slick-dotted.slick-slider {
    margin-top: 30px;
}

.product .item {
    max-width: 800px;
    margin: 0 auto;
}

.product .slick-prev:before,
.product .slick-next:before {
    color: #000;
}

@media screen and (max-width: 767px) {
    .product .anchor {
        display: block;
    }

    .product .anchor li {
        margin-left: 0;
    }

    .product .box {
        display: block;
    }

    .product .box>div {
        width: 100%;
        margin-bottom: 15px;
    }

    .product .box>div+div {
        width: 100%;
    }

    .product .slick-slide img {
        margin: 0 auto !important;
    }

    .product .item .slick-next {
        right: 20px !important;
    }

    .product .item .slick-prev {
        left: 20px !important;
    }
}

/* ---------------------------------------------------------
company
--------------------------------------------------------- */
.company h2 {
    border-bottom: solid 1px #ccc;
    position: relative;
    padding-bottom: 20px;
}

.company h2::after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 1px #202b52;
    bottom: -1px;
    width: 20%;
}

.company dl {
    margin-bottom: 80px;
}

.company dl dt {
    padding-top: 20px;
    width: 245px;
    float: left;
    color: #202b52;
}

.company dl dd {
    padding: 20px 0 18px 120px;
    border-bottom: solid 1px #ddd;
}

@media screen and (max-width: 767px) {
    .company dl dt {
        width: auto;
    }
}

/* ---------------------------------------------------------
contact
--------------------------------------------------------- */
.contact p {
    text-align: center;
}

.contact .form_layout {
    text-align: left;
    border-top: solid 1px #ddd;
    max-width: 950px;
    margin: 50px auto 0;
    position: relative;
}

.contact .form_layout .list_line {
    margin: 0;
    padding: 15px 0 17px 0;
    border-bottom: solid 1px #ddd;
    position: relative;
    overflow: hidden;
}

.contact .form_layout .list_name {
    padding: 15px 0 10px;
    width: 20%;
    float: left;
}

.contact .form_layout .list_name>span {
    padding: 2px 0 0 10px;
    line-height: 1em;
    color: #202b52;
    border-left: solid 2px #202b52;
    display: block;
}

.contact .form_layout .list_name>span>span.required {
    margin: 0 0 0 10px;
    padding: 1px 5px 2px 5px;
    font-size: 1.1rem;
    color: #fff;
    border-radius: 2px;
    background: #f54a5e;
    position: relative;
    top: -2px;
}

.contact .form_layout .list_contents {
    width: 80%;
    float: right;
}

.contact .form_layout .list_contents .list_contents_text {
    padding: 12px 0 10px 0;
}

.contact .form_layout .list_contents_inner {
    padding: 0 0 0 15px;
}

.contact .form_layout input[type=text],
.contact .form_layout input[type="email"] {
    font-size: 15px;
    font-size: 1.5rem;
    padding: 10px;
    line-height: 1em;
    border-radius: 3px;
    border: solid 1px #ccc;
    margin-right: 20px;
}

.contact .form_layout input[type="tel"] {
    font-size: 15px;
    font-size: 1.5rem;
    padding: 10px;
    line-height: 1em;
    border-radius: 3px;
    border: solid 1px #ccc;
    margin-right: 20px;
    margin-bottom: 15px;
}

.contact .form_layout textarea {
    font-size: 16px;
    font-size: 1.6rem;
    padding: 10px;
    line-height: 1.6;
    border-radius: 3px;
    border: solid 1px #ccc;
    width: 730px;
    max-width: 730px;
    height: 150px;
}

.contact .form_layout .inputarea1 {
    width: 220px;
}

.contact .form_layout .inputarea2 {
    width: 120px;
}

.contact .form_layout .inputarea4 {
    width: 450px;
}

.contact input[type=submit] {
    margin: 30px auto 0;
    font-size: 17px;
    font-size: 1.7rem;
    color: #fff;
    border-radius: 2px;
    border: none;
    background: #202b52;
    width: 220px;
    height: 60px;
    cursor: pointer;
    outline: none;
    display: block;
}

@media screen and (max-width: 767px) {
    .contact .form_layout {
        max-width: 100%;
    }

    .contact .form_layout .list_name {
        width: auto;
    }

    .contact .form_layout .list_contents {
        float: none;
    }

    .contact .form_layout .sec_list_name span {
        display: block;
        clear: both;
    }

    .contact .form_layout .inputarea4 {
        width: auto;
    }

    .contact .form_layout textarea {
        width: 100%;
        max-width: 100%;
    }
}

/* ---------------------------------------------------------
subject------
--------------------------------------------------------- */
#subject1 h2,
#subject2 h2,
#subject3 h2,
#subject4 h2,
#subject5 h2,
#subject6 h2,
#subject7 h2,
#subject8 h2,
#subject9 h2 {
    border-bottom: solid 1px #ccc;
    position: relative;
    padding-bottom: 10px;
    margin-top: 50px;
}

#subject1 h2::after,
#subject2 h2::after,
#subject3 h2::after,
#subject4 h2::after,
#subject5 h2::after,
#subject6 h2::after,
#subject7 h2::after,
#subject8 h2::after,
#subject9 h2::after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 1px #202b52;
    bottom: -1px;
    width: 20%;
}

#subject1 h3,
#subject2 h3,
#subject3 h3,
#subject4 h3,
#subject5 h3,
#subject6 h3,
#subject7 h3,
#subject8 h3,
#subject9 h3 {
    font-size: 18px;
    font-size: 1.8rem;
    color: #202b52;
}

#subject1 h4,
#subject2 h4,
#subject3 h4,
#subject4 h4,
#subject5 h4,
#subject6 h4,
#subject7 h4,
#subject8 h4,
#subject9 h4 {
    text-align: center;
    margin-top: 50px;
    margin-bottom: 25px;
    position: relative;
    display: block;
}

#subject1 h4::before,
#subject2 h4::before,
#subject3 h4::before,
#subject4 h4::before,
#subject5 h4::before,
#subject6 h4::before,
#subject7 h4::before,
#subject8 h4::before,
#subject9 h4::before {
    content: '';
    position: absolute;
    bottom: -10px;
    display: inline-block;
    width: 60px;
    height: 5px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #202B52;
    border-radius: 2px;
}

#subject1 ul li,
#subject2 ul li,
#subject3 ul li,
#subject4 ul li,
#subject5 ul li,
#subject6 ul li,
#subject8 ul li,
#subject9 ul li {
    text-align: center;
    display: inline-block;
    margin-right: 25px;
}

#subject1 ul.flow li,
#subject2 ul.flow li,
#subject3 ul.flow li,
#subject4 ul.flow li,
#subject5 ul.flow li,
#subject6 ul.flow li,
#subject7 ul.flow li,
#subject8 ul.flow li,
#subject9 ul.flow li {
    display: block;
    text-align: left;
    margin-right: 0;
    margin-bottom: 50px;
}

#subject1 ul.flow li img,
#subject2 ul.flow li img,
#subject3 ul.flow li img,
#subject4 ul.flow li img,
#subject5 ul.flow li img,
#subject6 ul.flow li img,
#subject7 ul.flow li img,
#subject8 ul.flow li img,
#subject9 ul.flow li img {
    margin-right: 15px;
}

#subject1 .notice,
#subject2 .notice,
#subject3 .notice,
#subject4 .notice,
#subject5 .notice,
#subject6 .notice,
#subject7 .notice,
#subject8 .notice,
#subject9 .notice {
    color: #ff0000;
}

#subject1 .box,
#subject2 .box,
#subject3 .box,
#subject4 .box,
#subject5 .box,
#subject6 .box,
#subject7 .box,
#subject8 .box,
#subject9 .box {
    display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 50px;
}

#subject1 .box>div,
#subject2 .box>div,
#subject3 .box>div,
#subject4 .box>div,
#subject5 .box>div,
#subject6 .box>div,
#subject7 .box>div,
#subject8 .box>div,
#subject9 .box>div {
    width: 48%;
}

#subject1 .detail,
#subject2 .detail,
#subject3 .detail,
#subject4 .detail,
#subject5 .detail,
#subject6 .detail,
#subject7 .detail,
#subject8 .detail,
#subject9 .detail {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

#subject1 .detail>div a,
#subject2 .detail>div a,
#subject3 .detail>div a,
#subject4 .detail>div a,
#subject5 .detail>div a,
#subject6 .detail>div a,
#subject7 .detail>div a,
#subject8 .detail>div a,
#subject9 .detail>div a {
    color: #202b52;
    border-radius: 25px;
    border: 1px solid #202b52;
    padding: 7px 25px;
    box-sizing: border-box;
    text-align: center;
    line-height: 27px;
    position: relative;
    display: inline-block;
    outline: none;
    min-width: 200px;
    transition: all 0.3s;
}

#subject1 .detail>div a:hover,
#subject2 .detail>div a:hover,
#subject3 .detail>div a:hover,
#subject4 .detail>div a:hover,
#subject5 .detail>div a:hover,
#subject6 .detail>div a:hover,
#subject7 .detail>div a:hover,
#subject8 .detail>div a:hover,
#subject9 .detail>div a:hover {
    text-decoration: none;
    color: #fff;
    background-color: #202b52;
}

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

    #subject1 .box,
    #subject2 .box,
    #subject3 .box,
    #subject4 .box,
    #subject5 .box,
    #subject6 .box,
    #subject7 .box,
    #subject8 .box,
    #subject9 .box {
        display: block;
    }

    #subject1 .box>div,
    #subject2 .box>div,
    #subject3 .box>div,
    #subject4 .box>div,
    #subject5 .box>div,
    #subject6 .box>div,
    #subject7 .box>div,
    #subject8 .box>div,
    #subject9 .box>div {
        width: 100%;
    }

    #subject1 .detail div,
    #subject2 .detail div,
    #subject3 .detail div,
    #subject4 .detail div,
    #subject5 .detail div,
    #subject6 .detail div,
    #subject7 .detail div,
    #subject8 .detail div,
    #subject9 .detail div {
        margin-bottom: 20px;
    }
}

/* ---------------------------------------------------------
privacy
--------------------------------------------------------- */
.privacy dl {
    margin: 1.5em 0;
}

.privacy dl dd {
    margin: 0 0 1.5em 1em;
}

/* ---------------------------------------------------------
footer
--------------------------------------------------------- */
footer {
    padding-top: 30px;
    background-color: #202b52 !important;
    color: #fff;
    text-align: center;
}

footer ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 30px 0 0;
    padding: 15px 0;
}

footer ul li {
    padding: 0 25px 0 0;
    border-right: 1px solid #fff;
    line-height: 1;
    margin-right: 25px;
}

footer ul li:last-child {
    border-right: none;
    padding-right: 0;
    margin-right: 0;
}

footer ul li a,
footer ul li i,
footer ul li a:hover,
footer ul li i:hover {
    color: #fff;
}

footer ul+ul {
    margin: 0;
}

footer ul+ul li {
    border: none;
    margin-right: 0;
}

footer ul+ul li:last-child {
    margin-right: 0;
    padding-right: 0;
}

footer .copyright {
    background-color: #202b52;
    color: #fff;
    text-align: center;
}

@media screen and (max-width: 768px) {
    footer ul {
        display: none;
    }

    footer ul+ul {
        display: flex;
    }
}

.fadeInUp {
    transition: all 1s ease-in;
    opacity: 1 !important;
}

/* ---------------------------------------------------------
toggle
--------------------------------------------------------- */
#nav-toggle {
    position: absolute;
    right: -10px;
    top: 5px;
    height: 32px;
    cursor: pointer;
    background: #000;
    width: 50px;
    height: 50px;
}

#nav-toggle>div {
    width: 20px;
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-\ transform: translateY(-50%) translateX(-50%);
}

#nav-toggle>div>span.toggle {
    width: 100%;
    height: 1px;
    left: 0;
    display: block;
    background: #fff;
    position: absolute;
    transition: top .5s ease, -webkit-transform .3s ease-in-out;
    transition: transform .3s ease-in-out, top .5s ease;
    transition: transform .3s ease-in-out, top .5s ease, -webkit-transform .3s ease-in-out;
}

header.deteal_header #nav-toggle>div>span.toggle {
    width: 100%;
    height: 1px;
    left: 0;
    display: block;
    background: #fff;
    position: absolute;
    transition: top .5s ease, -webkit-transform .3s ease-in-out;
    transition: transform .3s ease-in-out, top .5s ease;
    transition: transform .3s ease-in-out, top .5s ease, -webkit-transform .3s ease-in-out;
}

#nav-toggle span.toggle:nth-child(1) {
    top: 0;
}

#nav-toggle span.toggle:nth-child(3) {
    top: 10px;
}

.open #nav-toggle span.toggle {
    background: #fff;
}

.open #nav-toggle span.toggle:nth-child(1) {
    top: 5px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.open #nav-toggle span.toggle:nth-child(2) {
    top: 10px;
    width: 0;
    left: 50%;
}

.open #nav-toggle span.toggle:nth-child(3) {
    top: 5px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

#nav-toggle {
    z-index: 1000;
}

#container {
    z-index: 900;
}

#gloval-nav {
    background-color: rgba(0, 0, 0, 0.8);
    color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 990;
    text-align: center;
    display: flex;
    visibility: hidden;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 29px;
    opacity: 0;
    transition: opacity .3s ease, visibility .3s ease;
}

#gloval-nav a {
    display: block;
    color: #fff;
    text-decoration: none;
    padding: 20px 0;
    transition: color .3s ease;
    font-size: .55em;
    font-family: 'Lato', sans-serif;
    font-weight: 300;
    letter-spacing: .5em;
}

#gloval-nav a:hover {
    color: #666;
}

#gloval-nav ul {
    list-style: none;
    padding: 0;
}

#gloval-nav ul li {
    opacity: 0;
    -webkit-transform: translateX(200px);
    transform: translateX(200px);
    transition: opacity .2s ease, -webkit-transform .3s ease;
    transition: transform .3s ease, opacity .2s ease;
    transition: transform .3s ease, opacity .2s ease, -webkit-transform .3s ease;
}

#gloval-nav ul li:nth-child(2) {
    transition-delay: .05s;
}

#gloval-nav ul li:nth-child(3) {
    transition-delay: .15s;
}

#gloval-nav ul li:nth-child(4) {
    transition-delay: .25s;
}

#gloval-nav ul+ul {
    display: flex;
    justify-content: center;
}

#gloval-nav ul+ul li {
    margin-left: 15px;
}

#gloval-nav ul+ul li:first-child {
    margin-left: 0;
}

.open {
    overflow: hidden;
}

.open #gloval-nav {
    visibility: visible;
    opacity: 1;
}

.open #gloval-nav li {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    transition: opacity .9s ease, -webkit-transform 1s ease;
    transition: transform 1s ease, opacity .9s ease;
    transition: transform 1s ease, opacity .9s ease, -webkit-transform 1s ease;
}

@media screen and (max-width: 767px) {
    #nav-toggle {
        right: 0;
        top: 25px;
        position: absolute;
    }

    #gloval-nav a {
        padding: 10px 0;
        font-size: .5em;
    }
}

@media screen and (min-width: 768px) {
    #nav-toggle {
        display: none;
    }
}

/* ---------------------------------------------------------
pagetop
--------------------------------------------------------- */
#pagetop {
    position: fixed;
    right: 20px;
    bottom: 15px;
}

/* ---------------------------------------------------------
catalog
--------------------------------------------------------- */
.catalog .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
}

.catalog .box>div {
    margin-right: 2%;
    margin-bottom: 100px;
}

.catalog .box>div:nth-child(3n) {
    margin-right: 0;
}

.catalog .box>div img {
    border: 1px solid #ddd;
}

.catalog .box>div img:hover {
    opacity: 0.8;
    transition: 1.0s;
}

.catalog .more_view {
    margin-top: 10px;
}

/* 20240405ono twittericon  */
footer .fa-twitter:before {
    content: '𝕏';
    font-family: unset;
    font-weight: bold;
    font-size: 20px;
    line-height: 0.8;
}

header .fa-twitter:before {
    content: '𝕏';
    font-family: unset;
    font-weight: bold;
    font-size: 20px;
    line-height: 1.2;
}

/* ---------------------------------------------------------
TXCとトースイエクグロープのサービス合併によるコード追加
URLは同じくsubject7を使用
20251110　沈トウ
--------------------------------------------------------- */

.subject7 .page-header {
    background: url(https://tokyofukko.co.jp/wp-content/themes/tf/images/page_header07.jpg) no-repeat center center;
    background-size: cover;
}

/* .test .page-header {
    background: url(https://tokyofukko.co.jp/wp-content/themes/tf/images/page_header07.jpg) no-repeat center center;
    background-size: cover;
} */

.tosui_ecoglove--features {
    & ul {
        list-style-type: disc;
        padding-inline-start: 20px;
    }
}

.tosui_ecoglove--features_imgs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.movie_box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px 5%;

    @media (max-width: 600px) {
        grid-template-columns: 1fr;
    }
}

.other_companies_products,
.construction_purpose {
    margin-bottom: clamp(1.25rem, 1.709rem + 8.01vw, 10.125rem);

    & strong {
        padding-left: 15px;
    }
}

.table-wrap {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable both-edges;
    overscroll-behavior-x: contain;
}

.compare-table {
    border-collapse: collapse;
    width: 100%;
    min-width: 920px;
    table-layout: fixed;
    background: #fff;
    font-family: "Noto Sans JP", sans-serif;
}

.compare-table th,
.compare-table td {
    border: 1px solid #333;
    padding: 12px;
    vertical-align: top;
}

.compare-table th {
    background: #f5f5f5;
    text-align: center;
    font-weight: bold;
}

.compare-table th:first-child,
.compare-table td:first-child {
    width: 18%;
}

.compare-table th:nth-child(2),
.compare-table td:nth-child(2) {
    width: 41%;
}

.compare-table th:nth-child(3),
.compare-table td:nth-child(3) {
    width: 41%;
}

.variation_note--box {
    display: grid;
    grid-template-columns: fit-content(400px) 1fr;
    gap: 15px;
    margin-bottom: clamp(1.25rem, 1.709rem + 8.01vw, 18.125rem);

    @media (max-width: 600px) {
        grid-template-columns: 1fr;
    }
}

.variation_note--item {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    align-items: center;
}

.procedure {
    margin-bottom: 50px;
}

.procedure--box {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 15px;

    @media (max-width: 600px) {
        grid-template-columns: 1fr 1fr;
    }
}


.variation_note--text_item {
    grid-column: span 2;

    @media (max-width: 600px) {
        grid-column: span 3;
    }
}


.features_box {
    display: flex;
    /* gap: 15px 5%; */
    justify-content: space-between;
    margin-bottom: clamp(1.25rem, 1.709rem + 8.01vw, 10.125rem);

    & ul {
        margin-bottom: 30px;
        font-size: clamp(17px, calc(1vw + 1rem), 20px);
        line-height: 2;
        font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "游明朝", "MS Mincho", "ＭＳ 明朝", "Noto Serif JP", serif;
        letter-spacing: 2px;

        @media (max-width: 600px) {
            letter-spacing: 0;
        }
    }
}

.features_img img {
    max-height: 900px;

    @media (max-width: 600px) {
        display: none;
    }
}

.features_text {
    & div {
        max-width: 700px;
        margin-bottom: 30px;
        line-height: 2;
    }
}

.installation_precautions {
    border-radius: 15px;
    padding: 15px;
    background-color: #fff8d9;


}