.form {
    padding-bottom: 2rem;
    background: #eee;
    margin-bottom: 40px;
}
.modalWrap {
    margin-bottom: 20px;
    text-align: right;
}
body .mktoButtonRow {
    text-align: center !important;
}
body .modal,
body .modal_content h2 {
    background: #5074b4;
}
body .modal_list h3 {
    color: #5074b4;
}
body .c-lead .bold {
    font-weight: bold;
}
@media screen and (max-width: 1040px){
    #lab-btn { 
        width: 300px; 
    }
}

.mktoForm .mktoButtonWrap.mktoSimple .mktoButton {
    width: 100%;
    background-color: #fcc603 !important;
    font-size: 24px !important;
    line-height: 40px;
    font-weight: bold;
    color: #000 !important;
    background-image: none !important;
    border: none !important;
    border-radius: 50px;
}
.mktoForm .mktoButtonWrap.mktoSimple .mktoButton:hover {
    border: none !important;
    opacity: 0.6;
}

@media screen and (min-width: 1024px){
    body .form {
        width: 1024px;
        margin: 0 auto;
        padding: 20px;
    }
    body .form:after { 
        content: ''; 
        display: table; 
        clear: both;
    }

}
@media screen and (max-width: 768px){
    .form { 
        width: 96%; 
        margin: 0 auto;
        padding: 20px;
    }
}

body #mktoForm_4348,#mktoForm_4022,#mktoForm_5522,#mktoForm_5840,#mktoForm_3150,#mktoForm_6608,#mktoForm_6587,#mktoForm_6818,#mktoForm_2629 {
    width: 100% !important;
    padding: 0;
    font-size: inherit !important;
}
body .mktoFormCol,
body .mktoForm .mktoFieldWrap {
    width: 100% !important;
}
body .mktoForm .mktoLabel {
    text-align: center;
}
body .mktoAsterix {
    font-size: 0;
    position: relative;
}
body .mktoAsterix:after {
    width: 36px;
    height: 24px;
    margin: auto;
    background: #ff0000;
    color: #ffffff;
    font-size: 14px;
    text-align: center;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    content: '必須';
    position: absolute;
    right: -50px;
    top: 0;
    bottom: 0;
    box-sizing: border-box;
}

body .mktoField[type="radio"] {
    display: none; }
      
    body .mktoField[type="radio"] + label {
      margin: 0 10px 10px 0;
      padding: 0.7rem 1rem 0.7rem 3rem;
      border-radius: 50px;
      line-height: 30px;
      color: #000;
      background: #fff;
      position: relative;
    }
    body .mktoField[type="radio"] + label::before {
      margin: auto 0 !important;
      font-family: "Font Awesome 5 Free" !important;
      content: '\f111' !important;
      font-weight: 400;
      background: none !important;
      border: none !important;
      box-shadow: none !important;
      left: 14px;
      top: 0;
      bottom: 0;
    }
    body .mktoField[type="radio"]:checked + label {
        color: #fff;
        background: #5074b4;
    }  
    body .mktoField[type="radio"]:checked + label::before {
      content: '\f192' !important;
      font-weight: 400;
      color: #ffffff !important;
    }

  body .mktoForm .mktoCheckboxList {
    text-align: left;
    width: 77% !important;
  }
  body .mktoField[type="checkbox"] {
    display: none; }
    body .mktoField[type="checkbox"] + label {
      margin: 0 10px 10px 0;
      padding: 0.7rem 1rem 0.7rem 3rem;
      border-radius: 50px;
      line-height: 30px;
      color: #000;
      background: #fff;
      display: inline-block;
      position: relative;
    }
    body .mktoField[type="checkbox"]:checked + label {
      color: #fff;
      background: #5074b4;
      box-sizing: border-box;
    }
    body .mktoField[type="checkbox"] + label::before {
      margin: auto 0 !important;
      padding-right: 10px;
      font-family: "Font Awesome 5 Free" !important;
      content: '\f0c8' !important;
      font-weight: 400;
      background: none !important;
      border: none !important;
      box-shadow: none !important;
      left: 14px;
      top: 0;
      bottom: 0;
    }
    body .mktoField[type="checkbox"]:checked + label::before {
        content: '\f14a' !important;
        font-weight: 900;
        color: #fff !important;
    }
    .mktoForm input.mktoField.mktoInvalid, .mktoForm select.mktoField.mktoInvalid, .mktoForm textarea.mktoField.mktoInvalid, .mktoForm div.mktoLogicalField.mktoInvalid {
        border: none !important;
    }
    body .mktoForm .mktoError .mktoErrorMsg {
     background: #ff0000;
     text-shadow: none;
     box-shadow: none;
     border: none;
  }
  body .mktoForm .mktoError .mktoErrorArrow {
      border: none;
      background: #ff0000;
  }
  body .mktoField[type="radio"] + label {
    display: inline-block !important;
  }
  
  body .mktoField[type="text"],
  body .mktoField[type="email"],
  body .mktoField[type="tel"],
  body .mktoField[type="email"],
  body .mktoField[type="date"],
  body .mktoField[type="number"],
  body select.mktoField,
  body textarea.mktoField {
    padding: 10px;
    background: #ffffff;
    border: none !important;
  }

  body .mktoField[type="text"]::placeholder,
  body .mktoField[type="email"]::placeholder,
  body .mktoField[type="tel"]::placeholder,
  body .mktoField[type="email"]::placeholder,
  body select.mktoField::placeholder,
  body textarea.mktoField::placeholder {
      color: #ccc;
      border: none;
  }

@media screen and (min-width:769px) {
    /* form */
    body #mktoForm_4348,#mktoForm_4022,#mktoForm_5522,#mktoForm_5840,#mktoForm_3150,#mktoForm_6608,#mktoForm_6587,#mktoForm_6818,#mktoForm_2629 {
        font-size: inherit !important;
    }
    body .mktoFormCol,
    body .mktoForm .mktoFieldWrap {
        margin-bottom: 20px !important;
    }
    .mktoOffset {
        display: none;
    }
    #contact_free {
        min-height: 130px !important;
        resize: vertical !important;
    }
    body .mktoField[type="radio"] + label::before,
    body .mktoField[type="checkbox"] + label::before {
        width: 14px !important;
        height: 14px !important;
        padding: 0 0 10px 0 !important;
        font-size: 20px !important;
        line-height: 17px !important;
        position: absolute;
        left: 8px;
    }
    body .mktoRadioList,
    .mktoForm .mktoRadioList, .mktoForm .mktoCheckboxList {
        width: 77% !important;
        padding: 0 !important;
        float: right !important;
    }    
    body .mktoForm .mktoLabel {
        width: 14% !important;
        line-height: 30px;
        padding: 0;
        font-weight: bold;
    }
    .mktoForm .mktoGutter {
        display: none;
    }

    body .mktoField[type="text"],
    body .mktoField[type="email"],
    body .mktoField[type="tel"],
    body .mktoField[type="email"],
    body .mktoField[type="date"],
    body .mktoField[type="number"],
    body select.mktoField,
    body textarea.mktoField {
        width: 77% !important;
        padding: 13px 10px !important;
        float: right !important;
    }
    body .mktoHtmlText,
    body .mktoButtonRow {
        width: 100% !important;
    }
    body .mktoButtonWrap {
        margin: auto !important;
    }
    body .mktoAsterix {
        height: 50px;
    }
    body .mktoAsterix:after {

    }
  
}

@media screen and (max-width:768px) {
    .inner {
        padding-top: 1rem;
    }
    #contents .main_text {
        width: 100%;
        line-height: 2rem;
        margin-bottom: 2rem;
        font-size: 15px;
    }
    .modalWrap {
        text-align: center;
    }
    body .mktoForm .mktoRadioList > label,
    body .mktoForm .mktoCheckboxList > label,
    body .mktoField[type="radio"] + label {
        margin: 0 0.5rem 0.5rem 0 !important;
        padding: 0.5rem 0.6rem 0.5rem 2rem;
      }
    body .mktoField[type="radio"] + label::before,
    body .mktoField[type="checkbox"] + label::before {
        width: 1.2rem !important;
        height: 1.2rem !important;
        font-size: 1.2rem !important;
        line-height: 1.2rem !important;
        position: absolute;
        left: 0.6rem;
        top: 0;
        bottom: 0;
    }
    body .mktoForm .mktoLabel {
      margin: 0 0 0.5rem !important;
      padding: 0 !important;
    }
    body .mktoForm .mktoLabel strong {
        padding: 0 !important;
        font-size: 2.2rem;
        line-height: 2.6rem;
        font-weight: normal;
    }
    .mktoHtmlText {
        width: 100% !important;
    }
    .mktoForm .mktoGutter {
        display: none;
    }
    body textarea.mktoField {
        min-height: 7rem;
    }
    body .mktoForm .mktoCheckboxList > label {
        font-size: 1.5rem;
        line-height: 2rem;
    }
    body .mktoField.mktoTextField,
    body .mktoField.__textarea {
        padding: 2rem
    }
    #contact_free {
        
    }
    #LblAddress {

    }
    #contents .form textarea {
        padding: 1rem !important;
    }

    body .mktoAsterix {
        position: initial;
    }
    body .mktoAsterix:after {
        width: 3.6rem;
        height: 2rem;
        line-height: 1.5rem;
        position: absolute;
        right: -7.5rem;
        top: 0;
        bottom: 0;
        white-space: pre;
        content: "必須";
    }
    body .mktoField[type="text"],
    body .mktoField[type="email"],
    body .mktoField[type="tel"],
    body .mktoField[type="email"],
    body .mktoField[type="date"],
    body .mktoField[type="number"],
    body textarea.mktoField {
      width: 100% !important;
      padding: 3rem 1rem !important;
    }

    body .mktoField[type="number"],
    body textarea.mktoField {
     step: 10;
}

    body select.mktoField {
        width: 100% !important;
        padding: 1.5rem 1rem !important;
      }

    body .mktoForm textarea.mktoField,
    body textarea.mktoField {
        width: 100%;
    }
    body .mktoField[type="radio"] + label::before {
        width: 1.5rem;
        height: 1.5rem;
        background-size: 100%;
    }
    body .mktoForm .mktoFieldWrap {
        float: inherit;
        margin-bottom: 2rem;
    }
    body .mktoForm .mktoRequiredField label.mktoLabel,
    body .mktoForm .mktoLabel {
        width: 80% !important;
        margin-bottom: 1rem !important;
        text-align: left;
        font-weight: bold;
        background: inherit;
        position: relative;
        display: block;
        float: inherit;
    }
    body .mktoForm .mktoRadioList, body .mktoForm .mktoCheckboxList {
        width: 100% !important;
        padding: 0;
        float: inherit;
        clear: both;
    }
    .mktoFormRow:nth-child(9) .mktoFormCol {
        width: 50%;
        float: left;
    }
    body .mktoAsterix {
        width: 100%;
        height: 0;
    }
    body .mktoAsterix:after {
        font-size: 1.4rem;
    }
    #LblCity,
    #LblCity .mktoAsterix,
    #LblLastName,
    #LblLastName .mktoAsterix {
        display: none;
    }
    .mktoForm .mktoOffset {
        display: none;
    }
    .mktoButtonWrap {
        margin: 0 auto !important;
    }
}
      

@media screen and (min-width:769px) {
    #contact h2 {
        width: 532px
    }

    #contact .formList_item {
        width        : 100%;
        display      : table;
        margin-bottom: 20px
    }

    #contact .formList_item dd,
    #contact .formList_item dt {
        display: table-cell
    }

    #contact .formList_item dt {
        width        : 200px;
        padding-right: 40px;
        text-align   : right
    }
}

@media screen and (max-width:768px) {
    #contact h2 {
        width: 40%
    }

    #contact .formList {
        margin: 0 auto 5%
    }

    #contact .formList_item {
        margin-bottom: 2rem
    }

    #contact .formList_item dt {
        margin-bottom: 1rem
    }
    .mktoButtonRow {
        display: block !important;
    }
    body #contact button {
        margin : 0 auto;
    }
    #contact .mktoAsterix:after { font-size: 1.4rem;}
}
@media screen and (max-width:480px) {
    body .mktoField.mktoTextField,
    body .mktoField.__textarea {
        width: 100%;
    }
    body #contact_free {
        min-height: 30rem;
    }
}

#mktoForm_4348,#mktoForm_4022,#mktoForm_5522,#mktoForm_5840,#mktoForm_3150,#mktoForm_6608,#mktoForm_6587,#mktoForm_6818,#mktoForm_2629 {
    width: 100% !important;
}
#sendMail h3 {
    text-align: center;
}
#sendMail .mktoForm input[type=text],
#sendMail .mktoForm input[type=url],
#sendMail .mktoForm input[type=email],
#sendMail .mktoForm input[type=tel],
#sendMail .mktoForm input[type=number],
#sendMail .mktoForm input[type=date],
#sendMail .mktoForm textarea.mktoField,
#sendMail .mktoForm select.mktoField {
    border: 2px solid #666;
}
#sendMail #remarks {
    min-height: 20rem;
}
#sendMail .mktoButtonRow .mktoNative {
    margin: 0 !important;
}

/* コンサル問合せ */
.request{
    width: 100%;
    text-align: center;
    background-color: #f5f5f5;
    padding-top: 40px;
    padding-bottom: 40px;
}
.request .conf_tell{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media screen and (max-width: 480px){
.request .conf_tell {
    padding-left: 0;
    border: none;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
}
.request .number{
    margin: 2px 0;
    padding-top: 6px;
    padding-bottom: 6px;
    padding-left: 20px;
    margin-left: 20px;
    margin-right: 20px;
    border-left: solid 1px #000;
    font-size: 29px;
    display: inline-block;
}
.request .caption1{
    font-size: 19px;
}
.modal{
    height: 30px;
    padding: 4px 10px 0px 10px;
    font-size: 14px;
    margin-left: 20px;
    background-color: #8c0766;
    display: inline-block;
}
.modal span{
    color: #fff;
}
#modal{
    display: none;
}
.modal_space{
    height: 80px;
}
.modal_content{
    background: #fff;
    padding: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

/*!
	Modaal - accessible modals - v0.4.4
	by Humaan, for all humans.
	http://humaan.com
 */
 .modaal-noscroll {
    overflow: hidden;
  }
  
  .modaal-accessible-hide {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
  }
  
  .modaal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    opacity: 0;
  }
  
  .modaal-wrapper {
    display: block;
    position: fixed;
    top: 0px;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    overflow: auto;
    opacity: 1;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  
  .modaal-wrapper * {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-backface-visibility: hidden;
  }
  
  .modaal-wrapper .modaal-close {
    border: none;
    padding: 0;
    -webkit-appearance: none;
  }
  
  .modaal-wrapper.modaal-start_none {
    display: none;
    opacity: 1;
  }
  
  .modaal-wrapper.modaal-start_fade {
    opacity: 0;
  }
  
  .modaal-wrapper *[tabindex="0"] {
    outline: none !important;
  }
  
  .modaal-wrapper.modaal-fullscreen {
    overflow: hidden;
  }
  
  .modaal-outer-wrapper {
    display: table;
    position: relative;
    width: 100%;
    height: 100%;
  }
  
  .modaal-fullscreen .modaal-outer-wrapper {
    display: block;
  }
  
  .modaal-inner-wrapper {
    display: table-cell;
    width: 100%;
    height: 100%;
    position: relative;
    vertical-align: middle;
    text-align: center;
    padding: 80px 25px;
  }
  
  .modaal-fullscreen .modaal-inner-wrapper {
    padding: 0;
    display: block;
    vertical-align: top;
  }
  
  .modaal-container {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: auto;
    text-align: left;
    color: #000;
    max-width: 1000px;
    border-radius: 0px;
    cursor: auto;
  }
  
  .modaal-container.is_loading {
    height: 100px;
    width: 100px;
    overflow: hidden;
  }
  
  .modaal-fullscreen .modaal-container {
    max-width: none;
    height: 100%;
    overflow: auto;
  }
  
  .modaal-close {
    position: fixed;
    right: 40px;
    top: 10px;
    color: #fff;
    cursor: pointer;
    opacity: 1;
    width: 70px;
    height: 70px;
    background: rgba(0, 0, 0, 0);
    border-radius: 100%;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  
  @media screen and (max-width: 480px) {
    .modaal-close {
      right: 20px;
      top: 20px;
      width: 50px;
      height: 50px;
    }
  }
  
  .modaal-close:focus, .modaal-close:hover {
    outline: none;
  }
  
  .modaal-close:focus:before, .modaal-close:focus:after, .modaal-close:hover:before, .modaal-close:hover:after {
    background: #b93d0c;
  }
  
  .modaal-close span {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
  }
  
  .modaal-close:before, .modaal-close:after {
    display: block;
    content: " ";
    position: absolute;
    top: 8px;
    left: 33px;
    width: 4px;
    height: 56px;
    border-radius: 4px;
    background: #fff;
    -webkit-transition: background 0.2s ease-in-out;
    transition: background 0.2s ease-in-out;
  }
  
  @media screen and (max-width: 480px) {
    .modaal-close:before, .modaal-close:after {
      top: 14px;
      left: 23px;
      height: 22px;
      width: 3px;
    }
  }
  
  .modaal-close:before {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  
  .modaal-close:after {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  
  .modaal-fullscreen .modaal-close {
    background: #afb7bc;
    right: 10px;
    top: 10px;
  }
  
  .modaal-content-container {
    padding: 0px;
  }
  
  .modaal-confirm-wrap {
    padding: 30px 0 0;
    text-align: center;
    font-size: 0;
  }
  
  .modaal-confirm-btn {
    font-size: 14px;
    display: inline-block;
    margin: 0 10px;
    vertical-align: middle;
    cursor: pointer;
    border: none;
    background: transparent;
  }
  
  .modaal-confirm-btn.modaal-ok {
    padding: 10px 15px;
    color: #fff;
    background: #555;
    border-radius: 3px;
    -webkit-transition: background 0.2s ease-in-out;
    transition: background 0.2s ease-in-out;
  }
  
  .modaal-confirm-btn.modaal-ok:hover {
    background: #2f2f2f;
  }
  
  .modaal-confirm-btn.modaal-cancel {
    text-decoration: underline;
  }
  
  .modaal-confirm-btn.modaal-cancel:hover {
    text-decoration: none;
    color: #2f2f2f;
  }
  
  @keyframes instaReveal {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  
  @-webkit-keyframes instaReveal {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  
  .modaal-instagram .modaal-container {
    width: auto;
    background: transparent;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
  }
  
  .modaal-instagram .modaal-content-container {
    padding: 0;
    background: transparent;
  }
  
  .modaal-instagram .modaal-content-container > blockquote {
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
  }
  
  .modaal-instagram iframe {
    opacity: 0;
    margin: -6px !important;
    border-radius: 0 !important;
    width: 1000px !important;
    max-width: 800px !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    -webkit-animation: instaReveal 1s linear forwards;
            animation: instaReveal 1s linear forwards;
  }
  
  .modaal-image .modaal-inner-wrapper {
    padding-left: 140px;
    padding-right: 140px;
  }
  
  .modaal-image .modaal-container {
    width: auto;
    max-width: 100%;
  }
  
  .modaal-gallery-wrap {
    position: relative;
    color: #fff;
  }
  
  .modaal-gallery-item {
    display: none;
  }
  
  .modaal-gallery-item img {
    display: block;
  }
  
  .modaal-gallery-item.is_active {
    display: block;
  }
  
  .modaal-gallery-label {
    position: absolute;
    left: 0;
    width: 100%;
    margin: 20px 0 0;
    font-size: 18px;
    text-align: center;
    color: #fff;
  }
  
  .modaal-gallery-label:focus {
    outline: none;
  }
  
  .modaal-gallery-control {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    opacity: 1;
    cursor: pointer;
    color: #fff;
    width: 50px;
    height: 50px;
    background: rgba(0, 0, 0, 0);
    border: none;
    border-radius: 100%;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  
  .modaal-gallery-control.is_hidden {
    opacity: 0;
    cursor: default;
  }
  
  .modaal-gallery-control:focus, .modaal-gallery-control:hover {
    outline: none;
    background: #fff;
  }
  
  .modaal-gallery-control:focus:before, .modaal-gallery-control:focus:after, .modaal-gallery-control:hover:before, .modaal-gallery-control:hover:after {
    background: #afb7bc;
  }
  
  .modaal-gallery-control span {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
  }
  
  .modaal-gallery-control:before, .modaal-gallery-control:after {
    display: block;
    content: " ";
    position: absolute;
    top: 16px;
    left: 25px;
    width: 4px;
    height: 18px;
    border-radius: 4px;
    background: #fff;
    -webkit-transition: background 0.2s ease-in-out;
    transition: background 0.2s ease-in-out;
  }
  
  .modaal-gallery-control:before {
    margin: -5px 0 0;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  
  .modaal-gallery-control:after {
    margin: 5px 0 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  
  .modaal-gallery-next-inner {
    left: 100%;
    margin-left: 40px;
  }
  
  .modaal-gallery-next-outer {
    right: 45px;
  }
  
  .modaal-gallery-prev:before, .modaal-gallery-prev:after {
    left: 22px;
  }
  
  .modaal-gallery-prev:before {
    margin: 5px 0 0;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  
  .modaal-gallery-prev:after {
    margin: -5px 0 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  
  .modaal-gallery-prev-inner {
    right: 100%;
    margin-right: 40px;
  }
  
  .modaal-gallery-prev-outer {
    left: 45px;
  }
  
  .modaal-video-wrap {
    margin: auto 50px;
    position: relative;
  }
  
  .modaal-video-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    background: #000;
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto;
  }
  
  .modaal-video-container iframe,
  .modaal-video-container object,
  .modaal-video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  
  .modaal-iframe .modaal-content {
    width: 100%;
    height: 100%;
  }
  
  .modaal-iframe-elem {
    width: 100%;
    height: 100%;
    display: block;
  }
  
  @media only screen and (min-width: 1400px) {
    .modaal-video-container {
      padding-bottom: 0;
      height: 731px;
    }
  }
  
  @media only screen and (max-width: 1140px) {
    .modaal-image .modaal-inner-wrapper {
      padding-left: 25px;
      padding-right: 25px;
    }
    .modaal-gallery-control {
      top: auto;
      bottom: 20px;
      -webkit-transform: none;
              transform: none;
      background: rgba(0, 0, 0, 0.7);
    }
    .modaal-gallery-control:before, .modaal-gallery-control:after {
      background: #fff;
    }
    .modaal-gallery-next {
      left: auto;
      right: 20px;
    }
    .modaal-gallery-prev {
      left: 20px;
      right: auto;
    }
  }
  
  @media screen and (max-width: 900px) {
    .modaal-instagram iframe {
      width: 500px !important;
    }
  }
  
  @media screen and (max-height: 1100px) {
    .modaal-instagram iframe {
      width: 700px !important;
    }
  }
  
  @media screen and (max-height: 1000px) {
    .modaal-inner-wrapper {
      padding-top: 60px;
      padding-bottom: 60px;
    }
    .modaal-instagram iframe {
      width: 600px !important;
    }
  }
  
  @media screen and (max-height: 900px) {
    .modaal-instagram iframe {
      width: 500px !important;
    }
    .modaal-video-container {
      max-width: 900px;
      max-height: 510px;
    }
  }
  
  @media only screen and (max-width: 600px) {
    .modaal-instagram iframe {
      width: 280px !important;
    }
  }
  
  @media only screen and (max-height: 820px) {
    .modaal-gallery-label {
      display: none;
    }
  }
  
  .modaal-loading-spinner {
    background: none;
    position: absolute;
    width: 200px;
    height: 200px;
    top: 50%;
    left: 50%;
    margin: -100px 0 0 -100px;
    -webkit-transform: scale(0.25);
            transform: scale(0.25);
  }
  
  @-webkit-keyframes modaal-loading-spinner {
    0% {
      opacity: 1;
      -webkit-transform: scale(1.5);
      transform: scale(1.5);
    }
    100% {
      opacity: .1;
      -webkit-transform: scale(1);
      transform: scale(1);
    }
  }
  
  @keyframes modaal-loading-spinner {
    0% {
      opacity: 1;
      -webkit-transform: scale(1.5);
      transform: scale(1.5);
    }
    100% {
      opacity: .1;
      -webkit-transform: scale(1);
      transform: scale(1);
    }
  }
  
  .modaal-loading-spinner > div {
    width: 24px;
    height: 24px;
    margin-left: 4px;
    margin-top: 4px;
    position: absolute;
  }
  
  .modaal-loading-spinner > div > div {
    width: 100%;
    height: 100%;
    border-radius: 15px;
    background: #fff;
  }
  
  .modaal-loading-spinner > div:nth-of-type(1) > div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
  }
  
  .modaal-loading-spinner > div:nth-of-type(2) > div, .modaal-loading-spinner > div:nth-of-type(3) > div {
    -ms-animation: modaal-loading-spinner 1s linear infinite;
    -moz-animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    -o-animation: modaal-loading-spinner 1s linear infinite;
  }
  
  .modaal-loading-spinner > div:nth-of-type(1) {
    -webkit-transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
    transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
  }
  
  .modaal-loading-spinner > div:nth-of-type(2) > div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
            animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .12s;
    animation-delay: .12s;
  }
  
  .modaal-loading-spinner > div:nth-of-type(2) {
    -webkit-transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
    transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
  }
  
  .modaal-loading-spinner > div:nth-of-type(3) > div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
            animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .25s;
    animation-delay: .25s;
  }
  
  .modaal-loading-spinner > div:nth-of-type(4) > div, .modaal-loading-spinner > div:nth-of-type(5) > div {
    -ms-animation: modaal-loading-spinner 1s linear infinite;
    -moz-animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    -o-animation: modaal-loading-spinner 1s linear infinite;
  }
  
  .modaal-loading-spinner > div:nth-of-type(3) {
    -webkit-transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
    transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
  }
  
  .modaal-loading-spinner > div:nth-of-type(4) > div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
            animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .37s;
    animation-delay: .37s;
  }
  
  .modaal-loading-spinner > div:nth-of-type(4) {
    -webkit-transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
    transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
  }
  
  .modaal-loading-spinner > div:nth-of-type(5) > div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
            animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .5s;
    animation-delay: .5s;
  }
  
  .modaal-loading-spinner > div:nth-of-type(6) > div, .modaal-loading-spinner > div:nth-of-type(7) > div {
    -ms-animation: modaal-loading-spinner 1s linear infinite;
    -moz-animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    -o-animation: modaal-loading-spinner 1s linear infinite;
  }
  
  .modaal-loading-spinner > div:nth-of-type(5) {
    -webkit-transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
    transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
  }
  
  .modaal-loading-spinner > div:nth-of-type(6) > div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
            animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .62s;
    animation-delay: .62s;
  }
  
  .modaal-loading-spinner > div:nth-of-type(6) {
    -webkit-transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
    transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
  }
  
  .modaal-loading-spinner > div:nth-of-type(7) > div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
            animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .75s;
    animation-delay: .75s;
  }
  
  .modaal-loading-spinner > div:nth-of-type(7) {
    -webkit-transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
    transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
  }
  
  .modaal-loading-spinner > div:nth-of-type(8) > div {
    -webkit-animation: modaal-loading-spinner 1s linear infinite;
    animation: modaal-loading-spinner 1s linear infinite;
    -webkit-animation-delay: .87s;
    animation-delay: .87s;
  }
  
  .modaal-loading-spinner > div:nth-of-type(8) {
    -webkit-transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
    transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
  }
  
  #modal {
    display: none;
  }
  
  .modaal-inner-wrapper::before {
    content: "";
    display: block;
    height: 65px;
    width: 100%;
  }
  
  .modaal-close {
    z-index: 20;
  }
  
  @media screen and (max-width: 480px) {
    .modaal-close {
      right: 27px;
      top: 6px;
      background: rgba(51, 51, 51, 0.8);
    }
  }
  
  .modal {
    height: 30px;
    padding: 4px 10px 0px 10px;
    font-size: 14px;
    margin-left: 20px;
    background-color: #8c0766;
    display: inline-block;
  }
  
  .modal span {
    color: white;
  }
  
  @media screen and (max-width: 480px) {
    .modal {
      margin-left: 0;
      margin-bottom: 30px;
    }
  }
  
  .modal_head {
    width: 100%;
    height: 68px;
    position: fixed;
    background-color: rgba(36, 0, 0, 0.8);
    top: 0;
    left: 0;
  }
  
  .modal_space {
    height: 80px;
  }
  
  @media screen and (max-width: 480px) {
    .modal_space {
      height: 60px;
    }
  }
  
  .modal_content {
    background: #fff;
    padding: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
  
  .modal_content .right_one {
    margin-right: 25%;
  }
  
  .modal_content .right_two {
    margin-right: 50%;
  }
  
  .modal_content h2 {
    width: 100%;
    text-align: center;
    background-color: #8c0766;
    color: white;
    margin-bottom: 30px;
    padding: 6px 0 6px 0;
  }
  
  @media screen and (max-width: 480px) {
    .modal_content {
      min-width: initial;
      width: 100%;
      padding: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: distribute;
          justify-content: space-around;
    }
    .modal_content .right_one {
      margin-right: 0;
    }
    .modal_content .right_two {
      margin-right: 0;
    }
    .modal_content h2 {
      margin: 0;
    }
  }
  
  .modal_list {
    width: 25%;
    padding: 20px;
    border-bottom: solid 1px #000;
    border-right: solid 1px #000;
    position: relative;
  }
  
  .modal_list:nth-of-type(4n) {
    border-right: none;
  }
  
  .modal_list:nth-last-of-type(-n+3) {
    border-bottom: none;
  }
  
  .modal_list h3 {
    color: #8c0766;
    font-size: 1.6rem;
    font-family: "ヒラギノ角ゴ W6 JIS2004", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W6", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    margin-bottom: 20px;
    height: 50px;
  }
  
  .modal_list p {
    font-size: 1.4rem;
  }
  
  @media screen and (max-width: 480px) {
    .modal_list {
      width: 100%;
      border-bottom: solid 1px #000;
      border-right: none;
      border-left: none;
      padding: 14px;
    }
    .modal_list:nth-last-of-type(-n+3) {
      border-bottom: solid 1px #000;
    }
    .modal_list h3 {
      margin-bottom: 0;
      height: auto;
    }
    .modal_list p {
      display: none;
    }
    .modal_list::before, .modal_list::after {
      content: '';
      display: block;
      position: absolute;
      top: 25px;
      right: 20px;
      width: 18px;
      height: 2px;
      margin-top: -1px;
      background-color: #5a5858;
      -webkit-transform-origin: 50% 50%;
              transform-origin: 50% 50%;
      -webkit-transition: all 0.3s ease-out;
      transition: all 0.3s ease-out;
    }
    .modal_list::before {
      -webkit-transform: rotate(-90deg);
              transform: rotate(-90deg);
      opacity: 1;
      z-index: 2;
    }
    .modal_list.open::before {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg);
    }
  }
  
  .modal_emphasize {
    color: red;
  }