
body {
    font: normal normal normal 17px/17px Open Sans;
    color:#000000;
    overflow-x: hidden;
    width:700px;
    margin:auto
}


header, footer {
    width:100%;
}

footer {
    margin-top: 100px;
}

a {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}



p {
    margin-bottom: 0;
}


.header_margin {
    margin-top:115px;
}

li {
    list-style: none;
}

select {
    width: 480px;
    border: 1px solid #707070;
    background: #FFD9D9 0% 0% no-repeat padding-box;
    height: 40px;
    padding-left: 10px;
}


.none {
    opacity: 0;
    z-index:-1;
}

.header_logo {
    margin:50px auto 100px;
    display: block;
}

.footer_text {
    width:500px;
    margin: auto;
    font: normal normal normal 20px/25px Hiragino Kaku Gothic Pro;
}

.footer_logo {
    margin:50px auto;
    display: block;
}

.content_name {
    background: #E9E9E9 0% 0% no-repeat padding-box;
    width:700px;
    margin:50px auto 20px;
    padding:10px 30px;
    font: normal normal bold 25px/25px Hiragino Kaku Gothic Pro;
}

.require_mark {
    font: normal normal normal 10px/10px Hiragino Kaku Gothic Pro;
    color: #FF6A4B;
}

.btn_a {
    width:700px;
    margin:auto;
    display: block;
    cursor: pointer;
}

.btn_green {
    background: #74AF0D 0% 0% no-repeat padding-box;
    border-radius: 50px;
    font: normal normal normal 30px/30px Hiragino Kaku Gothic Pro;
    color: #FFFFFF;
    text-align: center;
    padding:30px;
}

.btn_white {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border-radius: 50px;
    border: 1px solid #707070;
    font: normal normal normal 30px/30px Hiragino Kaku Gothic Pro;
    color: #000;
    text-align: center;
    padding:30px;
}


.btn_gray {
    background: #E9E9E9 0% 0% no-repeat padding-box;
    border-radius: 50px;
    border: 1px solid #707070;
    font: normal normal normal 30px/30px Hiragino Kaku Gothic Pro;
    color: #000;
    text-align: center;
    padding:30px;
}

.form_column {
    display: flex;
    justify-content: space-between;
    margin:20px auto;
}

.form_text {
    width:480px;
    border: 1px solid #707070;
    background: #FFD9D9 0% 0% no-repeat padding-box;
    height: 40px;
    padding-left: 10px;
}

.form_text_name {
    width: 220px;
    border: 1px solid #707070;
    background: #FFD9D9 0% 0% no-repeat padding-box;
    height: 40px;
    padding-left: 10px;
    margin-right: 10px;
}

.error {
    color: red;
}

.zip_div {
    width: 480px;
}

.form_text:focus {
    background: #fff;
}

.confirm_content {
    width:480px;
    font: normal normal normal 20px/20px Hiragino Kaku Gothic Pro;
}

.mail_complete_text {
    font: normal normal normal 20px/25px Hiragino Kaku Gothic Pro;
    margin:auto;
    width:670px;
}

.regist_text {
    font: normal normal normal 30px/45px Hiragino Kaku Gothic Pro;
    text-align: center;
    margin-bottom:30px;
}

.regist_img {
    display: block;
    margin:auto;
}

.regist_explain {
    font: normal normal normal 15px/20px Hiragino Kaku Gothic Pro;
    margin-bottom: 20px;
}

.check_column {
    width: 700px;
    margin: 15px auto;
}

.check_img {
    margin-right: 20px;
}

.check_text {
    position: absolute;
    display: inline-block;
    margin-top: 7px;
    font-weight: bold;
}

.begin_text {
    font: normal normal normal 15px/15px Hiragino Kaku Gothic Pro;
    color: #707070;
}

.regist_complete_text {
    font: normal normal normal 15px/23px Hiragino Kaku Gothic Pro;
    text-align: center;
    margin-top:50px;
}

.supplement {
    font: normal normal normal 12px/13px Hiragino Kaku Gothic Pro;
    color: #707070;
    margin-top:2px;
}

input[type=radio] {
    margin-top:10px;
    margin-right:5px;
    transform:scale(1.2);
}

input[type=checkbox] {
    margin-right:15px;
    accent-color: #FF6A4B;
    transform:scale(2.0);
}

input[type="checkbox"]:checked+label::after{
    content: "";
    position: absolute;
    display: block;
    box-sizing: border-box;
    width: 18px;
    height: 9px;
    margin-top: -9px;
    top: 50%;
    left: 3px;
    transform: rotate(-45deg);
    border-bottom: 3px solid;
    border-left: 3px solid;
    border-color:  #fff;
}

.contact_check_div {
    padding: 10px;
}

.contact_check_div > input[type="checkbox"]:not(:checked) ~ #contact_diff_div {
    height: 0px;
    overflow: hidden;
}

.contact_check_div > input[type="checkbox"]:checked ~ #contact_diff_div {
    display:block;
    margin-top:20px;
}

.contact_check_div > input[type="checkbox"]:not(:checked) ~ #contact_diff_div {
    height: 0px;
    overflow: hidden;
}

.contact_check_div > input[type="checkbox"]:checked ~ #contact_diff_div {
    display:block;
}

    
.content_textarea {
    width:450px;
    margin:auto;
}

textarea {
    width:100%;
    height: 180px;
}

.compli_div {
    background: rgba(255,106,75,0.3);
    padding: 10px;
    margin-top: 20px;
}

.compli_span {
    margin-left:33px;
}

.compli_ml {
    margin-left: 42px;
}

.pay_page_btn {
    width: 217px;
    height: 40px;
    line-height: 40px;
    background: transparent linear-gradient(180deg, #E9E9E9 0%, #C9C9C9 100%) 0% 0% no-repeat padding-box;
    border-radius: 3px;
    text-align: center;
    margin-top: 20px;
}

.contact_diff_span {
    color: #FF6A4B;
}

.zip_input {
    width:150px;
    border: 1px solid #707070;
    background: #FFD9D9 0% 0% no-repeat padding-box;
    height: 40px;
    padding-left: 10px;
}

.tel_column {
    width:480px;
}

.tel_select {
    width:150px;
}

.tel_text {
    width:90px;
    border: 1px solid #707070;
    background: #FFD9D9 0% 0% no-repeat padding-box;
    height: 40px;
    padding-left: 10px;
    margin-right: 10px;
}

.number_s_column {
    width:480px;
}

.number_text2 {
    width:40px;
    border: 1px solid #707070;
    background: #FFD9D9 0% 0% no-repeat padding-box;
    height: 40px;
    padding-left: 10px;
    margin-right: 10px;
}

.number_text4 {
    width:70px;
    border: 1px solid #707070;
    background: #FFD9D9 0% 0% no-repeat padding-box;
    height: 40px;
    padding-left: 10px;
    margin-right: 10px;
}


.form_confirm {
    width: 480px;
}

@media screen and (max-width: 500px) {
    body {
        width:350px;
    }

    footer {
        margin-top: 50px;
    }

    .header_logo {
        width:300px;
    }

    .regist_img {
        width:300px;
    }

    .footer_logo {
        width:200px;
        margin: 20px auto 50px;
    }

    .regist_text {
        font: normal normal normal 22px/22px Hiragino Kaku Gothic Pro;
        margin-bottom: 10px;
    }

    .footer_text {
        width: 270px;
        margin: auto;
        font: normal normal normal 10px/12px Hiragino Kaku Gothic Pro;
    }

    .content_name {
        width: 350px;
        margin: 20px auto 10px;
        padding: 5px 15px;
        font: normal normal bold 15px/15px Hiragino Kaku Gothic Pro;
    }

    .form_text, .confirm_content, select {
        width: 235px;
        height: 25px;
        font-size: 12px;
    }

    .zip_input {
        width: 75px;
        height: 25px;
        font-size: 12px;
    }

    .form_name {
        font-size:11px;
    }

    .btn_a {
        width: 350px;
    }

    .btn_green, .btn_white, .btn_gray {
        font: normal normal normal 18px/18px Hiragino Kaku Gothic Pro;
        padding: 15px;
    }

    .mail_complete_text {
        font: normal normal normal 12px/15px Hiragino Kaku Gothic Pro;
        width: 300px;
    }

    .regist_explain {
        font: normal normal normal 12px/15px Hiragino Kaku Gothic Pro;
        margin-bottom: 10px;
    }

    .check_img {
        margin-right: 10px;
        width: 16px;
    }

    .supplement {
        font: normal normal normal 10px/11px Hiragino Kaku Gothic Pro;
        width:235px;
    }

    .begin_text {
        font: normal normal normal 12px/15px Hiragino Kaku Gothic Pro;
        color: #707070;
    }

    .check_column {
        width: 350px;
        margin: 25px auto;
    }

    .check_text {
        margin-top: 2px;
    }

    .zip_div {
        width: 235px;
    }
    
    .tel_select {
        width: 75px;
    }

    .tel_text {
        width: 45px;
        height:25px;
        font-size: 12px;
    }

    .tel_column {
        width: 235px;
    }

    .content_textarea {
        width: 320px;
    }

    input[type=checkbox] {
        margin-right: 5px;
        transform:scale(1.2);
    }

    .contact_check_div {
        font-size: 11px;
        padding:0px;
    }

    .content_radio {
        font-size: 12px;
    }

    input[type=radio] {
        margin-top: 5px;
        transform:scale(1.0);
    }
    
    .pay_page_btn {
        width: 150px;
        height: 25px;
        line-height: 25px;
        margin-top: 10px;
    }

    .compli_div {
        padding: 5px;
        margin-top: 10px;
        font-size: 11px;
    }

    .compli_span {
        margin-left:21px;
    }
    
    .compli_ml {
        margin-left: 25px;
    }

    .form_confirm {
        width: 225px;
        font-size: 12px;
    }
}


/*以下ハンバーガーメニューについて*/

.hamburger-menu {
    margin-top: -40px;
}
.menu-btn {
    position: absolute;
    right: 13%;
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background: transparent linear-gradient(180deg, #262626 0%, #414141 100%) 0% 0% no-repeat padding-box;
    border: none;
    margin-right: -10px;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 2px;
    width: 35px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
}
.menu-btn span:before {
    bottom: 12px;
}
.menu-btn span:after {
    top: 12px;
}

#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}

#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}

#menu-btn-check {
    display: none;
}


.menu-content {
    width: 100%;
    position: fixed;
    top: 50px;
    height: 1000px;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-image: url(../img/bg.jpg);
    transition: all 0.5s;/*アニメーション設定*/
}

.menu-content ul {
    padding: 0;
}
.menu-content ul li {
    border-bottom: solid 1px #DBA57C;
    list-style: none;
}

.menu_head_sp, .menu_content_sp {
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    position: relative;
}

.menu_head_sp {
    padding: 10px 15px 8px 0;
}

.menu_content_sp {
    padding: 10px 15px 8px;
}

.sp_menu_en {
    font-size: 16px;
}

.sp_menu_ja {
    font-size: 13px;
}

#menu-btn-check:checked ~ .menu-content {
    left: 0px;/*メニューを画面内へ*/
}

.current {
    background: rgba(255,255,255,0.3);
}

#lightbox img {
    position:relative;
    z-index: 20;
}

.lb-prev {
    left: -80px!important;
    position: absolute;
    opacity:1!important;
}

.lb-next {
    right: -80px!important; 
    position: absolute;
    opacity:1!important;
}

.yazi {
    margin-top: -13px;
    float: right;
}

.select2-container--default .select2-selection--single {
    border-radius: 0px !important;
    width: 480px !important;
    border: 1px solid #707070 !important;
    background: #FFD9D9 !important;
    height: 40px !important;
    padding-left: 10px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 6px !important;
}

.text {
  display: none;
}
.text01 {
  display: block;
}

/* ローディング画面 */

#loading {
  width: 50vw;
  height: 50vh;
  transition: all 1s;
  background-color: #696969;
  border-radius: 20px 20px 20px 20px;
  position: fixed;
  top: 25vh;
  left: 25vw;
  z-index: 9999;
}
.spinner {
  width: 100px;
  height: 100px;
  margin: 200px auto;
  background-color: #fff;
  border-radius: 100%;
  animation: sk-scaleout 1.0s infinite ease-in-out;
}
/* ローディングアニメーション */
@keyframes sk-scaleout {
  0% {
    transform: scale(0);
  } 100% {
    transform: scale(1.0);
    opacity: 0;
  }
}
.loaded {
  opacity: 0;
  visibility: hidden;
}

