@charset "UTF-8";
/* CSS Document */

.header {
background: #000;
}
.tc {
display: table;
margin: 0 auto;
}
.btn2,.btn3 {
display: table;
border-radius: 8px;
text-align: center;
margin: 0 auto;
transition: .6s;
}
.btn2 {
border: 1px solid #fff;
background: #fff;
color: #000;
}
.btn3 {
border: 1px solid #44c408;
background: #44c408;
color: #fff;
}
.box{
width: 90%;
max-width: 1160px;
margin: 0 auto;
}
#main{
background: #111;
}
.hero-item {
position: relative;
}
.hero-item h1 {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
max-width: 960px;
width: 80%;
font-family: 'Work Sans', sans-serif;
font-weight: 500;
}
.hero-item h1 span{
display: block;
color: rgba(255,255,255,.6);
}
h2.s-h2 span{
display: block;
text-align: left;
color: rgba(255,255,255,.3);
}
h2.w-h2 span{
display: block;
text-align: left;
color: rgba(255,255,255,.3);
}
h3.s-h3{
font-weight: 500;
padding-bottom: 15px;
}
/*--------------------
#about
--------------------*/
#copy {
font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
#copy h2 {
display: table;
margin: 0 auto;
}
#copy p {
display: table;
margin: 0 auto;
border-bottom: 4px solid #666;
max-width: 800px;
line-height: 200%;
}
#about table{
width: 100%;
margin-bottom: 30px;
}
#about table th{
border-bottom: solid 1px #D1D1D1;
text-align: center;
}
#about table th:first-of-type{
border-top: solid 1px #D1D1D1;
}
#about table td{
border-bottom: solid 1px #D1D1D1;
}
#about table td:first-of-type{
border-top: solid 1px #D1D1D1;
}	
/*--------------------
#bridal
--------------------*/
ul.flex3{
display: flex;
}
ul.flex3 li{
width: 30%;
padding-right: 5%;
}
ul.flex3 li:nth-of-type(3n){
padding-right: 0;
}
ul.flex3 li p{
text-align: center;
}
/*--------------------
.makeset
--------------------*/
.makeset table{
width: 100%;
}
.makeset table th{
border-bottom: solid 1px #D1D1D1;
vertical-align: middle;
}
.makeset table th:first-of-type{
border-top: solid 1px #D1D1D1;
}
.makeset table td{
border-bottom: solid 1px #D1D1D1;
vertical-align: middle;
}
.makeset table td:first-of-type{
border-top: solid 1px #D1D1D1;
}
/*--------------------
#online
--------------------*/
ul.flex2{
display: flex;
}
ul.flex2 li{
width: 45%;
padding-right: 5%;
}
ul.flex2 li:nth-of-type(3n){
padding-left: 0;
}
ul.flex2 li p{
text-align: center;
}
#online .flow dd span {
display: block;
font-size: 0.9em;
color: #FF0004;
}
#online .flow dd a {
text-decoration: underline;
}
#online .flow dd span a {
color: #FF0004;
}
/*--------------------
#info-list
--------------------*/
#info-list ul li a{
display: block;
position: relative;
}
#info-list ul li:first-of-type:before{
content: "";
display: block;
width: 100%;
height: 1px;
background: linear-gradient(to right,#141414,#666 15%,#141414);
}
#info-list ul li:after{
content: "";
display: block;
width: 100%;
height: 1px;
background: linear-gradient(to right,#141414,#666 15%,#141414);
}
#info-list ul li time{
color: #999;
}
/*--------------------
#info-page
--------------------*/
#info-page h3 time{
display: block;
text-align: left;
color: rgba(255,255,255,.3);
}
#info-page h3:after{
content: "";
display: block;
width: 100%;
height: 1px;
background: linear-gradient(to right,#141414,#666 0%,#141414);
}
/*--------------------
contact
--------------------*/
button,
input[type="submit"] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
padding: 0;
border: none;
outline: none;
background: transparent;
}
select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: none;
outline: none;
background: transparent;
}
.Form {
margin:  0px auto;
}
.Form-Item {
display: flex;
align-items: center;
}
#contact .soy_iqnuiry_responsive dt {
font-weight: bold;
}
.Form-Item-Label.isMsg {
margin: 8px 0 auto;
}
#contact .soy_iqnuiry_responsive dt span{
display: inline-block;
text-align: center;
background: #ccc;
color: #fff;
}
#contact .soy_iqnuiry_responsive dd input.textbox{
display: block;
border: 1px solid #ddd;
background: #eaedf2;
}
#contact .soy_iqnuiry_responsive dd select {
background: #fff;
color: #111;
}
#contact .soy_iqnuiry_responsive dd textarea {
border: 1px solid #ddd;
background: #eaedf2;
}
#contact .soy_iqnuiry_responsive dd a {
text-decoration: underline;
}
#contact form > div:last-of-type p input {
display: block;
background: #fff;
color: #111;
font-weight: bold;
margin: 0 auto;
}

#policy ol {
border-top: 1px solid #ececec;
border-bottom: 1px solid #ececec;
}
#policy ol li {
font-weight: bold;
margin-left: 30px;
}
p.name {
text-align: right;
margin-bottom: 20px;
}
#policy dl dd:nth-last-child(1) {
padding-bottom: 0;
}

@media (max-width: 559px){
.btn2,.btn3 {
font-size: 1.6rem;
padding: 4px 10px;
}
.btn3 {
margin: 0 auto 30px;
}
.box{
padding: 40px 0 50px;
}
section{
padding-bottom: 40px;
}
.hero-item {
margin-top: 40px;
}
.hero-item h1 {
padding: 15vh 0;
font-size: 2.4rem;
letter-spacing: 0.1em;
}
.hero-item h1 span{
font-size: 1.4rem;
}
h2.s-h2{
font-size: 2rem;
font-weight: 500;
letter-spacing: .1em;
padding-bottom: 20px;
}
h2.s-h2 span{
font-size: 1.2rem;
letter-spacing: .05em;
}
h2.w-h2{
font-size: 2.8rem;
font-weight: 500;
letter-spacing: .1em;
padding-bottom: 40px;
}
h2.w-h2 span{
font-size: 1.2rem;
letter-spacing: .05em;
}
h3.s-h3{
font-size: 1.6rem;
}
/*--------------------
#about
--------------------*/
#copy p {
padding-bottom: 8px;
margin-bottom: 12px;
}
#copy p br {
display: none;
}
#about table{
font-size: 1.4rem;
}
#about table th, #about table td{
width: 100%;
display: block;
}
#about table th {
padding: 8px 0;
background: #fff;
color: #000;
}
#about table td{
border-bottom:none;
padding: 8px 0 30px;
}
#about table td:first-of-type{
border-top:none;
}
#about table td span {
display: table;
margin: 0 auto;
}
#maps iframe {
height: 50vh;
margin-bottom: 20px;
}
/*--------------------
#bridal
--------------------*/
#bridal section > p{
font-size: 1.4rem;
padding-bottom: 20px;
}
ul.flex3 li p{
padding-top: 10px;
font-size: 1.2rem;
}
/*--------------------
.makeset
--------------------*/
.makeset table {
margin-bottom: 30px;
}
.makeset table caption{
font-size: 1.6rem;
font-weight: 600;
padding-bottom: 10px;
}
.makeset table{
font-size: 1.4rem;
}
.makeset table th{
height: 50px;
width: 65%;
padding: 10px 10px;
}
.makeset table td{
height: 50px;
width: 35%;
padding: 10px 5px;
}
/*--------------------
#online
--------------------*/
#online > p{
font-size: 1.4rem;
padding-bottom: 20px;
}
ul.flex2{
padding-bottom: 60px;
}
ul.flex2 li p{
padding-top: 10px;
font-size: 1.2rem;
}
#online .flex3 {
padding-bottom: 20px;
}
#online .flow dt{
font-weight: 500;
font-size: 1.8rem;
padding-bottom: 10px;
}
#online .flow dd{
padding-bottom: 30px;
}
#online .flow dd.flex2 img{
padding-bottom: 30px;
}
/*--------------------
#info-list
--------------------*/
#info-list{
padding-top: 70px;
}
#info-list ul li a{
letter-spacing: 0.1em;
}
#info-list ul li a:after{
position: absolute;
top: 0;
left: 0;
content: "";
display: block;
width: 100%;
height: 100%;
background: linear-gradient(to right,#141414,#666 15%,#141414);
opacity: 0;
transition: opacity .3s ease-out;
}
#info-list ul li a:hover:after{
opacity: 0.2;
}
#info-list ul li time{
display: block;
vertical-align: top;
padding: 16px 0 10px 10px;
font-size: 1.2rem;
width: 150px;
}
#info-list ul li p{
display: inline-block;
padding: 0px 10px 16px 20px;
font-size: 1.4rem;
}
/*--------------------
#info-page
--------------------*/
#info-page{
padding-top: 70px;
}
#info-page h3{
font-size: 2rem;
font-weight: 500;
letter-spacing: .1em;
padding-bottom: 20px;
}
#info-page h3 time{
font-size: 1.2rem;
letter-spacing: .5em;
padding: 5px 0 12px;
}
#info-page p{
font-size: 1.4rem;
line-height: 1.5em;
padding: 0 10px 15px;
}
/*--------------------
contact
--------------------*/
#contact .soy_inquiry_message {
padding-bottom: 30px;
font-size: 1.4rem;
}
#contact .soy_iqnuiry_responsive dt{
width: 100%;
letter-spacing: 0.05em;
font-size: 1.4rem;
padding-bottom: 10px;
}
#contact .soy_iqnuiry_responsive dt span{
border-radius: 6px;
margin-left: 8px;
padding: 5px 10px;
font-size: 1.2rem;
}
#contact .soy_iqnuiry_responsive dd{
margin-bottom: 30px;
}
#contact .soy_iqnuiry_responsive dd input.textbox{
border-radius: 6px;
padding: 10px 5%;
flex: 1;
width: 90%;
max-width: 410px;
font-size: 1.6rem;
}
#contact .soy_iqnuiry_responsive dd select {
padding: 7px;
font-size: 1.6rem;
border-radius: 6px;
}	
#contact .soy_iqnuiry_responsive dd textarea {
border-radius: 6px;
padding: 10px 5%;
flex: 1;
width: 90%;
font-size: 1.6rem;
}
#contact form > div:last-of-type p input {
border-radius: 6px;
margin: 32px auto 0;
padding: 10px 0;
width: 200px;
letter-spacing: 0.05em;
font-size: 1.8rem;
}

#policy ol li {
font-size: 1.4rem;
}
#policy dl dt, #faq dl dt {
font-size: 1.4rem;
padding-bottom: 6px;
}
#policy dl dd, #faq dl dd {
font-size: 1.2rem;
padding-bottom: 24px;
}
#policy dl dd a {
margin: 10px auto 0;
width: 80%;
}
}

@media (min-width: 560px){
.btn2,.btn3 {
font-size: 20px;
font-size: 2rem;
padding: 8px 20px;
}
.btn3 {
margin: 0 auto 40px;
}
h3.s-h3{
font-size: 20px;
font-size: 2rem;
}
#copy p {
text-align: center;
}
#maps {
display: flex;
}
#maps iframe {
width: 33.3333%;
min-height: 100%;
}
#maps img {
width: 66.6666%;
}
	
#online .flex3 {
padding-bottom: 30px;
}
#online .flow dt{
font-weight: 500;
font-size: 2.2rem;
padding-bottom: 10px;
}
#online .flow dd{
padding-bottom: 50px;
padding-left: 1.0em;
}
#online .flow dd.flex2 img{
float: left;
width: 30%;
padding-right: 30px;
}
#online .flow dd.flex2:after {
content: "";
display: block;
clear: both;
}
	
.makeset table {
margin-bottom: 40px;
}

#policy dl dd a {
margin: 20px auto 0;
width: 300px;
}
}

@media (min-width: 560px) and (max-width: 959px){
.box{
padding: 70px 0;
}
section{
padding-bottom: 70px;
}
.hero-item h1 {
padding: 20vh 0;
font-size: 3.8rem;
letter-spacing: 0.1em;
}
.hero-item h1 span {
font-size: 1.4rem;
}
h2.s-h2{
font-size: 2.8rem;
font-weight: 500;
letter-spacing: .1em;
padding-bottom: 20px;
}
h2.s-h2 span{
font-size: 1.2rem;
letter-spacing: .05em;
}
h2.w-h2{
font-size: 2.8rem;
font-weight: 500;
letter-spacing: .1em;
padding-bottom: 50px;
}
h2.w-h2 span{
font-size: 1.2rem;
letter-spacing: .05em;
}
/*--------------------
#about
--------------------*/
#copy p {
padding-bottom: 12px;
margin-bottom: 20px;
}
#about table th{
width: 30%;
padding: 20px 20px;
}
#about table td{
width: 70%;
padding: 20px 5px;
}
/*--------------------
#bridal
--------------------*/
#bridal section > p{
padding-bottom: 20px;
}
ul.flex3 li p{
padding-top: 10px;
}
/*--------------------
.makeset
--------------------*/
.makeset table caption{
font-size: 2rem;
font-weight: 600;
padding-bottom: 20px;
}
.makeset table th{
height: 50px;
width: 80%;
padding: 10px 20px;
}
.makeset table td{
height: 50px;
width: 20%;
padding: 10px 5px;
}
/*--------------------
#online
--------------------*/
#online > p{
padding-bottom: 20px;
}
ul.flex2{
padding-bottom: 60px;
}
ul.flex2 li p{
padding-top: 10px;
}
/*--------------------
#info-list
--------------------*/
#info-list{
padding-top: 120px;
}
#info-list ul li a{
letter-spacing: 0.1em;
display: flex;
}
#info-list ul li a:after{
position: absolute;
top: 0;
left: 0;
content: "";
display: block;
width: 100%;
height: 100%;
background: linear-gradient(to right,#141414,#666 15%,#141414);
opacity: 0;
transition: opacity .3s ease-out;
}
#info-list ul li a:hover:after{
opacity: 0.2;
}
#info-list ul li time{
display: block;
vertical-align: top;
padding: 26px 0 26px 50px;
font-size: 1.2rem;
width: 25%;
}
#info-list ul li p{
display: block;
padding: 26px 50px 26px 0;
font-size: 1.4rem;
width: 75%;
}
/*--------------------
#info-page
--------------------*/
#info-page{
padding-top: 120px;
}
#info-page h3{
font-size: 2.8rem;
font-weight: 500;
letter-spacing: .1em;
padding-bottom: 30px;
}
#info-page h3 time{
font-size: 1.2rem;
letter-spacing: .05em;
padding: 10px 0
}
#info-page p{
font-size: 1.6rem;
line-height: 1.5em;
padding-bottom: 20px;
}
/*--------------------
contact
--------------------*/
#contact .soy_inquiry_message {
padding-bottom: 40px;
}
#contact .soy_iqnuiry_responsive dt{
width: 30%;
max-width: 248px;
letter-spacing: 0.05em;
font-size: 1.8rem;
margin-bottom: 48px;
display: inline-block;
vertical-align: top;
}
.Form-Item-Label.isMsg {
margin: 8px 0 auto;
}
#contact .soy_iqnuiry_responsive dt span{
border-radius: 6px;
margin-left: 8px;
padding: 5px 10px;
font-size: 1.4rem;
}
#contact .soy_iqnuiry_responsive dd{
display: inline-block;
width: 60%;
margin-left: 30px;
}
#contact .soy_iqnuiry_responsive dd input.textbox{
margin-bottom: 48px;
border-radius: 6px;
padding-left: 1em;
padding-right: 1em;
height: 48px;
flex: 1;
width: 100%;
max-width: 410px;
font-size: 1.8rem;
}
#contact .soy_iqnuiry_responsive dd select {
padding: 10px;
font-size: 1.6rem;
border-radius: 6px;
margin-right: 5px;
}
#contact .soy_iqnuiry_responsive dd textarea {
border-radius: 6px;
padding-left: 1em;
padding-right: 1em;
flex: 1;
width: 100%;
max-width: 410px;
font-size: 1.8rem;
}
#contact form > div:last-of-type p input {
border-radius: 6px;
margin: 32px auto 0;
padding: 10px 0;
width: 280px;
letter-spacing: 0.05em;
font-size: 2rem;
}

#policy dl dt, #faq dl dt {
font-size: 1.6rem;
padding-bottom: 8px;
}
#policy dl dd, #faq dl dd {
font-size: 1.3rem;
padding-bottom: 30px;
}
}

@media (max-width: 959px){
#policy ol {
padding: 12px 0;
margin-bottom: 12px;
}
}

@media (min-width: 960px){
a.btn2:hover {
background: #000;
}
a.btn3:hover {
background: #fff;
color: #44c408;
}
.box{
padding: 100px 0;
}
section{
padding-bottom: 100px;
}
.hero-item h1 {
padding: 35vh 0;
font-size: 38px;
font-size: 3.8rem;
letter-spacing: 0.1em;
}
.hero-item h1 span{
font-size: 14px;
font-size: 1.4rem;
}
h2.s-h2{
font-size: 28px;
font-size: 2.8rem;
font-weight: 500;
letter-spacing: .1em;
padding-bottom: 20px;
}
h2.s-h2 span{
font-size: 12px;
font-size: 1.2rem;
letter-spacing: .05em;
}
h2.w-h2{
font-size: 28px;
font-size: 2.8rem;
font-weight: 500;
letter-spacing: .1em;
padding-bottom: 50px;
}
h2.w-h2 span{
font-size: 12px;
font-size: 1.2rem;
letter-spacing: .05em;
}

/*--------------------
#about
--------------------*/
#copy p {
padding-bottom: 16px;
margin-bottom: 30px;
}
#about table th{
width: 20%;
padding: 30px 50px;
}
#about table td{
width: 80%;
padding: 30px 5px;
}
/*--------------------
#bridal
--------------------*/
#bridal section > p{
padding-bottom: 20px;
}
ul.flex3 li p{
padding-top: 10px;
}
/*--------------------
.makeset
--------------------*/
.makeset table caption{
font-size: 16px;
font-size: 1.6rem;
font-weight: 600;
padding: 0 0 10px 20px;
}
.makeset table th{
height: 50px;
width: 80%;
padding: 20px 20px;
}
.makeset table td{
height: 50px;
width: 20%;
padding: 20px 5px;
}
/*--------------------
#online
--------------------*/
#online > p{
padding-bottom: 20px;
}
ul.flex2{
padding-bottom: 60px;
}
ul.flex2 li p{
padding-top: 10px;
}
/*--------------------
#info-list
--------------------*/
#info-list{
padding-top: 150px;
}
#info-list ul li a{
letter-spacing: 0.1em;
}
#info-list ul li a:after{
position: absolute;
top: 0;
left: 0;
content: "";
display: block;
width: 100%;
height: 100%;
background: linear-gradient(to right,#141414,#666 15%,#141414);
opacity: 0;
transition: opacity .3s ease-out;
}
#info-list ul li a:hover:after{
opacity: 0.2;
}
#info-list ul li time{
display: inline-block;
vertical-align: top;
padding: 36px 0 36px 150px;
font-size: 12px;
font-size: 1.2rem;
width: 150px;
}
#info-list ul li p{
display: inline-block;
padding: 36px 150px 36px 0;
font-size: 14px;
font-size: 1.4rem;
width: 460px;
}
/*--------------------
#info-page
--------------------*/
#info-page{
padding-top: 150px;
}
#info-page h3{
font-size: 28px;
font-size: 2.8rem;
font-weight: 500;
letter-spacing: .1em;
padding-bottom: 50px;
}
#info-page h3 time{
font-size: 12px;
font-size: 1.2rem;
letter-spacing: .05em;
padding-bottom: 10px;
}
#info-page p{
font-size: 16px;
font-size: 1.6rem;
line-height: 1.5em;
padding-bottom: 20px;
}
/*--------------------
contact
--------------------*/
#contact .soy_inquiry_message {
padding-bottom: 50px;
}
#contact .Form {
max-width: 720px;
}
#contact .soy_iqnuiry_responsive dt{
display: inline-block;
vertical-align: top;
width: 40%;
max-width: 248px;
letter-spacing: 0.05em;
font-size: 18px;
font-size: 1.8rem;
margin-bottom: 48px;
}
.Form-Item-Label.isMsg {
margin: 8px 0 auto;
}
#contact .soy_iqnuiry_responsive dt span{
border-radius: 6px;
margin-left: 8px;
padding: 5px 10px;
font-size: 14px;
font-size: 1.4rem;
}
#contact .soy_iqnuiry_responsive dd{
display: inline-block;
width: 55%;
margin-bottom: 48px;
margin-left: 40px;
}
#contact .soy_iqnuiry_responsive dd input.textbox{
border-radius: 6px;
padding-left: 1em;
padding-right: 1em;
height: 48px;
flex: 1;
width: 100%;
max-width: 410px;
font-size: 18px;
font-size: 1.8rem;
}
#contact .soy_iqnuiry_responsive dd select {
padding: 10px;
font-size: 1.6rem;
border-radius: 6px;
margin-right: 5px;
}	
#contact .soy_iqnuiry_responsive dd textarea {
border-radius: 6px;
padding-left: 1em;
padding-right: 1em;
flex: 1;
width: 100%;
max-width: 410px;
font-size: 18px;
font-size: 1.8rem;
}
#contact form > div:last-of-type p input {
border-radius: 6px;
margin: 32px auto 0;
padding: 10px 0;
width: 280px;
letter-spacing: 0.05em;
font-size: 20px;
font-size: 2rem;
}

#policy ol {
padding: 20px 0;
margin-bottom: 20px;
}
#policy dl dt, #faq dl dt {
font-size: 18px;
font-size: 1.8rem;
padding-bottom: 8px;
}
#policy dl dd, #faq dl dd {
font-size: 16px;
font-size: 1.6rem;
padding-bottom: 40px;
}
}