@charset "utf-8";

:root {
--color-main-strong:#528B2A;
--color-main-light:#BEDF16;
--color-main-pale:#EFF7C5;
--color-sub:#F90;
}

/* common */

* {
box-sizing: border-box;
}
body {
color:#222;
margin: 0;
padding: 0;
text-align: center;
position: relative;
overflow-x: hidden;
}
body,html {
height: 100%;
}
html {
font-size: 10px;
-webkit-text-size-adjust: 100%;
}
body,
input,textarea {
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Mayryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
a {
outline: none;
color: var(--color-main-strong);
}
a img {
text-decoration: none;
border: none;
}
a,button {
pointer-events:auto;
appearance: none;
-webkit-appearance: none;
}
a[class*="type"]{
display: inline-flex;
align-items: center;
text-decoration: none;
padding: .5em 1.5em;
border-radius: 2em;
transition: .5s ease;
}
h1,h2,h3,h4,h5,h6 {
display: block;
margin: 0px;
padding: 0px;
}
.wf,
header .items a,
a[class*="type"] {
font-family: "Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-feature-settings: "palt";
letter-spacing: .05em;
}
p,ul,ol,dl,dt,dd,figure {
margin: 0px;
padding: 0px;
}
ul,ol {
list-style-type: none;
}
em {
font-style: normal;
}

/* pc sp */

@media screen and (max-width:999px){
.pc {
display: none!important;
}
}

@media all and (min-width:1000px){
.sp {
display: none!important;
}
}

/* a type */

a.type01 {
color:#FFF;
background: var(--color-main-strong);
}
a.type01:hover {
background: var(--color-sub);
}

/* with-mark */

.with-mark {
display: flex;
align-items: center;
}
.with-mark::before {
content:"";
flex-shrink: 0;
display: block;
width: 1.2em;
height: 1.2em;
margin: 0 .3em 0 0;
}
.with-mark.arrow::before {
width: 0;
height: 0;
border-left:6px solid;
border-top:5px solid transparent;
border-bottom:5px solid transparent;
}
.with-mark.tel::before {
background: url("img/mark_free-b.svg")center/100% auto no-repeat;
}
.with-mark.tel.white::before {
background: url("img/mark_free-w.svg")center/100% auto no-repeat;
}
.with-mark.mail::before {
background: url("img/mark_mail-g.svg")center/100% auto no-repeat;
}
.with-mark.step::before {
background: url("img/mark_flow-g.svg")center/auto 100% no-repeat;
}
.with-mark.step.white::before {
background: url("img/mark_flow-w.svg")center/auto 100% no-repeat;
}
.with-mark.faq::before {
background: url("img/mark_faq-g.svg")center/100% auto no-repeat;
}
.with-mark.data::before {
background: url("img/mark_data-g.svg")center/auto 100% no-repeat;
}
.with-mark.home::before {
background: url("img/mark_home-g.svg")center/auto 80% no-repeat;
}
.with-mark.home.white::before {
background: url("img/mark_home-w.svg")center/auto 80% no-repeat;
}
.with-mark.book::before {
background: url("img/mark_book-g.svg")center/auto 100% no-repeat;
}
.with-mark.book.white::before {
background: url("img/mark_book-w.svg")center/auto 100% no-repeat;
}
.with-mark.error::before {
background: url("img/mark_error-g.svg")center/auto 100% no-repeat;
}
.with-mark.error.white::before {
background: url("img/mark_error-w.svg")center/auto 100% no-repeat;
}

/* alterna */

.alterna {
display: block;
text-indent: -9999999em;
line-height: 100%;
overflow: hidden;
}

/* illust & photo */

.illust img,
.photo img {
display: block;
width: 100%;
height: auto;
}

/* font size */

header,main,footer {
font-size: 1.5rem;
}

/* header */

header {
display: flex;
align-items: center;
width: 100%;
background: var(--color-main-strong);
transition: .5s ease;
}
header h1 {
display: block;
}

@media screen and (max-width:999px){
header {
justify-content: center;
height: 90px;
padding: 0 15px;
}
.subpage header {
margin: 0 0 10px;
}
header h1 {
width: 144px;
height: 60px;
}
}

@media all and (min-width:1000px){
header {
height: 120px;
padding: 0 15px;
}
header.mini {
height: 70px;
}
header .container {
display: flex;
align-items: flex-end;
justify-content: space-between;
width: 100%;
}
header h1 {
min-width: 240px;
max-width: 240px;
min-height: 100px;
max-height: 100px;
}
}

/* header mark-logo */

header h1 .mark-logo {
background: url("img/mark_logo-w.svg")center/100% auto no-repeat;
transition: .5s ease;
}
header h1 .mark-logo:hover {
filter:drop-shadow(0 0 4px rgba(255,255,255,.7));
}

@media screen and (max-width:999px){
header h1 .mark-logo {
width: 100%;
height: 100%;
}
}

@media all and (min-width:1000px){
header h1 .mark-logo {
width: 240px;
height: 100px;
}
}

/* sp menu-btn */

header .menu {
display: block;
width: 40px;
height: 40px;
position: fixed;
top:5px;
right:10px;
z-index: 99999999999999;
}
header .menu .menu-btn {
width: 100%;
height: 100%;
background: url("img/mark_menu-w.svg")center/95% auto no-repeat var(--color-main-strong);
border-radius: 100%;
border:none;
}
header .appear + .menu .menu-btn {
background: url("img/mark_close-w.svg")center/100% auto no-repeat var(--color-main-strong);
}

/* nav */

@media screen and (max-width:999px){
header nav {
display: flex;
justify-content: center;
align-items: center;
width: 0;
height: 0;
overflow: hidden;
position: fixed;
top:50%;
left:50%;
z-index: -1;
transform: translate(-50%,-50%);
transition: .5s ease;
}
header nav.appear {
width: 100%;
height: 100%;
background: rgba(255,255,255,.9);
z-index: 999999999999;
}
header nav .items {
display: flex;
flex-wrap: wrap;
width: 0;
max-width: 400px;
padding: 0;
border-radius: 6px;
opacity: 0;
}
header nav.appear .items {
animation: fademenu .7s linear forwards;
}
header nav .items > li {
width: 50%;
padding: 0 3px;
margin: 0 0 6px;
}
header nav .items a {
text-align: left;
border:1px solid;
border-radius: 6px;
padding: .5em .7em;
}

@keyframes fademenu {
0% {opacity: 0;width: 0;}
10% {opacity: 0;width: 95%;}
60% {opacity: 0;width: 95%;}
100% {opacity: 1;width: 95%;}
}
}

@media all and (min-width:1000px){
header nav .items {
display: flex;
align-items: center;
justify-content: flex-end;
}
header nav .items > li {
padding: 0 .2em;
}
header nav .items a {
padding: .2em 1em;
border-radius: 2em;
background: #FFF;
font-size: 110%;
font-weight: 600;
text-decoration: none;
transition: .5s ease;
}
header .items a:hover {
background: yellow;
}
}

/* hidden-box */

.hidden-box {
font-size: 1.5rem;
transition: .7s ease;
position: fixed;
}
#Contact {
left: 0;
bottom:-50%;
}
#Contact.appear {
bottom:0;
}
#ForInquiry {
right:-100%;
top:50%;
transform: translateY(-50%);
}
#ForInquiry.appear {
right:10px;
}

/* pankuzu */

.pankuzu .items {
display: flex;
align-items: center;
padding: 0 0 .5em;
border-bottom:1px dotted var(--color-main-strong);
}
.pankuzu .items > li:not(:last-of-type){
display: flex;
align-items: center;
margin: 0 .3em;
}
.pankuzu .items > li:not(:last-of-type)::after {
content:"-";
margin: 0 0 0 .4em;
}
.pankuzu .items a[class*="type"] {
display: flex;
}


@media screen and (max-width:999px){
.pankuzu {
padding: 20px 15px;
}
.pankuzu .items {
justify-content: center;
}
.pankuzu .items > li {
font-size: 90%;
}
.pankuzu .items a.type01 {
line-height: 170%;
padding: .1em .5em;
}
}

@media all and (min-width:1000px){
.pankuzu {
padding: 30px 0;
}
.pankuzu .items {
justify-content: flex-end;
}
.pankuzu .items > li {
font-size: 85%;
}
.pankuzu .items a.type01 {
line-height: 180%;
padding: .1em 1em;
}
}

/* pankuzu has-archive */


@media screen and (max-width:999px){
.pankuzu .has-archive > li {
height: 2.5em;
}
.pankuzu .has-archive .with-mark.type01 {
justify-content: center;
width: 2.5em;
height: 2.5em;
padding: 0;
}
.pankuzu .has-archive .with-mark::before {
width: 1.5em;
height: 1.5em;
margin: 0;
}
}

/* Contact */

#Contact {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 55px;
background: var(--color-sub);
z-index: 999;
}
#Contact .main {
display: flex;
align-items: center;
}

@media screen and (max-width:999px){
#Contact .main {
width: 100%;
justify-content: center;
padding: 0 10px;
}
#Contact .main > p {
padding: 0 .3em;
}
#Contact .main a {
display: flex;
align-items: center;
width: 40px;
height: 40px;
border-radius: 6px;
}
#Contact a.free-mark {
background: url("img/mark_free-g.svg")center/70% auto no-repeat #FFF;
}
#Contact a.link-mark {
background: url("img/mark_mail-g.svg")center/60% auto no-repeat #FFF;
}
}

@media all and (min-width:1000px){
#Contact .tel {
font-size: 230%;
font-weight: 900;
color:#000;
margin: 0 1.5em 0 0;
}
#Contact .with-mark.tel::before {
width: 1em;
height: 1em;
}
#Contact .main .link a {
font-size: 110%;
font-weight: 600;
text-decoration: none;
padding: .3em 1.5em;
border-radius: 2em;
background: #FFF;
}
}

/* Contact sub */

#Contact .sub {
display: block;
width: 87px;
height: 65px;
position: absolute;
bottom:5px;
right:5px;
}
#Contact .sub .link,
#Contact .sub .mark {
width: 100%;
height: 100%;
}
#Contact .sub .mark {
background: url("img/mark_faq-special.svg")center/98% auto no-repeat;
transition: .5s ease;
}
#Contact .sub .mark:hover {
filter:drop-shadow(0 0 6px #FFF);
}

/* main */

main {
line-height: 190%;
text-align: left;
padding: 0 0 3em;
}
.subpage h2 {
color:var(--color-main-strong);
font-weight: 900;
margin: 0 0 .4em;
}
.subpage h2 + .subtitle {
font-weight: 700;
}
.subpage h2 .sub {
padding: 0 0 0 .5em;
}

@media screen and (max-width:999px){
.subpage h2 {
font-size: 185%;
}
.subpage h2 .sub {
font-size: 70%;
}
.subpage h2 + .subtitle {
font-size: 120%;
}
}

@media all and (min-width:1000px){
.subpage h2 {
font-size: 240%;
}
.subpage h2 .sub {
font-size: 70%;
}
.subpage h2 + .subtitle {
font-size: 160%;
}
}

/* section MainImg */

#MainImg {
display: flex;
justify-content: center;
width: 100%;
background: url("img/back_main-w.svg")left 10% top 65%/auto 32% repeat-x,linear-gradient(to bottom,var(--color-main-light) 0,var(--color-main-light) 60%,#FFF 60%,#FFF 100%);
}
#MainImg .images {
display: flex;
justify-content: center;
}
#MainImg .anime .box {
position: relative;
}
#MainImg .images .text {
color:#FFF;
writing-mode:vertical-rl;
display: block;
padding: .5em .2em;
background: rgba(0,0,0,.9);
position: absolute;
left:50%;
transform: translateX(-50%);
}

@media screen and (max-width:999px){
#MainImg {
margin: 0 0 15px;
}
#MainImg .images {
flex-wrap: wrap;
width: 85%;
max-width: 400px;
overflow: hidden;
}
#MainImg .images .anime {
min-width: 50%;
max-width: 50%;
animation: main 1s linear forwards;
}
#MainImg .images .text {
font-size: 120%;
top:10px;
z-index: 5;
}
@keyframes main {
0% {transform: translateY(-200%);}
100% {transform: translateY(0);}
}
}

@media all and (min-width:1000px){
#MainImg {
margin: 0 0 30px;
}
#MainImg .images {
width: 80%;
max-width: 1260px;
}
#MainImg .images .anime {
min-width: 20%;
max-width: 20%;
aspect-ratio:124/289;
overflow: hidden;
}
#MainImg .anime .box {
display: block;
width: 100%;
height: 100%;
transform: translateY(-100%);
animation: main 1s linear forwards;
}
#MainImg .anime.step1 .box {
animation-delay: 1s;
}
#MainImg .anime.step2 .box {
animation-delay: 2s;
}
#MainImg .anime.step3 .box {
animation-delay: 3s;
}
#MainImg .images .text {
font-size: 130%;
top:20px;
}

@keyframes main {
0% {transform: translateY(-100%);}
100% {transform: translateY(0);}
}
}

/* section item */

main section.item {
margin: 0 0 6em;
}
.subpage section.item.intro {
margin: 0 0 2em;
}
.error-page section.item.intro {
padding: 7em 0 0;
}

@media screen and (max-width:999px) and (orientation:portrait){
main section.item .container {
margin: 0 15px;
}
}

@media screen and (max-width:999px) and (orientation:landscape){
main section.item .container {
max-width: 400px;
margin: 0 auto;
}
}

@media all and (min-width:1000px){
main section.item .container,
.pankuzu .items {
width: 80%;
max-width: 1260px;
margin: 0 auto;
}
main section.item a.type01 {
font-size: 125%;
}
}

/* Top cont-head */

#Top .intro .cont-head {
display: flex;
justify-content: center;
}
#Top .intro .cont-head .illust {
display: block;
}
#Top .intro .cont-head .read h2 {
height: 0;
padding-top: 30.5%;
}

@media screen and (max-width:999px){
#Top .intro .cont-head {
flex-direction: column-reverse;
}
#Top .intro .cont-head .illust {
width: 100px;
margin: 0 auto;
}
#Top .intro .cont-head .read {
margin: 0 0 1em;
}
#Top .intro .cont-head .read h2 {
width: 100%;
background:url("img/img_text01-sp.jpg")center/100% auto no-repeat; 
margin: 0 0 .5em;
}
}

@media all and (min-width:1000px){
#Top .intro .cont-head {
width: 85%;
margin: 0 auto;
}
#Top .intro .cont-head .illust {
width: 16%;
}
#Top .intro .cont-head .read {
width: calc(100% - 16%);
margin: 0 auto;
padding: 0 0 0 2em;
}
#Top .intro .cont-head .read h2 {
width: 90.2%;
max-width: 650px;
background:url("img/img_text01-pc.jpg")center/100% auto no-repeat; 
}
#Top .intro .cont-head h2 + p {
font-size: 120%;
padding: .5em 0 0;
}
}

/* Top cont cont-head */

#Top .cont .cont-head h2,
#BlogList .cont-head h2{
font-weight: 900;
margin: 0 0 .5em;
}

@media screen and (max-width:999px){
#Top .cont .cont-head.with-link {
margin: 0 0 1em;
}
#Top .cont .cont-head h2 {
font-size: 180%;
}
}

@media all and (min-width:1000px){
#Top .cont .cont-head.with-link {
display: flex;
justify-content: space-between;
align-items: flex-end;
}
#Top .cont .cont-head.with-link .main {
margin: 0 4em 0 0;
}
#Top .cont .cont-head {
margin: 0 0 30px;
}
#Top .cont .cont-head h2 {
font-size: 240%;
}
}

/* BlogList */

#BlogList {
padding: 2em 0;
background: var(--color-main-pale);
}

@media screen and (max-width:999px){
#BlogList .container {}
#BlogList h2.with-mark {
flex-direction: column;
justify-content: center;
}
}

@media all and (min-width:1000px){
#BlogList .container {
 width: 70%;
 margin: 0 auto;
}
#BlogList h2.with-mark {
justify-content: center;
}
}

/* BlogList content */

@media all and (max-width:999px){
#BlogList .content {
margin: .5em 0 0;
}
}

@media screen and (min-width:1000px){
#BlogList .content {
margin: -1.5em 0 0;
}
}

/* BlogList list-box */

#BlogList .button-box {
text-align: right;
padding: .7em 0 0;
}
#BlogList .button-box a {
color:#FFF;
display: inline-block;
padding: .4em 1.5em;
border-radius: 2em;
background: var(--color-main-strong);
transition: .5s ease;
}
#BlogList .button-box a:hover {
background: var(--color-sub);
}

/* BlogList list-box items */

#BlogList .list-box,
#BlogList .list-box .items {
width: 100%;
}
#BlogList .list-box {
padding: 15px;
background: rgba(255,255,255,1);
border:1px solid var(--color-main-strong);
border-radius: 8px;
}
#BlogList .list-box h3 {
font-size: 110%;
color:#FFF;
padding: .5em 1.2em;
margin: -15px -15px 15px;
background: var(--color-main-strong);
border-radius: 7px 7px 0 0;
}
#BlogList .list-box .items {
height: 12em;
padding: 0 15px 0 0;
overflow-y: auto;
overflow-x: hidden;
}
#BlogList .list-box .items > li {
padding: 0 0 .5em;
margin: 0 0 .5em;
border-bottom:1px dotted var(--color-main-strong);
}

@media screen and (max-width:999px){
#BlogList .list-box {
padding: 10px;
}
#BlogList .list-box h3 {
margin: -10px -10px 10px;
}
#BlogList .list-box a {
text-decoration: none;
}
#BlogList .list-box a .article-title {
text-decoration: underline;
}
#BlogList .list-box .text > span {
display: block;
}
}

/* WorksList */

#WorksList > li {
margin: 0 0 1em;
padding: 1em;
border:1px solid var(--color-main-strong);
border-radius: 8px;
}
#WorksList h3 {
font-size: 130%;
font-weight: 900;
margin: 0 0 .5em;
}

@media screen and (max-width:999px){
#WorksList .photo {
display: block;
width: 100%;
max-width: 200px;
margin: 0 auto 1em;
}
#WorksList h3 {
text-align: center;
}
#WorksList + .button {
display: flex;
justify-content: center;
}
}

@media all and (min-width:1000px){
#WorksList {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
#WorksList > li {
display: flex;
width: 49%;
}
#WorksList .photo {
width: 40%;
background: #EEE;
}
#WorksList .read {
width: 60%;
padding: 0 0 0 1em;
}
}

/* Reasons */

#Reasons {
padding: 1.5em 0 0;
}
#Reasons > li {
padding: 25px 1em 1em;
border-radius: 6px;
box-shadow: 3px 3px 0 #CCC;
background: var(--color-main-pale);
position: relative;
counter-increment: reasons;
}
#Reasons > li::before {
content:counter(reasons);
display: flex;
justify-content: center;
align-items: center;
font-size: 160%;
font-weight: 900;
color:#FFF;
width: 1.6em;
height: 1.6em;
border-radius: 6px;
background: var(--color-sub);
position: absolute;
top:-.8em;
left:50%;
transform: translateX(-50%);
}
#Reasons h3 {
font-size: 140%;
font-weight: 900;
color:var(--color-main-strong);
text-align: center;
margin: 0 0 .5em;
}

@media screen and (max-width:999px){
#Reasons > li {
margin: 0 0 30px;
}
}

@media all and (min-width:1000px){
#Reasons {
display: flex;
}
#Reasons > li {
width: 24%;
margin: 0 .5%;
}
}

/* Area */

#Area {
display: flex;
align-items: center;
}
#Area .photo {
display: block;
background: #EEE;
margin: 0 1em 0 0;
}
#Area .area-title {
font-size: 115%;
margin: 0 0 .3em;
}
#Area .items > li::before {
content:"・";
}

/* area-box */

.area-box {
padding: .5em 0 0;
}
.area-box .area-title::before {
content:"【";
}
.area-box .area-title::after {
content:"】";
}
.area-box .items > li {
padding: 0 .4em 0 0;
}

@media screen and (max-width:999px){
.area-box {
text-align: center;
}
.area-box .items {
display: flex;
align-items: center;
}
}

@media all and (min-width:1000px){
.area-box,
.area-box .items {
display: flex;
align-items: center;
}
}

/* dl.data-list */

.data-list {
font-size: 105%;
}
.data-list > * {
display: block;
}
.data-list > dt {
color:var(--color-main-strong);
}
.data-list > dt::before {
content:"■";
}

@media screen and (max-width:999px){
.data-list > dt {
padding: .2em .5em;
background: #E8F0D9;
}
.data-list > dd {
padding: .5em 0 .8em;
}
.data-list .tel,
.data-list .fax,
.data-list .time {
display: block;
}
}

@media all and (min-width:1000px){
.data-list {
display: flex;
flex-wrap: wrap;
}
.data-list > * {
padding: 1em 0;
border-bottom:1px solid #CCC;
}
.data-list > dt {
width: 12em;
}
.data-list > dd {
width:calc(100% - 12em);
}
}

/* data-list item-child */

.data-list dl.child > dt {}

@media screen and (max-width:999px){
.data-list dl.child > dt {}
.data-list dl.child > dd {}
}

@media all and (min-width:1000px){
.data-list dl.child {}
.data-list dl.child > * {}
.data-list dl.child > dt {}
.data-list dl.child > dd {}
.data-list dl.child > dt:nth-of-type(odd),
.data-list dl.child > dd:nth-of-type(odd) {}
}

/* data-list ul.items */

.data-list ul.items > li {
padding: .2em .5em;
}
.data-list ul.items > li::before {
content:"・";
}

@media screen and (max-width:999px){
.data-list ul.items > li {}
}

@media all and (min-width:1000px){
.data-list ul.items > li {}
}

/* Flow */

#Flow {
counter-reset: flow;
}
#Flow > li {
counter-increment: flow;
}
#Flow > li:not(:last-of-type){
padding: 0 0 40px;
}
#Flow .box {
padding: 1em;
border:1px solid var(--color-main-strong);
border-radius: 6px;
background: #FFF;
}
#Flow h3 {
font-size: 140%;
font-weight: 900;
display: flex;
align-items: center;
padding: 0 0 .5em;
margin: 0 0 .5em;
border-bottom:1px dotted var(--color-main-strong);
}
#Flow h3::before {
content:counter(flow);
font-size: 80%;
color:#FFF;
display: flex;
justify-content: center;
align-items: center;
min-width: 1.4em;
max-width: 1.4em;
min-height: 1.4em;
max-height: 1.4em;
background: var(--color-main-strong);
border-radius: 2em;
margin: 0 .3em 0 0;
}
#Flow .box .photo {
display: block;
background: #CCC;
}

@media screen and (max-width:999px){
#Flow > li:not(:last-of-type){
background: url("img/mark_arrow-d-g.svg")center bottom 5px/auto 30px no-repeat;
}
#Flow .box .photo {
width: 100%;
max-width: 250px;
margin: 0 auto;
}
#Flow .box p {
margin: 0 0 .5em;
}
}

@media all and (min-width:1000px){
#Flow > li:not(:last-of-type){
background: url("img/mark_arrow-d-g.svg")left 15px bottom 5px/auto 30px no-repeat;
}
#Flow .box .read {
display: flex;
justify-content:flex-end;
flex-direction: row-reverse;
}
#Flow .box .photo {
width: 15%;
}
#Flow .box p {
width: 85%;
padding: 0 0 0 2em;
}
}

/* FAQList */

#FAQList > li {
padding: 0 0 1.5em;
margin: 0 0 1.5em;
border-bottom:1px dotted var(--color-main-strong);
}
#FAQList .question {
display: flex;
align-items: center;
font-size: 130%;
font-weight: 700;
}
#FAQList .question::before {
content:"Q";
display: flex;
justify-content: center;
align-items: center;
font-size: 90%;
color:#FFF;
min-width: 1.5em;
max-width: 1.5em;
min-height: 1.5em;
max-height: 1.5em;
margin: 0 .3em 0 0;
background: var(--color-main-strong);
border-radius: 6px;
}
#FAQList .answer {
display: flex;
padding: 1em 0 0 0;
}
#FAQList .answer::before {
content:"A";
display: flex;
justify-content: center;
align-items: center;
font-size: 117%;
font-weight: 700;
color:#FFF;
width: 1.5em;
height: 1.5em;
background: red;
border-radius: 6px;
}
#FAQList .answer p {
width: calc(100% - 1.5em);
padding: 0 0 0 .5em;
}

/* Privacy */

#Privacy > li {
padding: 0 0 1.5em;
margin: 0 0 1.5em;
border-bottom:1px dotted;
}
#Privacy h3 {
font-weight: 900;
color:var(--color-main-strong);
margin: 0 0 .3em;
}
#Privacy h3 + .read {
padding: 0 0 0 .5em;
}

/* Inquiry */

#Inquiry em {
color:red;
}
#Inquiry dl.items {
margin: 0 0 2em;
}
#Inquiry dl.items > dt {
color:var(--color-main-strong);
}
#Inquiry dl.items > dt::before {
content:"■";
}
#Inquiry dl.items .input {
display: block;
font-size: 105%;
padding: .5em;
border:1px solid #CCC;
}
#Inquiry dl.items textarea {
height: 10em;
}
#Inquiry dl.items input:placeholder-shown{
color:#555;
}

@media screen and (max-width:999px){
#Inquiry dl.items .input {
padding: .8em;
}
#Inquiry dl.items > dd {
padding: 0 0 1em;
margin: 0 0 1em;
border-bottom: 1px dotted var(--color-main-strong);
}
#Inquiry dl.items input[type="text"],
#Inquiry dl.items input[type="tel"],
#Inquiry dl.items input[type="email"],
#Inquiry dl.items textarea {
width: 100%;
}
}

@media all and (min-width:1000px){
#Inquiry dl.items {
display: flex;
flex-wrap: wrap;
}
#Inquiry dl.items > dt {
width:15em;
padding: 1em;
}
#Inquiry dl.items > dd {
width: calc(100% - 15em);
padding: 1em 0 1em 1em;
}
#Inquiry dl.items > dt,
#Inquiry dl.items > dd {
border-bottom:1px dotted var(--color-main-strong);
}
#Inquiry dl.items input[type="text"],
#Inquiry dl.items input[type="tel"],
#Inquiry dl.items input[type="email"],
#Inquiry dl.items textarea {
width: 65%;
}
}

/* controller */

.controller button {
font-weight: 700;
color:#FFF;
background: var(--color-main-strong);
border-radius: 2em;
border:none;
cursor: pointer;
transition: .5s ease;
}
.controller button:hover {
opacity: .7;
} 
.controller .back {
background: #555;
}

@media screen and (max-width:999px){
.controller {
display: flex;
justify-content: center;
align-items: center;
}
.controller button {
font-size: 120%;
padding: .6em 1.5em;
margin: 0 2px;
}
}

@media all and (min-width:1000px){
.controller button {
font-size: 125%;
padding: .6em 2em;
}
}

/* InquiryForm */

#InquiryForm {
position: relative;
}
.write-box,
.conf-box {
display: none;
}
.write-box.appear,
.conf-box.appear {
display: block;
}

/* loading */

.loading {
display: flex;
justify-content: center;
align-items: center;
width: 0;
height: 0;
overflow: hidden;
position: fixed;
top:0;
left: 0;
background: yellow;
}
.loading.appear {
width: 100%;
height: 100%;
background: rgba(255,255,255,.6);
}
.loading .mark {
display: block;
width: 70px;
height: 70px;
background: url("img/mark_loading-g.svg")center/100% auto no-repeat;
transform: rotate(0deg);
}
.loading.appear .mark {
animation: loading 2s linear infinite;
}

@keyframes loading {
0% {transform: rotate(0deg);}
100% {transform: rotate(360deg);}
}

/* error */

.error .input {
border:1px solid red;
background: lightpink;
}
.error::after {
display: block;
font-size: 90%;
color:red;
padding: .5em 0;
}
.error.match::after {
content:"※メールアドレスとメールアドレス（確認）が一致していません。";
}
.error.validate::after {
content:"※使用できない文字を使用するなど、入力形式に問題があります。";
}
.error.empty::after {
content:"※必須項目を記入してください。";
}

/* Result */

#Result .cont .link {
padding: 1em 0 0;
}

@media screen and (max-width:999px){
#Result .cont .link {
display: flex;
justify-content: center;
}
#Result .cont .link a {
display: inline-flex;
min-width: 13em;
padding: .5em 1em;
margin: 0 .2em .5em;
border:1px solid;
border-radius: 6px;
}
}

@media screen and (max-width:999px) and (orientation:portrait){
#Result .cont .link {
flex-direction: column;
}
#Result .cont .link a {
max-width: 13em;
margin: 0 auto .5em;
}
}

@media all and (min-width:1000px){
#Result .cont .link {
display: flex;
align-items: center;
padding: 1em 0 0;
}
#Result .cont .link a:last-of-type {
margin: 0 1.5em;
}
}

/* footer */

footer {
width: 100%;
}
footer .textlink {
border-top:1px dotted var(--color-main-strong);
}
footer .textlink .items {
display: flex;
justify-content: center;
align-items: center;
}
footer > p.copyright {
display: flex;
justify-content: center;
align-items: center;
background: var(--color-main-strong);
font-size: 1.3rem;
color: #FFF;
padding: 1em 0 calc(60px + 1em);
}


@media screen and (max-width:999px){
footer .textlink .items {
flex-wrap: wrap;
max-width: 400px;
padding: 1em 10px;
margin: 0 auto;
}
footer .textlink .items > li {
width: 50%;
padding: 0 2.5px 7px;
}
footer .textlink .items a {
justify-content: center;
width: 100%;
height: 2.5em;
border:1px solid;
border-radius: 6px;
}
}

@media all and (min-width:1000px){
footer .textlink .items {
padding: 1em 0 2em;
}
footer .textlink .items > li {
padding: 0 1em;
}

}

/* footer info */

footer .info {
display: flex;
justify-content: center;
align-items: center;
padding: 100px 1em 1em 1em;
background: url("img/back_main-g.svg")top center/auto 100px repeat-x,linear-gradient(to bottom,#FFF 0,#FFF 50px,var(--color-main-strong) 50px,var(--color-main-strong) 100%);
}
footer .info .logo .mark {
width: 144px;
height: 60px;
background: url("img/mark_logo-w.svg")center/100% auto no-repeat;
}

@media screen and (max-width:999px){
footer .info {
flex-direction: column;
}
footer .info .logo {
margin: 0 0 1em;
}
}

/* footer info data */

footer .info .data {
color:#FFF;
text-align: left;
}
footer .info .shop-info {
display: flex;
align-items: center;
}
footer .info .with-mark.tel {
font-size: 130%;
display: inline-flex;
margin: 0 .4em 0 0;
}
footer .info a {
color:#FFF;
}

@media screen and (max-width:999px){
footer .info .data {
text-align: center;
}
footer .info .shop-info {
justify-content: center;
}
}

@media all and (min-width:1000px){
footer .info .data {
text-align: left;
padding: 0 0 0 2em;
}
}