* {
    box-sizing: border-box;
    margin: 0;
}
body {
    min-width: 1200px;
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
img {
    max-width: 100%;
    vertical-align: middle;
}
a {
    text-decoration: none;
    color: inherit;
}
h2 {
    font-size: 30px;
    line-height: 0.86;
    font-weight: 600;
    letter-spacing: 0.2em;
}
h2::after {
    font-weight: 400;
    letter-spacing: 0;
}
ul {
    padding-left: 0;
}
li {
    list-style-type: none;
}
.sp {
    display: none !important;
}
.pc {
    display: block !important;
}
.w1200 {
    width: 1200px;
    margin: 0 auto;
}
input {
    font-size: 16px;
}
textarea {
    font-size: 16px;
}
.arrow {
    color: #ff8c05;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 120px;
}

.arrow img {
    margin-left: 5px;
}
/*ここからheader*/
header {
    width: 100%;
    min-width: 1200px;
    position: fixed;
    left: 0;
    z-index: 9999;
}
@media screen and (max-width: 768px) {
    .sp {
        display: block !important;
    }
    .pc {
        display: none !important;
    }
    h2 {
        font-size: 21px;
    }
    .w1200 {
        width: 100%;
    }
    body {
        min-width: auto;
        overflow-x: hidden;
    }
    header {
        min-width: auto;
        background-color: white;
    }
    h1 img {
        height: 26px;
    }
    body header nav .pc-header {
        width: 100%;
        display: none;
    }
    body .access {
        width: 100%;
    }
}
/*スクロールされたらヘッダー背景色変更*/
.header-scroll {
    background-color: #fff;
    transition: 0.5s;
}
/**/
header .w1200 {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
header nav .pc-header {
    /* width: 910px; */
    width: 700px;
    display: flex;
    justify-content: space-between;
    font-size: 16px;
    letter-spacing: 0.1em;
    line-height: 1.87;
    font-weight: 600;
    align-items: center;
    margin: 45px 0;
}
header nav .pc-header li {
    color: black;
}
header nav .pc-header .vision-btn {
    background-color: #1573dc;
    color: #fff;
}
header nav .pc-header li a {
    padding: 10px 15px;
}
header nav .order-btn a {
    background-color: #e3804a;
    color: #fff;
}
header nav .shop-btn a {
    background-color: #303133;
    color: #fff;
}

@media screen and (max-width: 768px) {
    /*　ハンバーガーボタン　*/
    .hamburger {
        display: block;
        position: fixed;
        z-index: 3;
        /* right: 13px;
        top: 12px; */
        right: 6px;
        top: 5px;
        width: 42px;
        height: 42px;
        cursor: pointer;
        text-align: center;
    }
    .hamburger span {
        display: block;
        position: absolute;
        width: 30px;
        height: 2px;
        left: 6px;
        background: #555;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
    }
    .hamburger span:nth-child(1) {
        top: 10px;
    }
    .hamburger span:nth-child(2) {
        top: 20px;
    }
    .hamburger span:nth-child(3) {
        top: 30px;
    }

    /* ナビ開いてる時のボタン */
    .hamburger.active span:nth-child(1) {
        /* top: 16px; */
        top: 21px;
        left: 6px;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .hamburger.active span:nth-child(2),
    .hamburger.active span:nth-child(3) {
        /* top: 16px; */
        top: 21px;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    nav.globalMenuSp {
        position: fixed;
        z-index: 2;
        top: 0;
        left: 0;
        color: #000;
        background: #fff;
        text-align: center;
        transform: translateY(-100%);
        transition: all 0.6s;
        width: 100%;
        height: 100%;
    }

    /* このクラスを、jQueryで付与・削除する */
    nav.globalMenuSp.active {
        transform: translateY(0%);
    }
    /*ハンバーガーメニュー中身*/
    .menu {
        background-color: black;
        height: 100%;
        overflow-y: scroll;
    }
    .menu-header {
        background-color: #ededed;
        height: 50px;
    }
    .menu-list {
        display: flex;
        flex-direction: column;
        margin-right: 9%;
        margin-left: 9%;
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .menu-list li {
        color: #fff;
        border-bottom: 1px solid #fff6e2;
        font-size: 12px;
        letter-spacing: 0.1em;
        line-height: 2.25;
    }
    .menu-list li:last-of-type {
        border-bottom: 0;
    }
    .menu-list li a {
        padding-bottom: 20px;
        padding-top: 20px;
        width: 100%;
        display: block;
    }
    .menu .text-wrap {
        /* margin-left: 11%; */
        padding-left: 11%;
        text-align: left;
        border-top: 1px solid #ededed;
    }
    .menu .img-wrap {
        margin-top: 20px;
    }
    .menu .text {
        margin-top: 10px;
        margin-bottom: 20px;
    }
    .menu .text {
        color: #d4d4d4;
        line-height: 0.5;
        letter-spacing: 0.2em;
        font-size: 10px;
    }
    .menu .address {
        font-size: 10px;
        line-height: 1.08;
        color: #d4d4d4;
    }
    .menu .number {
        color: #d4d4d4;
        font-size: 16px;
    }
    .menu .work-time {
        font-size: 10px;
        color: #d4d4d4;
    }
}
/*ここまでheader*/
/*order*/
main {
    position: relative;
}
.order {
    text-align: center;
    position: absolute;
    top: 13.8vw;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, -50%);
    padding-top: 3.65vw;
}
.order h2 {
    /* margin: 3.65vw 0 3.65vw; */
    margin: 0 0 3.65vw;
    position: relative;
}
.order h2:after {
    position: absolute;
    left: 50%;
    top: 0;
    -webkit-transform: translate(-212px, -80px);
    transform: translate(-460px, -55px);
    content: "Web Order";
    font-size: 90px;
    color: #fbb890;
    z-index: -1;
}
.order .text {
    margin-bottom: 3.13vw;
}
.form form#mailformpro dl dt {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.05em;
}
.zoom-chat-wrap {
    display: flex;
    justify-content: center;
}
.zoom-chat-wrap .border {
    border-right: 1px solid black;
}
.zoom-chat-wrap p {
    letter-spacing: 0.1em;
    line-height: 2;
    margin-top: 40px;
}
.zoom-title {
    background-color: #fff;
    border: 1px solid #000;
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-bottom: 50px;
    width: 400px;
    padding: 8px 0;
    margin: 0 auto;
}
.zoom-title img {
    margin-right: 15px;
}

.chat-title {
    background-color: #fff;
    border: 1px solid #000;
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-bottom: 50px;
    width: 400px;
    padding: 8px 0;
    margin: 0 auto;
}
.chat-title img {
    margin-right: 15px;
}
.chat .bg-icon {
    background-image: url(../images/chat-icon.png);
}
.zoom-chat-wrap .zoom {
    text-align: center;
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-top: 30px;
}
.zoom-chat-wrap .chat {
    text-align: center;
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-top: 30px;
}
/*fv*/
.fv {
    position: relative;
}
.fv-text {
    font-size: 36px;
    font-weight: 400;
    color: #fff;
    position: absolute;
    right: 0;
    width: 89%;
    transform: translateY(-50%);
    top: 50%;
    text-shadow: 5px 5px 5px #000;
    max-width: 1560px;
}
.fv-text span {
    font-size: 22px;
    line-height: 0.9;
    letter-spacing: 0.05em;
    display: block;
    font-style: italic;
}
.order .sp-zoom-chat-wrap {
    display: none;
}
.order .arrow {
    display: none;
}
@media screen and (max-width: 768px) {
    .fv {
        position: relative;
        /* margin-bottom:35vw; */
        min-height: 365px;
    }
    .fv-text {
        position: absolute;
        top: 50%;
        font-size: 21px;
    }
    .order {
        width: 100%;
        padding-top: 51px;
        margin-top: 3.65vw;
    }
    .order .zoom-title {
        display: flex;
        flex-direction: column;
        font-size: 15px;
    }
    .order .chat-title {
        display: flex;
        flex-direction: column;
        font-size: 15px;
    }
    .order .zoom-chat-wrap {
        display: none;
    }
    .order .sp-zoom-chat-wrap {
        display: flex;
        justify-content: space-around;
    }
    .order .sp-zoom-chat-wrap .flex {
        background-color: #fff;
        border: 1px solid #000;
        padding: 3.59vw;
        font-size: 13px;
        letter-spacing: 0.05em;
        line-height: 1.2;
        cursor: pointer;
    }
    .btn-text {
        font-size: 12px;
        text-align: center;
    }
    .order .arrow {
        display: flex;
        justify-content: space-around;
        margin-top: 4.78vw;
        margin-bottom: 11.96vw;
    }
    .order .arrow img {
        width: 8.97vw;
    }
    .order h2:after {
        font-size: 53px;
        transform: translate(-150px, -45px);
        white-space: nowrap;
    }
    .order .text {
        font-size: 12px;
    }
}
/*ここまでfv*/
/*ここからform*/
.form {
    margin-top: 4vw;
}
@media screen and (max-width: 768px) {
    /* .form{
        margin-top:35vw;
    } */
    .form {
        margin-top: 10vw;
    }
    .form .mailform .flex {
        flex-wrap: wrap;
    }
    .form .mailform .flex dt {
        width: 140px;
    }
    .form form#mailformpro .flex dd {
        width: 235px;
        margin-top: 0;
    }
}
/*ここまでform*/
/*led-vision*/

.led-vision .relative{
    position:relative;
    margin-bottom:180px;
}
.led-vision h2{
    text-align: center;
    margin-top:200px;
    margin-bottom: 60px;
    font-size:55px;
    font-weight: 600;
    letter-spacing: 0;
}
.led-vision h2 span{
    color:#2577d3;
    display: block;
    margin-top:20px;
    font-size:33px;
    font-weight: 400;
}
.led-vision .relative .text-wrap{
background-color:#fff;
opacity:0.7;
z-index:10;
width:50%;
top:6.25%;
position:absolute;
padding-top:5.73%;
padding-bottom: 3.65%;
text-align:center;
}

.led-vision .relative .text-wrap .arrow{
    margin-bottom:0;
}
.led-vision .relative .text-wrap .text{
display: inline-block;
text-align: left;
}
.led-vision .relative .text-wrap h3{
font-size:48px;
letter-spacing: 0.1em;
line-height: (48/60);

}
.led-vision .relative .text-wrap h3 span{
font-size:24px;
line-height: clamp(24/60);
display: block;
}
.led-vision .relative .text-wrap p{
 margin-bottom:60px;
 font-size:30px;
 letter-spacing: 0.1em;
 line-height:1.2;
 font-weight: 600;

}
.led-vision .relative .img-wrap{
width:66.67%;
height:36.46%;
margin-left:auto;
}
@media screen and (max-width:768px){
    .led-vision .relative{
        margin-bottom:14.67vw;
}
.led-vision h2{
    font-size:clamp(25px,(52/750)*100vw,52px);
    margin-top:20vw;
}
.led-vision h2 span{
    font-size:clamp(12px,(25/750)*100vw,25px);
    margin-bottom:6vw;
}
.led-vision .relative .text-wrap{
position:static;
width:100%;
}

.led-vision .relative .text-wrap .arrow{
 
}
.led-vision .relative .text-wrap .text{

}
.led-vision .relative .text-wrap h3{
font-size:clamp(24px,6.4vw,48px);
text-align: center;
}
.led-vision .relative .text-wrap h3 span{
font-size:clamp(12px,(24/750)*100vw,24px);
}
.led-vision .relative .text-wrap p{
font-size:clamp(15px,(30/750)*100vw,30px);
margin:4vw 0 5.33vw;
text-align: center;
}
.led-vision .relative .img-wrap{
    width:100%;
}
}
/*ここまでled-vision*/
/*concept*/
.concept {
    text-align: center;
    padding-top: 160px;
}
.concept h2 {
    position: relative;
    text-align: center;
    line-height: 1.6;
    /* margin-top: 160px; */
    margin-bottom: 40px;
}
.concept h2::after {
    position: absolute;
    left: 37%;
    top: 0;
    -webkit-transform: translate(-212px, -80px);
    transform: translate(-305px, -65px);
    content: "CONCEPT";
    font-size: 90px;
    color: #f4ede2;
    z-index: -1;
    font-weight: 400;
    letter-spacing: 0;
}
.concept p {
    line-height: 2;
    font-size: 18px;
    letter-spacing: 0.1em;
    padding-right: 18px;
    padding-left: 18px;
}
.concept p:last-child {
    margin-bottom: 110px;
}
@media screen and (max-width: 768px) {
    .concept {
        padding-top: 60px;
    }
    .concept h2 {
        line-height: 1;
        /* margin-top: 60px; */
        margin-bottom: 35px;
    }
    body .concept h2:after {
        font-size: 53px;
        transform: translate(-115px, -35px);
    }
    .concept p {
        font-size: 12px;
        padding-right: 16px;
        padding-left: 16px;
    }
    .concept p:last-child {
        margin-bottom: 50px;
    }
}
/*ここまでconcept*/
/*works*/
.works {
    position: relative;
    height: 57.29vw;
    min-height: 800px;
    z-index: 1;
}
.works .text {
    font-size: 18px;
}
.works .text:last-child {
    margin-bottom: 75px;
}
.works h2 {
    position: relative;
    margin-top: 175px;
    margin-bottom: 50px;
    z-index: 1;
}
.works h2::after {
    position: absolute;
    left: 37%;
    top: 0;
    -webkit-transform: translate(-212px, -80px);
    transform: translate(-315px, -55px);
    content: "WORKS";
    font-size: 90px;
    color: #fff;
    z-index: -1;
}
.works::after {
    position: absolute;
    top: 0;
    left: 0;
    /* height: 1300px; */
    height: 57.29vw;
    min-height: 750px;
    width: 91.25%;
    max-width: 1752px;
    content: "";
    background-color: #f4ede2;
    z-index: -1;
}
.works .w1200 {
    display: flex;
    align-items: center;
    flex-direction: column;
}
/* .works .works-container {
    position: relative;
    width: 100%;
    display: flex;
    display: block;
}
.works .works-container .works-slider-contents {
    display: flex;
}
.works .works-container img {
    width: 50%;
}
.works .text-box {
    width: 50%;
    display: flex;
    flex-wrap: wrap;
}
.works .works-container .border {
    border-bottom: 1px solid #d0d0d0;
    width: 105px;
    margin-bottom: 25px;
} */
.works .text-box li {
    width: 50%;
    background-color: #fff;
    padding-left: 53px;
}
.works .text-box li .point {
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 2.14;
    color: #b8b8b8;
    margin-top: 35px;
}
.works .text-box li .ttl {
    font-size: 30px;
    line-height: 1;
    letter-spacing: 0.1em;
    margin-top: 15px;
    padding-bottom: 30px;
}
.works .text-box li .item-number {
    font-size: 18px;
    letter-spacing: 0.1em;
    line-height: 1.66;
}
.works .works-container2 {
    position: relative;
}
.works .works-container2 p {
    position: absolute;
    left: 52%;
    top: 5%;
    display: flex;
    flex-direction: column;
}
.works .works-container2 .sub {
    font-size: 14px;
    color: #b8b8b8;
    line-height: 2.14;
    letter-spacing: 0.1em;
}
.works .works-container2 .ttl {
    font-size: 30px;
    line-height: 1;
    letter-spacing: 0.1em;
    padding-top: 15px;
    padding-bottom: 25px;
}
.works .works-container2 .border {
    height: 1px;
    width: 100px;
    background-color: #b8b8b8;
}
.works .works-container2 .onlineshop-text {
    padding-top: 25px;
    font-size: 18px;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
    .works {
        background-color: #f4ede2;
        height: auto;
        padding-bottom: 55px;
    }
    .works::after {
        width: 100%;
        height: auto;
    }
    .works h2 {
        margin-top: 65px;
        margin-bottom: 30px;
    }
    .works h2:after {
        font-size: 53px;
        transform: translate(-150px, -35px);
    }
    .works .works-container {
        display: none;
    }
    .works .sp-works-container .img-wrap {
        position: relative;
    }
    .works .sp-works-container .img-wrap p {
        position: absolute;
        top: 40%;
        left: 5%;
        display: flex;
        flex-direction: column;
    }
    .works .sp-works-container p .sub {
        color: #b8b8b8;
        font-size: 10px;
        line-height: 1.5;
        letter-spacing: 0.1em;
    }
    .works .sp-works-container p .ttl {
        letter-spacing: 0.1em;
        font-size: 16px;
        line-height: 0.83;
        padding-top: 5px;
        padding-bottom: 15px;
    }
    .works .sp-works-container p .border {
        height: 1px;
        background-color: #b8b8b8;
        width: 50px;
    }
    .works .sp-works-container p .onlineshop-text {
        padding-top: 12px;
        font-size: 12px;
        letter-spacing: 0.1em;
        line-height: 1.25;
    }
}
/*ここまでworks*/
/*onlineshop*/
.onlineshop h2 {
    position: relative;
    text-align: center;
    margin-top: 175px;
    padding-bottom: 70px;
    font-weight: 400;
    letter-spacing: 0;
}
.onlineshop h2::after {
    position: absolute;
    left: 37%;
    top: 0;
    -webkit-transform: translate(-212px, -80px);
    transform: translate(-212px, -55px);
    content: "ONLINE SHOP";
    font-size: 90px;
    color: #f4ede2;
    z-index: -1;
}
.onlineshop ul li {
    margin-bottom: 55px;
    position: relative;
}
.onlineshop ul li:last-child {
    margin-bottom: 125px;
}
.onlineshop ul li p {
    position: absolute;
    left: 53%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    top: 60px;
    width: 270px;

    font-size: 26px;
    color: #343434;
    font-weight: normal;
    display: inline-block;
    background-color: #fff;
    text-align: left;
    line-height: 1;
}
.onlineshop ul li p .sub {
    background-color: #565656;
    padding: 5px 20px;
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 1.85;
    color: #fff;
}
.onlineshop ul li p .ttl {
    display: block;
    margin: 15px 0;
    font-size: 30px;
    letter-spacing: 0.1em;
    line-height: 0.86;
}
.onlineshop ul li p .onlineshop-text {
    display: block;
    font-size: 14px;
    line-height: 1.85;
}
.onlineshop ul li a:hover {
    opacity: 0.7;
}
@media screen and (max-width: 768px) {
    .onlineshop h2 {
        line-height: 1.16;
        margin-top: 125px;
        padding-bottom: 55px;
    }
    .onlineshop h2::after {
        font-size: 53px;
        transform: translate(-130px, -32px);
        white-space: nowrap;
        letter-spacing: -0.05em;
    }
    .onlineshop ul li p {
        left: auto;
        background-color: #fff;
        position: absolute;
        top: 50%;
        right: 0;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        display: inline-block;
        padding: 12px 0 12px 7%;
        width: 73.06667%;
    }

    .onlineshop ul li p .sub {
        background-color: #fff;
        color: black;
        padding: 0;
        font-size: 17px;
    }
    .onlineshop ul li p .ttl {
        color: #c9c9c9;
        font-size: 12px;
        margin: 0;
    }
    .onlineshop ul li p .onlineshop-text {
        display: block;
        font-size: 12px;
        line-height: 1.85;
    }
    .onlineshop ul li:last-child {
        margin-bottom: 50px;
    }
}
/*ここまでonlineshop*/
/*about*/
.about {
    background-color: #f4ede2;
    padding-left: 10%;
    padding-right: 10%;
    max-width: 1750px;
    margin-right: 8%;
    padding-top: 170px;
    padding-bottom: 125px;
    z-index: 1;
}

.about h2 {
    position: relative;
    text-align: center;
    padding-bottom: 70px;
    font-weight: 400;
    letter-spacing: 0;
    z-index: 1;
}
.about::after {
    z-index: -1;
}
.about h2::after {
    position: absolute;
    left: 50%;
    top: 0;
    -webkit-transform: translate(-212px, -80px);
    transform: translate(-332px, -50px);
    content: "ABOUT";
    font-size: 90px;
    color: #fff;
    z-index: -1;
}
.about dl {
    display: flex;
    border-bottom: 1px solid #fff;
}
.about dl dt {
    font-weight: 600;
    font-size: 18px;
    line-height: 1.44;
    width: 36%;
    padding: 35px 0 35px 2%;
}
.about dl dd {
    font-weight: 400;
    font-size: 18px;
    line-height: 1.44;
    padding: 35px 0;
}
@media screen and (max-width: 768px) {
    .about {
        padding: 71px 0 61px;
        margin-right: 0;
    }
    .about h2::after {
        font-size: 53px;
        transform: translate(-145px, -30px);
    }
    .about dl dt {
        padding-left: 23px;
    }
    .about dl dt,
    .about dl dd {
        padding-top: 12px;
        padding-bottom: 12px;
        font-size: 12px;
    }
}
/*ここまでabout*/
/*access*/

.access {
    width: 1200px;
    margin: 0 auto;
    padding-top: 180px;
}
.access h2 {
    /* margin-top: 180px; */
    margin-bottom: 70px;
    text-align: center;
    position: relative;
    font-weight: 400;
    letter-spacing: 0;
}
.access h2::after {
    position: absolute;
    left: 50%;
    top: 0;
    -webkit-transform: translate(-212px, -80px);
    transform: translate(-345px, -55px);
    content: "ACCESS";
    font-size: 90px;
    color: #f4ede2;
    z-index: -1;
}
.access .map {
    margin-bottom: 80px;
}
.access dl {
    display: flex;
    border-bottom: 1px solid #c9c9c9;
    width: 78%;
    margin: 0 auto;
}
.access dl dt {
    font-weight: 600;
    font-size: 18px;
    line-height: 1.44;
    width: 36%;
    padding: 35px 0 35px 2%;
}
.access dl dd {
    font-weight: 400;
    font-size: 18px;
    line-height: 1.44;
    padding: 35px 0;
}
@media screen and (max-width: 768px) {
    .access {
        padding-top: 70px;
    }
    .access h2 {
        /* margin-top: 70px; */
        margin-bottom: 20px;
    }
    .access h2::after {
        font-size: 53px;
        transform: translate(-160px, -30px);
    }
    .access dl {
        margin: 0;
        width: 100%;
    }
    .access dl dt {
        padding-left: 23px;
    }
    .access dl dt,
    .access dl dd {
        font-size: 12px;
        padding-top: 12px;
        padding-bottom: 12px;
    }
    .access .map {
        margin-bottom: 0;
    }
    .access .map iframe {
        height: 336px;
    }
}

/*ここまでaccess*/
/*contact*/
.contact {
    padding-top: 170px;
}
.contact h2 {
    margin-bottom: 70px;
    text-align: center;
    position: relative;
    font-weight: 400;
    letter-spacing: 0;
}
.contact h2:after {
    position: absolute;
    left: 50%;
    top: 0;
    -webkit-transform: translate(-212px, -80px);
    transform: translate(-460px, -55px);
    content: "CONTACT";
    font-size: 90px;
    color: #f4ede2;
    z-index: -1;
}
.contact .sub-ttl {
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 60px;
}
.contact .tel {
    display: flex;
    align-items: center;
    background-color: #f4ede2;
    margin-bottom: 43px;
    padding-top: 25px;
    padding-bottom: 25px;
    padding-left: 3%;
    padding-right: 3%;
}
.contact .tel:last-of-type {
    margin-bottom: 160px;
}
.contact .tel .tel-flex {
    display: flex;
}
.contact .tel .text {
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-right: 100px;
}
.contact .tel .number {
    font-size: 24px;
    line-height: 0.75;
    margin: 0 15px;
    display: flex;
    align-items: center;
}
.contact .tel .time {
    font-size: 18px;
    line-height: 1.44;
}
.contact .tel .mail {
    font-size: 24px;
    line-height: 1.44;
    margin: 0 15px;
}
.contact .form-ttl {
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    padding-top: 30px;
    padding-left: 3%;
    border: 5px solid #f4ede2;
    border-bottom: none;
    padding-bottom: 18px;
}

.form h2 {
    margin-top: 170px;
    margin-bottom: 70px;
    text-align: center;
    position: relative;
    font-weight: 400;
    letter-spacing: 0;
}
.form h2:after {
    position: absolute;
    left: 50%;
    top: 0;
    -webkit-transform: translate(-212px, -80px);
    transform: translate(-460px, -55px);
    content: "CONTACT";
    font-size: 90px;
    color: #f4ede2;
    z-index: -1;
}
.form .sub-ttl {
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: center;
    margin-bottom: 60px;
}
.form .tel {
    display: flex;
    align-items: center;
    background-color: #f4ede2;
    margin-bottom: 43px;
    padding-top: 25px;
    padding-bottom: 25px;
    padding-left: 3%;
    padding-right: 3%;
}
.form .tel .tel-flex {
    display: flex;
}
.form .tel .text {
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-right: 100px;
}
.form .tel .number {
    font-size: 40px;
    line-height: 0.75;
    margin: 0 15px;
    display: flex;
    align-items: center;
}
.form .tel .time {
    font-size: 18px;
    line-height: 1.44;
}

.form .form-ttl {
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    padding-top: 30px;
    padding-left: 3%;
    border: 5px solid #f4ede2;
    border-bottom: none;
    padding-bottom: 18px;
}
/*メールフォームプロ*/
.mailform {
    margin: 0 auto;
}
#mailformpro label {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.05em;
}
.contact form#mailformpro dl dt {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.05em;
}
.mailform .flex {
    display: flex;
    border-bottom: 1px solid #aaaaaa;
    padding-left: 18px;
    padding-right: 18px;
}
.mailform .flex:last-child {
    border-bottom: 0;
}

.mailform .address-input-wrap {
    display: flex;
    flex-direction: column;
}
.mailform .address-input-wrap .address-flex {
    display: flex;
}
.mailform .address-input-wrap .address-flex input {
    width: 100%;
}
.mailform .address-input-wrap .address-flex:last-of-type {
    margin-top: 15px;
}
.mailform .address-input-wrap .address-flex p {
    font-size: 16px;
    display: flex;
    align-items: center;
}
.mailform .dd-flex {
    display: flex;
}
.mailform .dd-flex div {
    padding-top: 38px;
}
.mailform .input-width input {
    min-width: 215px;
}
.mailform .textarea-width textarea {
    /* width: 300px !important;
    height: 120px !important; */
    width: 300px;
    height: 120px;
    margin: 33px 0;
}
#mailformpro .mfp_buttons button {
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 1.33;
    padding: 14px 44px;
}
@media screen and (max-width: 768px) {
    .contact {
        padding-top: 115px;
    }
    .contact h2 {
        /* margin-top: 115px; */
        margin-bottom: 25px;
    }
    .contact h2:after {
        font-size: 53px;
        transform: translate(-160px, -30px);
    }
    .contact .form-ttl {
        font-size: 16px;
        padding-top: 15px;
    }
    .contact .sub-ttl {
        font-size: 10px;
        line-height: 1.5;
        margin-bottom: 35px;
    }
    .contact .sp-tel-text {
        font-size: 16px;
        line-height: 1;
        letter-spacing: 0.05em;
        text-align: center;
        margin-bottom: 12px;
    }
    .contact .tel {
        width: 88%;
        margin: 0 auto;
        flex-direction: column;
        margin-bottom: 30px;
    }
    .contact .tel:last-of-type {
        margin-bottom: 50px;
    }
    .contact .tel-flex img {
        width: 35px;
    }
    .contact .tel .time {
        font-size: 10px;
        margin-left: 15px;
    }
    .contact .tel .mail {
        font-size: 18px;
        margin-right: 0;
    }
    .contact .tel .number {
        font-size: 18px;
        margin-right: 0;
    }
    .contact .mailform {
        margin: 0;
        width: 100%;
    }
    .contact form#mailformpro dl {
        width: 100%;
    }
    .contact form#mailformpro dl dt {
        font-size: 11px;
    }
    .contact form#mailformpro label {
        font-size: 11px;
    }
    .contact .mailform .flex .mfp {
        display: flex;
        align-items: center;
    }
    .contact .must {
        font-size: 11px;
    }
    .contact #mailformpro .mfp_buttons button {
        font-size: 11px;
    }
    .contact .mailform .flex {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }
    /* .mailform .input-width input {
        width: 215px;
    } */
    .mailform .input-width input[type="email"] {
        width: 215px;
    }
    .mailform .textarea-width textarea {
        /* width: 300px !important;
        height: 120px !important; */
        width: 215px !important;
        height: 120px !important;
        margin: 33px 0;
    }

    .form h2 {
        margin-top: 50px;
        margin-bottom: 25px;
    }
    .form h2:after {
        font-size: 53px;
        transform: translate(-160px, -30px);
    }
    .form .form-ttl {
        font-size: 16px;
        padding-top: 15px;
    }
    .form .sub-ttl {
        font-size: 10px;
        line-height: 1.5;
        margin-bottom: 35px;
    }
    .form .sp-tel-text {
        font-size: 16px;
        line-height: 1;
        letter-spacing: 0.05em;
        text-align: center;
        margin-bottom: 12px;
    }
    .form .tel {
        width: 88%;
        margin: 0 auto;
        flex-direction: column;
        margin-bottom: 30px;
    }
    .form .tel-flex img {
        width: 35px;
    }
    .form .tel .time {
        font-size: 10px;
        margin-left: 138px;
    }
    .form .tel .number {
        font-size: 26px;
        margin-right: 0;
    }
    .form .mailform {
        margin: 0;
        width: 100%;
    }
    .form form#mailformpro dl {
        width: 100%;
    }
    .form form#mailformpro dl dt {
        font-size: 11px;
    }
    .form form#mailformpro label {
        font-size: 11px;
    }
    .form .mailform .flex .mfp {
        display: flex;
        align-items: center;
    }
    .form .must {
        font-size: 11px;
    }
    .form #mailformpro .mfp_buttons button {
        font-size: 11px;
    }
    .form .mailform .flex {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }
    /* .mailform .input-width input {
        width: 215px;
    } */
    .mailform .input-width input[type="email"] {
        width: 215px;
    }
    .mailform .textarea-width textarea {
        /* width: 300px !important;
        height: 120px !important; */
        width: 215px !important;
        height: 120px !important;
        margin: 33px 0;
    }
}
/*ここまでcontact*/
/*footer*/
footer {
    background-color: #f4ede2;
    padding-top: 90px;
    padding-bottom: 140px;
}
/* footer dl {
    display: flex;
}
footer dl dt {
    border-bottom: 1px solid black;
    padding-bottom: 20px;
}
footer dl dd {
    border-bottom: 1px solid #fff;
    width: 100%;
    font-size: 18px;
    letter-spacing: 0.2em;
    line-height: 2.66;
    font-weight: 600;
    padding-left: 210px;
} */
.footer-logo {
    display: flex;
    align-items: flex-end;
    margin-bottom: 22px;
}
.footer-logo-black {
    background-color: black;
    height: 1px;
    width: 18%;
}
.footer-logo-white {
    background-color: white;
    height: 1px;
}
.footer-logo img {
    margin-right: 184px;
}
.logo-border-wrap {
    display: flex;
}
.logo-border1 {
    background-color: black;
    height: 1px;
    width: 18%;
}
.logo-border2 {
    background-color: #fff;
    height: 1px;
    width: 82%;
}
footer .address {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.44;
    margin-top: 30px;
    margin-bottom: 20px;
    margin-left: 375px;
}
footer .number {
    font-size: 18px;
    line-height: 0.86;
    font-weight: 400;
    margin-bottom: 20px;
    margin-left: 375px;
}
footer .time {
    font-size: 18px;
    line-height: 1.44;
    font-weight: 400;
    margin-bottom: 20px;
    margin-left: 375px;
}
a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
}
@media screen and (max-width: 768px) {
    footer .w1200 {
        margin-left: 13%;
        margin-right: 0;
        width: auto;
    }
    /* footer dl dt {
        padding-right: 10px;
    } */
    /* footer dl dd {
        padding-left: 0;
        font-size: 10px;
        display: flex;
        align-items: center;
    } */
    footer .footer-logo {
        align-items: flex-end;
        margin-bottom: 10px;
    }

    footer .footer-logo img {
        width: 23%;
        min-width: 100px;
        margin-right: 10px;
    }
    footer .footer-logo .text {
        font-size: 10px;
        line-height: 1;
    }
    .logo-border1 {
        width: 35%;
    }
    .logo-border2 {
        width: 65%;
    }
    footer .address {
        font-size: 12px;
        margin-left: 0;
        margin-top: 15px;
        margin-bottom: 10px;
    }
    footer .number {
        font-size: 12px;
        margin-left: 0;
        margin-bottom: 8px;
    }
    footer .time {
        font-size: 12px;
        margin-left: 0;
    }
    a[href*="tel:"] {
        pointer-events: auto;
        cursor: auto;
        text-decoration: auto;
    }
}
/*ここまでfooter*/
.copy-right {
    margin-top: 25px;
    text-align: center;
    font-size: 14px;
    font-weight: 400;
    line-height: 2.14;
}
@media screen and (max-width: 768px) {
    .copy-right {
        font-size: 10px;
    }
}
/*thanksページ*/
.thanks {
    padding-top: 120px;
}
@media screen and (max-width: 768px) {
    .thanks {
        padding-top: 50px;
    }
}
/*ここまでthanks*/

/*IEのみ調整用*/
@media all and (-ms-high-contrast: none) {
    .order {
        position: relative;
        margin-top: -700px;
    }
}
