@charset "UTF-8";
@import url(normalize.css);
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");
@import url("https://use.fontawesome.com/releases/v5.0.6/css/all.css");
/*--------------------------------------------
/* ブレイクポイント
--------------------------------------------*/
/*--------------------------------------------
/* 共通
--------------------------------------------*/
* { -webkit-box-sizing: border-box; box-sizing: border-box; }

html { font-size: 62.5%; }

body { font-size: 1.5rem; }

.contents { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-flow: column; flex-flow: column; min-height: 100vh; }

.contents .section { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; }

img { width: 100%; vertical-align: bottom; }

ul { margin: 0; padding: 0; }

ul li { list-style: none; }

figure { margin: 0; }

.winwrap { overflow: hidden; }

.mb6 { margin-bottom: 6rem; }

.txt-area { line-height: 1.5em; }

a.txt-link { color: #ff4e00; }

.logo-area { position: fixed; bottom: 50px; left: -23px; -webkit-transform: rotate(270deg); transform: rotate(270deg); z-index: 9999; }

/*--------------------------------------------
/* MV
--------------------------------------------*/
.mv-wrap { position: fixed; height: 100vh; width: 100vw; background-image: url(/_img/mv.jpg); background-size: cover; background-repeat: no-repeat; background-position: top center; }

@media screen and (max-width: 768px) { .mv-wrap { position: relative; width: 100%; height: 70%; margin: 0 auto; padding: 70% 0 0; } }

@media screen and (max-width: 540px) { .mv-wrap { height: 150%; padding: 150% 0 0; } }

.mv-wrap .parallax-cover_clip { position: -webkit-sticky; position: sticky; top: 0; left: 0; width: 100%; height: calc(100% + 200px); }

@media screen and (max-width: 768px) { .mv-wrap .parallax-cover_clip { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; } }

.mv-wrap .diagonal { -webkit-transform: translate(0%, 0%) skew(25deg, 0deg); transform: translate(0%, 0%) skew(25deg, 0deg); }

@media screen and (max-width: 768px) { .mv-wrap .diagonal { -webkit-transform: translate(24%, 0%) skew(25deg, 0deg); transform: translate(24%, 0%) skew(25deg, 0deg); } }

@media screen and (max-width: 540px) { .mv-wrap .diagonal { -webkit-transform: translate(21%, 0%) skew(25deg, 0deg); transform: translate(21%, 0%) skew(25deg, 0deg); } }

.mv-wrap .mv-text-area { position: absolute; top: 15vw; left: 10%; }

@media screen and (max-width: 768px) { .mv-wrap .mv-text-area { top: 12vw; } }

@media screen and (max-width: 540px) { .mv-wrap .mv-text-area { top: 30vw; left: 0; width: 100%; padding: 0 10%; } }

.mv-wrap .mv-text-area .logo { width: 25vw; max-width: 450px; }

@media screen and (max-width: 768px) { .mv-wrap .mv-text-area .logo { width: 31vw; margin-bottom: 4vw; } }

@media screen and (max-width: 540px) { .mv-wrap .mv-text-area .logo { width: initial; max-width: initial; } }

.mv-wrap .mv-text-area .catch { line-height: 3.5rem; font-size: 2rem; color: #707070; font-weight: 500; font-family: "Noto Serif JP", serif; letter-spacing: 0.2rem; }

@media screen and (max-width: 768px) { .mv-wrap .mv-text-area .catch { font-size: 2.3vw; line-height: 2.2em; } }

@media screen and (max-width: 540px) { .mv-wrap .mv-text-area .catch { font-size: 4vw; line-height: 2em; letter-spacing: inherit; } }

.mv-wrap::after { content: ""; position: absolute; bottom: 0; left: 39%; width: 100%; max-width: 380px; height: 100%; max-height: 40%; background: -webkit-gradient(linear, left bottom, left top, from(#2fa999), to(#e33c0b)); background: linear-gradient(0deg, #2fa999, #e33c0b); -webkit-transform: translate(0%, 0%) skew(25deg, 0deg); transform: translate(0%, 0%) skew(25deg, 0deg); opacity: 0.57; }

@media screen and (max-width: 768px) { .mv-wrap::after { -webkit-transform: translate(24%, 0%) skew(25deg, 0deg); transform: translate(24%, 0%) skew(25deg, 0deg); } }

@media screen and (max-width: 540px) { .mv-wrap::after { -webkit-transform: translate(45%, 0%) skew(25deg, 0deg); transform: translate(45%, 0%) skew(25deg, 0deg); } }

/*--------------------------------------------
/* contents
--------------------------------------------*/
#index .contents { margin-top: 100vh; padding-top: 4.5rem; }

@media screen and (max-width: 768px) { #index .contents { margin-top: auto; } }

@media screen and (max-width: 540px) { #index .contents { margin-top: 0; padding-top: 0; } }

.contents { position: relative; background: #fff; z-index: 1; }

.contents::before { content: ""; position: absolute; top: -120px; left: 200px; width: 100%; max-width: 380px; height: calc(100% + 160px); background: -webkit-gradient(linear, left bottom, left top, from(#e33c0b), to(#2fa999)); background: linear-gradient(0deg, #e33c0b, #2fa999); -webkit-transform: translate(0%, 0%) skew(25deg, 0deg); transform: translate(0%, 0%) skew(25deg, 0deg); opacity: 0.2; z-index: 0; }

@media screen and (max-width: 768px) { .contents::before { top: -30px; -webkit-transform: translate(-10%, 0%) skew(25deg, 0deg); transform: translate(-10%, 0%) skew(25deg, 0deg); } }

@media screen and (max-width: 540px) { .contents::before { -webkit-transform: translate(-40%, -5%) skew(25deg, 0deg); transform: translate(-40%, -5%) skew(25deg, 0deg); } }

.contents-underlayer::before { top: -30px; left: -110px; width: 300px; -webkit-transform: rotate(-25deg); transform: rotate(-25deg); -webkit-transform-origin: left top; transform-origin: left top; }

.contents-business::after { content: ""; position: absolute; top: 0; right: 0; width: 100%; max-width: 380px; height: 100%; background: -webkit-gradient(linear, left bottom, left top, from(#2fa999), to(#e33c0b)); background: linear-gradient(0deg, #2fa999, #e33c0b); -webkit-transform: translate(0%, 0%) skew(335deg, 0deg); transform: translate(0%, 0%) skew(335deg, 0deg); opacity: 0.2; z-index: -1; }

h2.tit { font-size: 5.5rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline; height: 85px; }

@media screen and (max-width: 768px) { h2.tit { font-size: 4.5vw; height: 65px; } }

@media screen and (max-width: 540px) { h2.tit { font-size: 10vw; } }

h2.tit span:first-child { font-size: 130%; }

h2.TextTyping span { /*タイピング*/ display: none; }

h2::after { font-size: 28%; color: #707070; font-weight: normal; padding-bottom: 0.3rem; margin-bottom: 1.3rem; margin-left: 3.5rem; border-bottom: 1px solid #707070; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; }

@media screen and (max-width: 540px) { h2::after { margin-left: 2rem; } }

h2.tit-business::after { content: "事業案内"; }

h2.tit-company::after { content: "会社概要"; }

h2.tit-contact::after { content: "お問合わせ"; }

@media screen and (max-width: 540px) { h2.tit-privacy { position: relative; } }

h2.tit-privacy::after { content: "プライバシーポリシー"; }

@media screen and (max-width: 540px) { h2.tit-privacy::after { position: absolute; bottom: -6vw; left: 0; margin-left: 0; width: 100%; } }

.tit-wrap_h3 { margin-left: -13%; margin-bottom: 2rem; display: -webkit-box; display: -ms-flexbox; display: flex; }

@media screen and (max-width: 540px) { .tit-wrap_h3 { margin-left: -12%; } }

.tit-wrap_h3::after { content: ""; border-width: 0 40px 135px 0; border-style: solid; border-color: transparent transparent #fff6eb transparent; }

.tit-wrap_h3 h3.tit { background-color: #fff6eb; -webkit-box-align: baseline; -ms-flex-align: baseline; align-items: baseline; margin: 0; padding: 2rem 0 2rem 10%; width: 90%; }

@media screen and (max-width: 768px) { .tit-wrap_h3 h3.tit { width: 93%; } }

@media screen and (max-width: 540px) { .tit-wrap_h3 h3.tit { padding-left: 101px; } }

.tit-wrap_h3 h3.tit figure { max-width: 150px; margin-bottom: 1rem; }

@media screen and (max-width: 540px) { .tit-wrap_h3 h3.tit figure { max-width: 110px; } }

.tit-wrap_h3 h3.tit p { margin-top: 0.5rem; margin-bottom: 0; font-size: 85%; font-weight: normal; }

@media screen and (max-width: 540px) { .tit-wrap_h3 h3.tit p { font-size: 75%; line-height: 1.5em; } }

.contents-area_business-wrap ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }

@media screen and (max-width: 540px) { .contents-area_business-wrap ul { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } }

.contents-area_business-wrap ul li { width: calc((100% - (10rem * 2)) / 2); }

@media screen and (max-width: 768px) { .contents-area_business-wrap ul li { width: calc((100% - (3rem * 2)) / 2); } }

@media screen and (max-width: 540px) { .contents-area_business-wrap ul li { width: 100%; } }

.contents-area_business-wrap ul li:nth-of-type(odd) { margin-right: 10rem; }

@media screen and (max-width: 768px) { .contents-area_business-wrap ul li:nth-of-type(odd) { margin-right: 3rem; } }

.contents-area_business-wrap ul li .contents-area_business { width: 85%; margin-left: auto; margin-right: auto; }

.contents-area_business-wrap ul li h4.tit { margin-bottom: 5rem; font-size: 2rem; display: -webkit-box; display: -ms-flexbox; display: flex; }

.contents-area_business-wrap ul li h4.tit.print { color: #43978d; }

.contents-area_business-wrap ul li h4.tit.print::after { border-bottom: 2px solid #43978d; }

.contents-area_business-wrap ul li h4.tit.sing { color: #e95513; }

.contents-area_business-wrap ul li h4.tit.sing::after { border-bottom: 2px solid #e95513; }

.contents-area_business-wrap ul li h4.tit.mice { color: #4f4644; }

.contents-area_business-wrap ul li h4.tit.mice::after { border-bottom: 2px solid #4f4644; }

.contents-area_business-wrap ul li h4.tit::after { content: ""; -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; margin-left: 2rem; }

.contents-area_business { width: 92%; margin-bottom: 8rem; }

@media screen and (max-width: 768px) { .contents-area_business { width: 98%; } }

@media screen and (max-width: 540px) { .contents-area_business { margin-bottom: 4rem; } }

.contents-area_business-main { display: -webkit-box; display: -ms-flexbox; display: flex; margin-top: 0; margin-bottom: 8rem; }

@media screen and (max-width: 768px) { .contents-area_business-main { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } }

@media screen and (max-width: 540px) { .contents-area_business-main { margin-bottom: 4rem; } }

.contents-area_business-main .contents-img_business { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }

@media screen and (max-width: 768px) { .contents-area_business-main .contents-img_business { -webkit-box-ordinal-group: inherit; -ms-flex-order: inherit; order: inherit; margin-left: 0; margin-bottom: 2rem; } }

.contents-area_business-main .contents-txt_business { width: 50%; line-height: 1.7em; }

@media screen and (max-width: 768px) { .contents-area_business-main .contents-txt_business { width: 100%; } }

ul.contents-list { margin-bottom: 7rem; display: -webkit-box; display: -ms-flexbox; display: flex; }

@media screen and (max-width: 768px) { ul.contents-list { margin-bottom: 5rem; } }

@media screen and (max-width: 540px) { ul.contents-list { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; margin-bottom: 2rem; padding-left: 25%; } }

ul.contents-list.contents-list_business li { margin-right: 3.5rem; position: relative; }

@media screen and (max-width: 540px) { ul.contents-list.contents-list_business li { margin-bottom: 1rem; } }

@media screen and (max-width: 768px) { ul.contents-list.contents-list_business li:last-child { margin-right: 10%; } }

@media screen and (max-width: 540px) { ul.contents-list.contents-list_business li:last-child { margin-right: 3.5rem; } }

ul.contents-list.contents-list_business li a:hover { -webkit-transition: all 0.4s ease-out 0.1s; transition: all 0.4s ease-out 0.1s; }

ul.contents-list.contents-list_business li a:hover::before { opacity: 0; }

ul.contents-list.contents-list_business li a:hover h3 { color: #000; }

ul.contents-list.contents-list_business li a::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #000000; opacity: 0.4; -webkit-transition: all 0.4s ease-out 0.1s; transition: all 0.4s ease-out 0.1s; }

ul.contents-list.contents-list_business li a h3 { position: absolute; top: 50%; left: 1rem; -webkit-transform: translateY(-50%); transform: translateY(-50%); margin: auto; font-size: 2vw; letter-spacing: 0.3rem; color: #fff; }

@media screen and (max-width: 540px) { ul.contents-list.contents-list_business li a h3 { font-size: 7vw; top: 10%; left: -25%; -webkit-transform: initial; transform: initial; } }

ul.contents-list.contents-list_business li a h3 .outline { color: #000000; letter-spacing: 4px; text-shadow: 2px 2px 1px #ffffff52, -2px 2px 1px #ffffff52, 2px -2px 1px #ffffff52, -2px -2px 1px #ffffff52, 2px 0px 1px #ffffff52, 0px 2px 1px #ffffff52, -2px 0px 1px #ffffff52, 0px -2px 1px #ffffff52; }

.section { margin-bottom: 20rem; position: relative; }

@media screen and (max-width: 768px) { .section { margin-bottom: 15rem; } }

@media screen and (max-width: 540px) { .section { margin-bottom: 8rem; } }

.section-under { padding-left: 10%; margin-top: 6rem; }

@media screen and (max-width: 540px) { .section-under { padding-left: 3%; } }

.section-business { padding-left: 10%; }

@media screen and (max-width: 768px) { .section-business { padding-left: 3%; } }

.section-business .btn-area { margin-right: 10rem; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }

@media screen and (max-width: 540px) { .section-business .btn-area { margin-right: 2rem; } }

@media screen and (max-width: 540px) { .section-business { padding-left: 3%; } }

.section-company { background-image: url(/_img/company.jpg); background-position: center center; background-repeat: no-repeat; background-size: cover; padding-left: 12.5%; margin-bottom: 5rem; }

@media screen and (max-width: 540px) { .section-company { background-size: inherit; } }

.section-company a { display: inline-block; width: 100%; height: 100%; color: #000; text-decoration: none; }

.section-company .tit-wrap { background-color: #fff6eb; opacity: 0.8; padding: 1.5rem 0 1.5rem 5rem; position: relative; margin: 5rem 0 30rem 0; }

@media screen and (max-width: 768px) { .section-company .tit-wrap { margin-bottom: 5rem; } }

@media screen and (max-width: 540px) { .section-company .tit-wrap { margin-bottom: 13rem; padding: 1.5rem 0 1.5rem 1rem; } }

.section-company .tit-wrap::before { position: absolute; top: 0; left: -40px; content: ""; border-width: 0 40px 115px 0; border-style: solid; border-color: transparent #fff6eb transparent transparent; }

@media screen and (max-width: 540px) { .section-company .tit-wrap::before { border-width: 0 40px 95px 0; } }

.section-company .tit-wrap .tit-company { margin: 0; }

/*--------------------------------------------
/* company
--------------------------------------------*/
.contents-area-short { margin-right: 10%; margin-left: 5%; }

@media screen and (max-width: 1024px) { .contents-area-short { margin-left: 0; } }

@media screen and (max-width: 540px) { .contents-area-short { margin-left: 0; margin-right: 3%; } }

.contents-area-short .company-list li { border-bottom: 1px solid #707070; margin-bottom: 3.5rem; }

.contents-area-short .company-list li:nth-of-type(1) dl { -webkit-animation-delay: 0.3s; animation-delay: 0.3s; }

.contents-area-short .company-list li:nth-of-type(2) dl { -webkit-animation-delay: 0.5s; animation-delay: 0.5s; }

.contents-area-short .company-list li:nth-of-type(3) dl { -webkit-animation-delay: 0.7s; animation-delay: 0.7s; }

.contents-area-short .company-list li:nth-of-type(4) dl { -webkit-animation-delay: 0.9s; animation-delay: 0.9s; }

.contents-area-short .company-list li:nth-of-type(5) dl { -webkit-animation-delay: 1.1s; animation-delay: 1.1s; }

.contents-area-short .company-list li:nth-of-type(6) dl { -webkit-animation-delay: 1.3s; animation-delay: 1.3s; }

.contents-area-short .company-list li:nth-of-type(7) dl { -webkit-animation-delay: 1.5s; animation-delay: 1.5s; }

.contents-area-short .company-list li:nth-of-type(8) dl { -webkit-animation-delay: 1.7s; animation-delay: 1.7s; }

.contents-area-short .company-list li dl { display: -webkit-box; display: -ms-flexbox; display: flex; }

@media screen and (max-width: 540px) { .contents-area-short .company-list li dl { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } }

.contents-area-short .company-list li dt { width: 15em; }

@media screen and (max-width: 540px) { .contents-area-short .company-list li dt { margin-bottom: 0.8rem; font-weight: 600; } }

.contents-area-short .company-list li dd { margin-left: 0; }

div#confirm_field { background: #ffffff70; }

@media screen and (max-width: 768px) { div#confirm_field h2 { font-size: 90%; margin-left: 0.5rem; } }

/*--------------------------------------------
/* ボタン
--------------------------------------------*/
.more-btn { position: relative; color: #333; padding: 10px 180px 10px 0; display: inline-block; text-decoration: none; outline: none; font-size: 150%; font-weight: 600; }

@media screen and (max-width: 540px) { .more-btn { padding: 10px 100px 10px 0; font-size: 130%; } }

.more-btn::before, .more-btn::after { content: ""; position: absolute; bottom: 2px; left: 0; background: #ccc; width: 100%; height: 2px; -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }

.more-btn::after { width: 0; background: #333; }

.more-btn:hover::after { width: 100%; }

.more-btn:hover span::after { right: 4px; border-top: 2px solid #333; }

.more-btn span::after { content: ""; position: absolute; top: 1.35em; right: 4px; width: 25px; height: 25px; border-top: 2px solid #ccc; -webkit-transform: rotate(45deg); transform: rotate(45deg); -webkit-transition: all 0.3s; transition: all 0.3s; }

/*--------------------------------------------
/* footer
--------------------------------------------*/
footer { position: relative; background-color: #d3d3d3; padding: 5rem 14% 5rem 10%; }

footer .footer-logo { max-width: 11vw; margin-bottom: 2.5rem; }

@media screen and (max-width: 540px) { footer .footer-logo { max-width: 42vw; } }

footer address { margin-top: 2.5rem; margin-bottom: 3rem; }

footer .footer-link { display: -webkit-box; display: -ms-flexbox; display: flex; }

footer .footer-link li a { color: #ff4e00; }

/*--------------------------------------------
ふわっ
--------------------------------------------*/
/* fadeUp */
.fadeUp { -webkit-animation-name: fadeUpAnime; animation-name: fadeUpAnime; -webkit-animation-duration: 0.8s; animation-duration: 0.8s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; opacity: 0; }

.fadeUp.delay-time01 { -webkit-animation-delay: 0.5s; animation-delay: 0.5s; }

.fadeUp.delay-time02 { -webkit-animation-delay: 1.0s; animation-delay: 1.0s; }

.fadeUp.delay-time03 { -webkit-animation-delay: 1.5s; animation-delay: 1.5s; }

@-webkit-keyframes fadeUpAnime { from { opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px); }
  to { opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes fadeUpAnime { from { opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px); }
  to { opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeUpTrigger { opacity: 0; }

/*--------------------------------------------
メニュー
--------------------------------------------*/
/*ハンバーガー
--------------------------------------------*/
.openbtn { position: fixed; z-index: 9999; top: 0; left: 0; cursor: pointer; width: 70px; height: 100vh; background: #fff; border-right: 1px solid #707070; }

@media screen and (max-width: 768px) { .openbtn { width: 60px; height: 60px; border: none; } }

.openbtn span.txt { position: absolute; top: 39.7vh; left: 4px; -webkit-transform: rotate(270deg); transform: rotate(270deg); font-size: 2rem; font-weight: 600; color: #707070; }

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

.openbtn span:not(.txt) { display: inline-block; -webkit-transition: all 0.4s; transition: all 0.4s; /*アニメーションの設定*/ position: absolute; left: 18px; height: 3px; border-radius: 2px; background: #707070; width: 45%; }

.openbtn span:not(.txt):nth-of-type(2) { top: 46vh; }

@media screen and (max-width: 768px) { .openbtn span:not(.txt):nth-of-type(2) { top: 19px; left: 15px; } }

.openbtn span:not(.txt):nth-of-type(3) { top: 47vh; }

@media screen and (max-width: 768px) { .openbtn span:not(.txt):nth-of-type(3) { top: 28px; left: 15px; } }

.openbtn span:not(.txt):nth-of-type(4) { top: 48vh; }

@media screen and (max-width: 768px) { .openbtn span:not(.txt):nth-of-type(4) { top: 37px; left: 15px; } }

.openbtn.active span:nth-of-type(2), .openbtn.active span:nth-of-type(4) { top: 47vh; }

@media screen and (max-width: 768px) { .openbtn.active span:nth-of-type(2), .openbtn.active span:nth-of-type(4) { top: 28px; } }

/*メニュー
--------------------------------------------*/
#g-nav { position: fixed; z-index: 999; top: 0; left: -120%; width: 100%; height: 100vh; background: #2fa999; -webkit-transition: all 0.6s; transition: all 0.6s; }

#g-nav.panelactive { left: 0; }

#g-nav.panelactive #g-nav-list { position: fixed; z-index: 999; width: 100%; height: 100vh; overflow: auto; -webkit-overflow-scrolling: touch; }

#g-nav.panelactive #g-nav-list .sub { margin-left: 1rem; }

#g-nav ul { position: absolute; z-index: 999; top: 25%; left: 20%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }

@media screen and (max-width: 768px) { #g-nav ul { top: 25%; left: 25%; } }

@media screen and (max-width: 540px) { #g-nav ul { top: 33%; left: 45%; } }

#g-nav ul li { list-style: none; }

#g-nav ul li:nth-of-type(1) { -webkit-animation-delay: 0.3s; animation-delay: 0.3s; }

#g-nav ul li:nth-of-type(2) { -webkit-animation-delay: 0.5s; animation-delay: 0.5s; }

#g-nav ul li:nth-of-type(3) { -webkit-animation-delay: 0.7s; animation-delay: 0.7s; }

#g-nav ul li:nth-of-type(4) { -webkit-animation-delay: 0.9s; animation-delay: 0.9s; }

#g-nav ul li:nth-of-type(5) { -webkit-animation-delay: 1.1s; animation-delay: 1.1s; }

#g-nav ul li:nth-of-type(6) { -webkit-animation-delay: 1.3s; animation-delay: 1.3s; }

#g-nav ul li:nth-of-type(7) { -webkit-animation-delay: 1.5s; animation-delay: 1.5s; }

#g-nav ul li:nth-of-type(8) { -webkit-animation-delay: 1.7s; animation-delay: 1.7s; }

#g-nav ul li a { color: #fff; text-decoration: none; padding: 10px; display: block; text-transform: uppercase; letter-spacing: 0.1em; font-weight: 400; font-size: 1.6rem; }

#g-nav ul li:nth-of-type(2) a { padding-bottom: 0; }

.smooth { -webkit-animation-name: smoothAnime; animation-name: smoothAnime; -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-fill-mode: forwards; animation-fill-mode: forwards; -webkit-transform-origin: left; transform-origin: left; opacity: 0; }

@-webkit-keyframes smoothAnime { from { -webkit-transform: translate3d(0, 100%, 0) skewY(12deg); transform: translate3d(0, 100%, 0) skewY(12deg);
    opacity: 0; }
  to { -webkit-transform: translate3d(0, 0, 0) skewY(0); transform: translate3d(0, 0, 0) skewY(0);
    opacity: 1; } }

@keyframes smoothAnime { from { -webkit-transform: translate3d(0, 100%, 0) skewY(12deg); transform: translate3d(0, 100%, 0) skewY(12deg);
    opacity: 0; }
  to { -webkit-transform: translate3d(0, 0, 0) skewY(0); transform: translate3d(0, 0, 0) skewY(0);
    opacity: 1; } }

/*プライバシーポリシー
--------------------------------------------*/
body { counter-reset: count 0; }

.privacy { background-color: rgba(255, 255, 255, 0.5); padding: 1rem 2rem; line-height: 1.6em; font-size: 95%; }

.privacy .privacy-list h3 { display: -webkit-box; display: -ms-flexbox; display: flex; margin-bottom: 0.5rem; }

.privacy .privacy-list h3::before { counter-increment: count 1; content: "第" counter(count) "条"; margin-right: 1rem; }

.privacy .privacy-list ol { padding-left: 2.5em; }

.privacy .privacy-list ol li { list-style-type: decimal; }

/* フォーム 
--------------------------------------------*/
.contact-form { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin: 1rem 0; }

@media screen and (max-width: 540px) { .contact-form { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; } }

.contact-item-set { -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }

.contact-item-set .contact-item { margin-top: 0.5rem; }

.contact-form dt { width: 100%; max-width: 220px; margin-left: 0; }

@media screen and (max-width: 540px) { .contact-form dt { max-width: inherit; } }

.contact-form dd { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; }

.contact-form dd input:not([type="checkbox"]) { color: #646464; width: 100%; max-width: 850px; padding: 1rem; border: 1px solid #cccccc; border-radius: 2px; background-color: #f7f7f3; }

@media screen and (max-width: 540px) { .contact-form dd { width: 100%; margin-left: 0; margin-bottom: 0.5rem; } }

textarea { color: #646464; width: 100%; max-width: 850px; padding: 1rem; border: 1px solid #cccccc; border-radius: 2px; background-color: #f7f7f3; }

.contact-form dd input[type="text"].zip { max-width: 120px; }

.contact-form dd input.pref { max-width: 120px; display: block; margin-bottom: 0.5rem; }

.contact-form dd input.p-locality { margin-bottom: 0.5rem; }

/*placeholder*/
input::-webkit-input-placeholder { color: #979797; font-size: 80%; }
input:-ms-input-placeholder { color: #979797; font-size: 80%; }
input::-ms-input-placeholder { color: #979797; font-size: 80%; }
input::placeholder { color: #979797; font-size: 80%; }

input:focus::-webkit-input-placeholder { color: transparent; }

input:focus:-ms-input-placeholder { color: transparent; }

input:focus::-ms-input-placeholder { color: transparent; }

input:focus::placeholder { color: transparent; }

.contact-form dd input:not([type="checkbox"]):focus, textarea:focus { border: 1px solid #739687; background-color: #f0f9f5; outline: 0; }

.contact-item-list-area { background-color: #f7f7f3; padding: 1rem; border-radius: 3px; }

.contact-item-list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }

label.required::after { content: "※"; font-size: 75%; color: #c90000; margin-left: 0.5rem; padding: 1rem; }

.error_blank, .error_format, .error_match { color: #c90000; font-size: 80%; }

.thanks-link { font-weight: bold; color: #428414; text-decoration: underline; padding: 0 0.5rem; }

#form_submit, #confirm_submit { margin-top: 7rem; display: -webkit-box; display: -ms-flexbox; display: flex; }

form#mail_form input[type="button"] { width: 100%; padding: 1rem 0; border: none; border-radius: 5px; background: #428414; color: #ffffff; cursor: pointer; }

#confirm_submit input#confirm_submit_button, #confirm_submit input#confirm_cancel_button { width: 100%; padding: 1rem 0; border: none; border-radius: 5px; background: #428414; color: #ffffff; cursor: pointer; }

#confirm_submit input#confirm_submit_button, #confirm_submit input#confirm_cancel_button { margin: 0 5rem; }

form#mail_form input[type="button"]:hover { background-color: #013408; }

#confirm_submit input#confirm_submit_button:hover { background-color: #013408; }

#confirm_submit input#confirm_cancel_button { background-color: #d43f3a; }

#confirm_submit input#confirm_cancel_button:hover { background-color: #923431; }

form#mail_form input[type="button"]:focus, form#confirm_submit input[type="button"]:focus { outline: none; }

/*確認画面*/
div#confirm_field h2 { font-size: 1.8rem; text-align: center; }

.privacy-policy { font-size: 80%; line-height: 1.8rem; background-color: #ccc; padding: 1rem 2rem; margin-bottom: 3rem; height: 200px; overflow-y: scroll; }

.privacy-policy .first-area { margin-top: 0; margin-bottom: 0; }

.privacy-policy .second-area { margin-top: 0.5rem; margin-bottom: 0; }

.privacy-policy .first-area dd { margin-left: 0; margin-bottom: 0.5rem; }

.privacy-policy .first-area dd:last-child { margin-bottom: 0; }

.privacy-policy .second-area dd { margin-left: 1.7em; }

.privacy-policy .second-area dd ol { margin-top: 0.5rem; margin-bottom: 0.5rem; padding-left: 2rem; }

.privacy-policy__agree-area { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }

.privacy-policy__agree-area label { margin: 0 auto; }

form#mail_form #agreement p.error_check { display: none; color: #c90000; margin: 1rem auto 0; text-align: center; font-size: 90%; background-color: #ffdfdf; padding: 1rem; width: 100%; }

/*チェックボックス装飾*/
input[type="checkbox"] { display: none; }

.contact-item-list-item label, .privacy-policy__agree-area label { -webkit-box-sizing: border-box; box-sizing: border-box; cursor: pointer; display: inline-block; padding: 7px 30px 3px; position: relative; width: auto; }

.contact-item-list-item label::before, .privacy-policy__agree-area label::before { background: #fff; border: 1px solid #ccc; border-radius: 3px; content: ""; display: block; height: 16px; left: 5px; margin-top: -8px; position: absolute; top: 50%; width: 16px; }

.contact-item-list-item label::after, .privacy-policy__agree-area label::after { border-right: 3px solid #377d09; border-bottom: 3px solid #377d09; content: ""; display: block; height: 9px; left: 10px; margin-top: -7px; opacity: 0; position: absolute; top: 50%; -webkit-transform: rotate(45deg); transform: rotate(45deg); width: 5px; -webkit-transform: rotate(45deg) translate3d(0, 2px, 0) scale3d(0.7, 0.7, 1); transform: rotate(45deg) translate3d(0, 2px, 0) scale3d(0.7, 0.7, 1); -webkit-transition: opacity 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out; transition: opacity 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out; transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out; transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out; }

.contact-item-list-item input[type="checkbox"]:checked + label::before, .privacy-policy__agree-area input[type="checkbox"]:checked + label::before { border-color: #666; }

.contact-item-list-item input[type="checkbox"]:checked + label::after, .privacy-policy__agree-area input[type="checkbox"]:checked + label::after { opacity: 1; -webkit-transform: rotate(45deg) scale3d(1, 1, 1); transform: rotate(45deg) scale3d(1, 1, 1); }

/*---------------------------------------
TOPへ戻るscrollボタン
---------------------------------------*/
.page-top { width: 40px; height: 40px; position: fixed; right: 1.5vw; bottom: 1.5vw; background: #EB5A1E; opacity: 0.7; border-radius: 50%; }

.page-top a { position: relative; display: block; width: 40px; height: 40px; text-decoration: none; }

.page-top a::before { font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f062"; font-size: 20px; color: #fff; position: absolute; width: 20px; height: 20px; top: 0; bottom: 0; right: 0; left: 0; margin: auto; text-align: center; }

@-webkit-keyframes move { 0% { -webkit-transform: rotate(45deg) translate(0, 0);
    transform: rotate(45deg) translate(0, 0); }
  20% { -webkit-transform: rotate(45deg) translate(10px, 10px);
    transform: rotate(45deg) translate(10px, 10px); }
  40% { -webkit-transform: rotate(45deg) translate(0, 0);
    transform: rotate(45deg) translate(0, 0); } }

@keyframes move { 0% { -webkit-transform: rotate(45deg) translate(0, 0);
    transform: rotate(45deg) translate(0, 0); }
  20% { -webkit-transform: rotate(45deg) translate(10px, 10px);
    transform: rotate(45deg) translate(10px, 10px); }
  40% { -webkit-transform: rotate(45deg) translate(0, 0);
    transform: rotate(45deg) translate(0, 0); } }
