html {
	background:#fff;
	color:#000;
	overflow-y: scroll;
//	font-family: 'Raleway','Noto Sans JP', sans-serif;
    font-family: 'Raleway','Kosugi Maru', sans-serif;
}

body {
	font-size: 1.5rem;
    line-height: 1.8rem;
	text-align:center;
	letter-spacing: .05rem;
    overflow-x: clip;
}

p{
	line-height:2.2
}
a {
    transition: .2s;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}
a:focus-visible {
    outline: -webkit-focus-ring-color;
}
img {
    width: 100%;
}
i {
    margin: 0 0.7rem 0 0;
}
h1 {
    text-align: left;
    font-size: 1.3rem;
    font-weight: 900;
    line-height: 1.6rem;
    letter-spacing: 0.15rem;
    padding: 0.5rem 0 0.5rem 4vw;
	z-index: 30;
}
h1 a{
	display:block
}
h1 img {
    width: 50px;
    display: inline-block;
    vertical-align: middle;
    margin: 0 1rem 0 0;
}
h1 img+p {
    display: inline-block;
    vertical-align: middle;
}
h1 img+p small {
    font-size: 1rem;
    letter-spacing: .28rem;
    margin: 0 0 0 0.5rem;
}

h2 {
    font-size: 3.6rem;
    font-weight: 900;
    margin: 2rem 0 3rem;
	position: relative;
}
h2 p {
    line-height: 3.8rem;
    position: relative;
}
h2 small {
    display: block;
    font-size: 1.4rem;
    margin: .9rem 0;
	font-weight: 700;
}
.benefit h2 small, .events h2 small, .contact h2 small {
    color: #390;
}
.benefit h2:before, .events h2:before, .contact h2:before {
	position: absolute;
    content: "";
    width: 100%;
    height: 7rem;
    left: 0;
    right: 0;
    margin: auto;
}
.benefit h2:before{
	background: url(../img/confetti_about_sp.png) no-repeat 50% 50%;
    background-size: contain;
    top: -6.5rem;
}

.benefit {
    margin: 0;
    padding: 2rem 4vw 4.2rem;
}

.hamburger {
  display : block;
  position: fixed;
  z-index : 30;
  right : 13px;
  top   : 12px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
  background: #fff;
  border-radius: 4px;
}
.hamburger span {
  display : block;
  position: absolute;
  width: 30px;
  height: 7px;
  left: 6px;
  background: #390;
  -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: 8px;
}
.hamburger span:nth-child(2) {
  top: 18px;
}
.hamburger span:nth-child(3) {
  top: 28px;
}

.hamburger.active span:nth-child(1) {
  top : 17px;
  left: 6px;
  background :#665d5d;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 17px;
  background :#665d5d;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

nav.globalMenuSp {
  overflow: hidden;
  height: 0;
  position: fixed;
  z-index : 25;
  top  : 0;
  left : 0;
  color: #fff;
  background: rgba(0,0,0,0.7);
  text-align: center;
  width: 100%;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
}

nav.globalMenuSp ul {
	margin: 0 auto;
    padding: 4rem 0 0 0;
    width: 100%;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
}
nav.globalMenuSp ul li a small {
    font-size: .8rem;
    margin: 0 0 0 1rem;
    line-height: 1.5rem;
    font-weight: 500;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}

nav.globalMenuSp ul li a {
    display: block;
    color: #fff;
    padding: 1.5rem 0;
    text-decoration: none;
    font-weight: 900;
}

nav.globalMenuSp.active {
  opacity: 100;
  height: auto;

}

/*================================================
header
================================================*/

header {
    position: relative;
    z-index: 50;
}



/*================================================
slider
================================================*/

div.slider_main {
	width: 100%;
    max-width: 100%;
    height: 66vh;
    margin: 0;
    position: relative;
    color: #fff;
}
.slider_main div.main_img {
    width: 100%;
    height: 100%;
    opacity: 0;
    position: absolute;
    left: 100%;
    top: 0;
    margin: 0 0;
	text-align: center;
    z-index: 10;
}
div.slider_main:before,div.slider_main:after {position: absolute;content: "";}
div.slider_main:before {
    background: url(../img/confetti_header_sp.png);
    background-size: cover;
    width: 100%;
    height: 109vw;
    left: 0;
    top: 0;
    z-index: 20;
}
.slider_main:after {
    background: url(../img/slider_copy.png) 50% 50% no-repeat;
    background-size: contain;
    width: 80vw;
    max-width: 694px;
    height: 50vw;
    max-height: 364px;
    bottom: 4rem;
    right: 4vw;
    z-index: 20;
}

/*@keyframes fadeinout {
    0% { left:100%; opacity:0;}
	1% { left:0%; opacity:0;}
   3% { left:0%; opacity:1;}
  25% { left:0%; opacity:1;}
  28% { left:0%; opacity:0;}
  29% { opacity:0;left:100%; }
 100% { opacity:0;left:100%; }
}*/
@keyframes fadeinout {
    0% { left:100%; opacity:0;}
	1% { left:0%; opacity:0;}
   3% { left:0%; opacity:1;}
  20% { left:0%; opacity:1;}
  23% { left:0%; opacity:0;}
  24% { opacity:0;left:100%; }
 100% { opacity:0;left:100%; }
}

.slider_main div.main_img:nth-of-type(1) {
	animation: fadeinout 15s 0s infinite;
	background: url("../slide/s1.jpg") 50% 50%;
	background-size:cover;
	
}
.slider_main div.main_img:nth-of-type(2) {
	animation: fadeinout 15s 5s infinite;
	background: url("../slide/s2.jpg") 50% 50%;
	background-size:cover;
}
.slider_main div.main_img:nth-of-type(3) {
	animation: fadeinout 15s 10s infinite;
	background: url("../slide/s3.jpg") 50% 50%;
	background-size:cover;
}

/*================================================
main
================================================*/

/*benefit*/

.benefit_lead {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 3.5rem;
}

.benefit_lead strong {
    background: #ff8695;
    color: #fff;
}

.benefit-content {
    display: none;
    max-width: 900px;
    font-size: 1rem;
    padding: 2rem 1rem;
    margin-left: auto;
    margin-right: auto;
    line-height: 2rem;
}
.benefit-content strong {
    color: #339900;
}
.benefit-content li {
    list-style: disc inside;
}
.benefit-open{
    max-width: 900px;
    padding: 15px;
    color: #fff;
    font-size: 20px;
    background: #339900;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1px;
    border-radius: 4px;
}
.benefit-open::before{
    content: "－";
    position: absolute;
    right: 20px;
}
.benefit-open.active::before{
    content: "＋";
}

.event_header {
    margin: 0px;
    padding: 3rem 4vw 2rem;
}
.feedback {
    margin-top: 3rem;
    margin-bottom: 3rem;
}
.feedback h4 {
    font-size: 1.2rem;
    padding: 1rem 0;
}
.feedback p {
    max-width: 900px;
    background: #ddffdd;
    border-radius: 4px;
    margin: 1rem auto;
    padding: 1rem;
    font-size: 1rem;
}

.entry_anchor {
}
.entry_anchor p {
}
.entry_anchor a {
    width: 100%;
    height: 100%;
    padding: 2rem 3rem;
    border: 3px solid #360;
    border-radius: 4px;
    background: #690;
    color: #fff;
}
.entry_anchor a:hover {
    background: #cf9;
    color: #000;
    font-weight: bold;
}

/*contact*/
.contact ul {
    background: #fff;
    color: #000;
    font-size: .84rem;
    line-height: 1.4rem;
    text-align: left;
    margin: 0 0 3rem;
    padding: 1.3rem 1rem .5rem 0;
    letter-spacing: 0.01rem;
    border-radius: 1rem;
}

.contact ul li {
    position: relative;
    padding: 0 0 .8rem 1.8rem;
}

.contact ul li:before {
    position: absolute;
    content: "";
    width: 1rem;
    height: 3px;
    background: #ff8695;
    left: 0;
    top: .5rem;
}

.contact ul li br {
    display: none;
}

form#mail_form {
    text-align: left;
}
form#mail_form i {
    margin: 0 .8rem 0.2rem 0;
    display: 1;
}
span.required, span.optional {
    font-size: .8rem;
    border: 2px solid #fff;
    border-radius: 5px;
    font-style: normal;
    padding: .15rem .25rem;
    line-height: 1rem;
    display: inline-block;
}
span.required {
    background: #ffea00;
    color: #ff8695;
    border: 2px solid #ffea00;
}
form#mail_form a    {
	color: #ff8695;
	background-image:linear-gradient(to right, #ffea00 50%, #fff 50%);
    background-position: 100% 0;
    background-size: 200% auto;
    transition: .3s;
}
form#mail_form a:hover {
    background-position: 0 0;
}

[type="text"],[type="email"],[type="tel"], textarea {
    background: #fff;
    border-radius: 2rem;
    color: #000;
	font-size: .9rem;
	width: 100%;
	padding: 0.2rem 1rem;
	letter-spacing: .02rem;
}
[type="text"]:focus-visible,[type="email"]:focus-visible,[type="tel"]:focus-visible, textarea:focus-visible {
    border: 0;
    background: #fff4e8;
    outline: none;
}
textarea {
    border-radius: .7rem;
    line-height: 1.5rem;
}

form#mail_form dl {}

form#mail_form dl dt {
    padding: 0.5rem 0;
    font-size: 1.05rem;
    letter-spacing: .1rem;
}

form#mail_form dl dd {
    padding: 0 0 1rem;
}

[type="checkbox"]+label {
    font-size: .9rem;
    margin: 0;
    padding: 0.25rem 0 0.25rem 2rem;
}

[type="checkbox"]+label small {
    font-size: .7rem;
    margin: 0 0 0 0.2rem;
    letter-spacing: 0;
}

form#mail_form p {
    line-height: 1.5rem;
}

form#mail_form p.form_txt {
    font-size: .8rem;
    line-height: 1.3rem;
    margin: .5rem 0;
    padding: 0 0 0 .8rem;
    border-left: 4px solid #fff;
}

dd.required {}
dd.required a {
    font-size: .95rem;
    padding: .3rem .8rem;
    border-radius: .3rem;
}

input[type="checkbox"] {
	display: none;
}
label {
	-webkit-transition: all .2s;
	cursor: pointer;
	display: inline-block;
	min-width: 4em;
	padding: 8px 8px 8px 30px;
	position: relative;
	transition: all .2s;
}
label::before, label::after {
	-webkit-transition: all .2s;
	content: '';
	position: absolute;
	transition: all .2s;
}
label::before {
	background: #ff8695;
	border: 2px solid #fff;
	border-radius: 2px;
	height: 20px;
	left: 0;
	margin-top: -11px;
	top: 50%;
	width: 20px;
}
label::after {
	-webkit-transform: rotate(-45deg) scale(.5);
	border-bottom: 2px solid #ff8695;
	border-left: 2px solid #ff8695;
	height: 7px;
	left: 5px;
	margin-top: -6px;
	opacity: 0;
	top: 50%;
	transform: rotate(-45deg) scale(.5);
	width: 11px
}
label:hover::before {
	background: #ff8695;
}
input[type="checkbox"]:checked+label::before {
	background: #fff;
	border: 2px solid #fff;
}
input[type="checkbox"]:checked+label::after {
	-webkit-transform: rotate(-45deg) scale(1);
	opacity: 1;
	transform: rotate(-45deg) scale(1);
}

[type="button"]#form_submit_button, [type="button"]#confirm_submit_button,[type="button"]#confirm_cancel_button{
    text-align: center;
    width: 100%;
    margin: 1rem auto;
    display: block;
    border: 2px solid #fff;
    font-size: 1rem;
    padding: .5rem;
    border-radius: 2rem;
	background-image: linear-gradient(to right, #ffffff 50%, #ff8695 50%);
    background-position: 100% 0;
    background-size: 200% auto;
    transition: .3s;
	z-index: 10;
    position: relative;
}
[type="button"]#form_submit_button:hover, [type="button"]#confirm_submit_button:hover,[type="button"]#confirm_cancel_button:hover {
    background-position: 0 0;
    color: #ff8695;
}


p#form_submit span, p#confirm_submit span {
    position: relative;
	display: inline-block;
	width:100%;
}
p#confirm_submit span {
    width: 44%;
    margin: 0 3%;
}
p#form_submit span:before, p#confirm_submit span:before {
	position: absolute;
    content: "";
    background: url(../img/bg_p.png) 50% 50%;
    width: 100%;
    height: 3rem;
    bottom: -6px;
    right: -3px;
    top: 0;
    margin: auto;
    border-radius: 2rem;
}

div#confirm_field {}

div#confirm_field h3 {
    font-size: 1rem;
    background: #fff;
    color: #000;
    padding: 0.5rem;
    margin: 1rem 0 2rem;
    border-radius: 2rem;
    text-align: center;
    font-weight: 700;
}
span.error_blank {
    font-size: .9rem;
    color: #ffea00;
    background: #da3e3e45;
    margin: .5rem 0;
    padding: 0 .6rem;
    display: block;
    line-height: 1.5rem;
    border-radius: 1rem;
}

div#confirm_field {
    margin: 0 0 3rem;
    display: none;
}

div#confirm_field dl dt {
    font-size: 1.1rem;
}

div#confirm_window {}

div#confirm_window dl {
    text-align: left;
}

div#confirm_field dl dd {
    font-size: .95rem;
    overflow-wrap: anywhere;
    line-height: 1.5rem;
    margin: 0 0 1.3rem;
}

.modal-wrapper {
	z-index: 999;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 40px 10px;
	text-align: center
}

.modal-wrapper:not(:target) {
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s, visibility .3s;
}

.modal-wrapper:target {
	opacity: 1;
	visibility: visible;
	transition: opacity .4s, visibility .4s;
}

.modal-wrapper::after {
	display: inline-block;
	height: 100%;
	margin-left: -.05em;
	vertical-align: middle;
	content: ""
}
dd.required a.modal-overlay {
    background: #ffffffba;
}
.modal-wrapper .modal-window {
	box-sizing: border-box;
    display: inline-block;
    z-index: 20;
    position: relative;
    width: 90%;
    max-width: 800px;
    padding: 0.5rem;
    border-radius: 2px;
    background: #fff;
    box-shadow: 0 0 30px rgb(0 0 0 / 60%);
    vertical-align: middle;
    border-radius: 4px;
}

.modal-wrapper .modal-window .modal-content {
    max-height: 80vh;
    overflow-y: scroll;
    text-align: left;
    padding: 1rem;
    color: #000;
}

.modal-overlay {
	z-index: 10;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0, 0, 0, .8)
}

form#mail_form a.modal-close {
	z-index: 20;
	position: absolute;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	text-indent: 0;
    font-size: 3rem;
    width: 45px;
    height: 45px;
    line-height: 1.8rem;
    background-image: linear-gradient(to right, #ffea00 50%, #ff98a5 50%);
    top: -0.5rem;
    right: -0.5rem;
    color: #fff;
}

form#mail_form a.modal-close:hover {
	color: #000;
}
form#mail_form a.modal-overlay{
    background-image: linear-gradient(to right, #ffa9b4ab 50%, #ff8695de 50%);
}
.modal-content strong {
    margin: 2rem 0 .7rem;
    display: block;
    font-size: 1rem;
}

.modal-content p {
    margin: 0 0 1rem;
}

.modal-wrapper .modal-window .modal-content br {
    display: block;
}
.modal-content h4 {
    font-size: 1.2rem;
    font-weight: 900;
    margin: 0 0 .5rem;
}

.modal-content p {
    font-size: .9rem;
}

/*é€ä¿¡å®Œäº†*/
.contact_thanks {
    padding: 6rem 4vw 4.2rem;
}

.contact_thanks h2 {}

.contact_thanks h2 small {
    font-size: 1.1rem;
}

.contact_thanks a.submitBtn {
    display: block;
    width: 80%;
    max-width: 500px;
    margin: auto;
    font-weight: 700;
    border: 3px solid #Fff;
    border-radius: 2rem;
    background-image: linear-gradient(to right, #ffffff 50%, #ff8695 50%);
    background-position: 100% 0;
    background-size: 200% auto;
    transition: .3s;
}

.contact_thanks a.submitBtn:hover {
    background-position: 0 0;
    color: #ff8695;
}

/*footer*/

footer {
    position: relative;
}
footer:before {
    position: absolute;
    content: "";
    background: url(../img/confetti_footer_top.png) no-repeat 50% 50%;
    background-size: contain;
    width: 20vw;
    height: 20vw;
    max-width: 119px;
    max-height: 110px;
    left: 4vw;
    top: 43vw;
    margin: auto;
}
footer:after {
    position: absolute;
    content: "";
    background: url(../img/confetti_footer_bottom.png) no-repeat 50% 50%;
    background-size: contain;
    width: 20vw;
    height: 20vw;
    max-width: 118px;
    max-height: 200px;
    right: 1vw;
    bottom: 5rem;
    margin: auto;
}

footer > * {
    z-index: 10;
    position: relative;
}
.footer_img {
    background: url(../img/footer_img.jpg) no-repeat 50% 50%;
    background-size: cover;
    height: 40vw;
	}

footer img {
    margin: 1.9rem 4vw 1.2rem;
    width: 76%;
    max-width: 512px;
}
footer ul {
    background: #690;
    color: #fff;
    width: 80%;
    margin: auto;
    padding: 1rem 1.5rem;
    border-radius: .4rem;
    text-align: left;
    font-size: 1rem;
}

footer p {
    line-height: 1.5rem;
    margin: 2rem 0 1.5rem;
}

footer p strong {
    display: block;
    font-size: 1.4rem;
}

footer p span {
    font-size: 1rem;
}

small.copy {
    margin: 0;
    padding: 3rem 1rem;
    display: inline-block;
    color: #9c0;
    line-height: 1rem;
    font-size: .8rem;
    font-weight: 100;
    border-radius: 2rem;
}


@media screen and (min-width: 428px) {
.slider_main:after {
    width: 60vw;
    height: 32vw;
    bottom: 2rem;
}
.events_box {
    padding: 2rem 0;
    font-size: 1rem;
    font-weight: 600;
}
.events_l, .events_r {
    line-height: 1.8rem;
    letter-spacing: .1rem;
}
.events h3 {
    font-size: 1.2rem;
}

.events dl {
    font-size: 1rem;
    display: flex;
    flex-wrap: wrap;
    padding: 1rem 1.8rem .8rem;
}

.events dl dt {
    width: 20%;
}

.events dl dd {
    width: 80%;
}

.events_l:before {
    position: absolute;
    content: "";
    left: 0;
    top: .4rem;
    width: 0;
    height: 0;
    width: 3px;
    height: 91%;
    background: #690;
}

.photo_box {
    padding: 1rem 0;
    font-size: 1rem;
    font-weight: 600;
}
.photo_box img {
    width: 90%;
}

.photo_l, .photo_r {
    line-height: 1.8rem;
    letter-spacing: .1rem;
}


}
@media screen and (min-width: 768px) {
.slider_main:after {
    background: url(../img/confetti_header_pcl.png) no-repeat 0% 0%;
    background-size: contain;
	width: 50%;
    height: 100vw;
    max-height: 920px;
    left: 0;
    top: 5rem;
}
div.slider_main:before {
    background: url(../img/confetti_header_pcr.png) no-repeat 100% 100%;
    background-size: contain;
	width: 50%;
    height: 102vw;
    max-height: 950px;
    left: inherit;
    right: 0;
}
.slider_main div.main_img:before {
    position: absolute;
    content: "";
    background: url(../img/slider_copy.png) 50% 50% no-repeat;
    background-size: contain;
    width: 484px;
    height: 364px;
    top: 0;
    bottom: -15rem;
    right: 4vw;
    margin: auto;
    z-index: 20;
}
.contact, .benefit, .events {
    margin: 0;
    padding: 3rem 4vw 4.2rem;
}

.benefit h2:before {
    display: none;
}

.contact h2:before {
    background: url(../img/confetti_contact_pc.png) no-repeat 50% 50%;
    background-size: contain;
    top: -7rem;
}

.contact ul {
    width: 80vw;
    margin: 0 auto 3rem;
}
form#mail_form {
    width: 80vw;
    margin: auto;
}
footer ul {
    width: 70vw;
    max-width: 640px;
    font-size: 1.5rem;
    padding: 1.3rem 5rem;
}

footer ul li {
    margin: 1.1rem 0;
}

footer ul li i {
    margin: 0 1.5rem 0 0;
}
.contact_thanks h2:before {
    top: -3rem;
}

}
@media screen and (min-width: 880px) {
header {
    position: fixed;
    background: #fff;
    width: 100%;
    z-index: 50;
    top: 0;
}
h1 {
    position: relative;
    width: 22rem;
}
h1 img {
    width: 56px;
}
.hamburger {
    display: none;
}

nav.globalMenuSp {
    opacity: 1;
    height: auto;
    background: none;
    position: absolute;
}

nav.globalMenuSp ul {
    width: auto;
    text-align: right;
    padding: 0;
    margin: .6rem 2vw 0;
}
nav.globalMenuSp ul li {
    display: inline-block;
    width: auto;
    margin: 0 .3rem;
}

nav.globalMenuSp ul li a {
    color: #000;
    background: #fff;
    font-size: 1.5rem;
    font-weight: 900;
    padding: 0.4rem 0 0.2rem;
    line-height: 1.2rem;
    text-align: center;
}

nav.globalMenuSp ul li a small {
    display: block;
    font-size: .8rem;
    font-weight: 500;
    margin: 0;
    color: #390;
}

nav.globalMenuSp ul li a:hover {
    background: #fff;
    color: #390;
}
div.slider_main {
    margin: 4rem 0 0;
}
.slider_main div.main_img:nth-of-type(1) {
    animation: fadeinout 15s 0s infinite;
    background: url("../slide/s1.jpg") 50% 50%;
    background-size:cover;
    
}
.slider_main div.main_img:nth-of-type(2) {
    animation: fadeinout 15s 5s infinite;
    background: url("../slide/s2.jpg") 50% 50%;
    background-size:cover;
}
.slider_main div.main_img:nth-of-type(3) {
    animation: fadeinout 15s 10s infinite;
    background: url("../slide/s3.jpg") 50% 50%;
    background-size:cover;
}

/*benefit*/
.benefit_lead {
    margin: 3.5rem 0 4.6rem;
    line-height: 2.5rem;
    font-weight: 900;
    letter-spacing: .1rem;
}

/*events*/
.events_box {
	display: flex;
    max-width: 870px;
    margin: auto;
}

.events_l {
    width: 50%;
    order: 1;
    margin: 2.2rem 0 0;
}

.events_r {
    width: 50%;
    order: 2;
    margin: 2.5rem 0 0;
    position: relative;
    border: none;
}

.events_r:before {
    position: absolute;
    content: "";
    left: 0;
    top: .4rem;
    width: 0;
    height: 0;
    width: 3px;
    height: 91%;
    background: #690;
}

/*photo*/
.photo_box {
    display: flex;
    max-width: 870px;
    margin: auto;
    text-align: center;
}
.photo_box img {
    width: 90%;
}

.photo_l {
    width: 50%;
    order: 1;
    margin: 1rem 0 0;
}

.photo_r {
    width: 50%;
    order: 2;
    margin: 1rem 0 0;
    position: relative;
    border: none;
}

/*contact*/

.contact ul,form#mail_form {
    max-width: 820px;
}
.contact ul {
    padding: 1.8rem 1rem 0.8rem 0;
}
.contact ul li {
    font-size: .9rem;
    letter-spacing: .12rem;
    line-height: 1.7rem;
    padding: 0 0 1.2rem 3.8rem;
    font-weight: 700;
}

.contact ul li:before {
    width: 2.3rem;
    height: 4px;
    top: 0.7rem;
}
.contact ul li br {
    display: block;
}

form#mail_form {}

form#mail_form dl {
    display: flex;
}

form#mail_form dl dt {
    width: 45%;
}

form#mail_form dl dd {
    width: 55%;
}
[type="button"]#form_submit_button {
    max-width: 500px;
    padding: 1rem;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .2rem;
    border: 3px solid #fff;
}

p#form_submit {
    max-width: 500px;
    margin: auto;
}

p#form_submit span:before, p#confirm_submit span:before {
    bottom: -7px;
    height: 4rem;
}

[type="button"]#confirm_submit_button, [type="button"]#confirm_cancel_button {
    max-width: 300px;
    border: 3px solid #fff;
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: .2rem;
}

p#confirm_submit span {
    max-width: 300px;
}

div#confirm_field h3 {
    max-width: 500px;
    margin: 2rem auto;
    padding: 1rem;
    font-size: 1.1rem;
    letter-spacing: .1rem;
}
.contact_thanks {
    padding: 8rem 4vw 4.2rem;
}
.footer_img {
    background: url(../img/footer_img.jpg) no-repeat 50% 50%;
    background-size: cover;
    height: 300px;
}
footer ul {
    padding: 1.3rem 7rem;
}
footer:before {
    top: 23rem;
    left: -10vw;
    right: 50vw;
}

footer:after {
    right: -12vw;
    left: 50vw;
}
}
@media screen and (min-width: 1080px) {
div.slider_main {
    height: calc(61vh + 10vw);
}

.slider_main div.main_img:before {
    width: 649px;
    height: 364px;
}
}
@media screen and (min-width: 1480px) {

}