@charset "utf-8";
html{
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}
body {
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    overflow-x: hidden !important;
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    font-style: normal;
    color: #000;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 1px;
}
input,
select,
textarea {
    font-size: 16px !important;
}
input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    width: 20px;
}
input[type="search"],
button {
    -webkit-appearance: none;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
button:disabled {
    background: #AAA !important;
}
svg:not(:root) {
    overflow: hidden;
}
img {
    border: none;
    width: auto;
    max-width: 100%;
    height: auto;
    line-height: 0;
    vertical-align: bottom;
}
.full, .w100p {
    width: 100%;
}
.w95p {width: 95% !important;}
.w90p {width: 90% !important;}
.w80p {width: 80% !important;}
.w70p {width: 70% !important;}
.w60p {width: 60% !important;}
.w50p {width: 50% !important;}
.w48p {width: 48% !important;}
.w45p {width: 45% !important;}
.w40p {width: 40% !important;}
.w33p {width: 33% !important;}
.w30p {width: 30% !important;}
.w20p {width: 20% !important;}
.w10p {width: 10% !important;}

.w50 {width: 50px;}
.w70 {width: 70px;}
.w100 {width: 100px;}
.w150 {width: 150px;}
.w200 {width: 200px;}
.w300 {width: 300px;}
.w350 {width: 350px;}
.w400 {width: 400px;}

.mw95p {max-width: 95%;}
.mw90p {max-width: 90%;}
.mw80p {max-width: 80%;}
.mw70p {max-width: 70%;}
.mw60p {max-width: 60%;}
.mw50p {max-width: 50%;}

.h40 {height: 40px;}

.lh-rem-20 {
    line-height: 2rem;
}

.h-rem-10 {
    height: 1rem;
}
.h-rem-15 {
    height: 1.5rem;
}
.h-rem-30 {
    height: 3rem;
}
mark {
    background: #f9fbb8;
}
a,
a i,
a small,
a span,
a img {
    background: transparent;
    text-decoration: none;
    -webkit-transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
a:focus,
*:focus {
    outline: none;
}
a:hover,
a:hover i,
a:hover small,
a:hover span,
a:hover strong {
    color: #e4007f;
}
a:hover img {
    text-decoration: none;
    opacity: .7 !important;
    -webkit-opacity: .7 !important;
    -moz-opacity: .7 !important;
}
a.link {
    text-decoration: underline;
    color: #009ce1;
}
a.ex-link:after {
    font-family: "Font Awesome 5 Free";
    content: '\f360';
    color: #e63e80;
    font-size: 1rem;
    font-weight: 900;
}
.fade {
    -webkit-transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
.fade:hover {
    opacity: 1;
    text-decoration: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    padding: 0;
}
p,
dt,
dd {
    line-height: 1.7em;
    font-size: 14px;
    margin: 0 0 1.6em;
}
ul.nolist,
ol.nolist {
    margin: 0;
    padding: 0;
}
ul.nolist li,
ol.nolist li {
    list-style: none;
    padding: 0;
    margin: 0;
    transition: all .5s;
}
.right {
    text-align: right !important;
}
.left {
    text-align: left !important;
}
.center {
    text-align: center !important;
}
.mauto {
    margin-left: auto !important;
    margin-right: auto !important;
}
.pright {
    padding-right: 5px;
}
.pleft {
    padding-left: 5px;
}
.block {
    display: block;
}
.iblock {
    display: inline-block;
}
.floatl {float: left;}
.floatr {float: right;}
.note {
    padding-left: 0.8em;
}
.note span {
    font-size: 13.5px;
    text-indent: -1em;
    display: block;
    line-height: 1.6em;
}
.forsp {
    display: none !important;
}
.text-primary {
    color: #e4007f !important;
}

.fs-medium {font-size: .9rem;}
.fs-small {font-size: .8rem;}
.fs-tiny {font-size: .75rem;}

@media screen and (max-width: 1280px) {
    p,
    th,
    td,
    dt,
    dd,
    li {
        line-height: 1.6em;
        font-size: 14px;
        letter-spacing: 1px;
    }
    .note span {
        font-size: 12px;
        line-height: 1.4em;
    }
}
@media screen and (max-width: 980px) {
    .forpc {
        display: none !important;
    }
    .forsp {
        display: block !important;
    }
    * {
        letter-spacing: 0 !important;
    }
}

/*FLEX*/
.flex_content {
    display: flex;
    display: -webkit-flex;
}
.flex_wrap {
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}
.flex_nowrap {
    flex-wrap: nowrap !important;
    -webkit-flex-wrap: nowrap !important;
}
.flex_justify {
    justify-content: space-between;
    -webkit-justify-content: space-between;
}
.flex_justify_around {
    justify-content: space-around;
    -webkit-justify-content: space-around;
}
.flex_start {
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
}
.flex_end {
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
}
.flex_center {
    justify-content: center;
    -webkit-justify-content: center;
}
.flex_align {
    align-content: space-between;
    -webkit-align-content: space-between;
}
.flex_middle {
    align-items: center;
    -webkit-align-items: center;
}
.flex_bottom {
    align-items: flex-end;
    -webkit-align-items: flex-end;
}
.flex_top {
    align-items: flex-start;
    -webkit-align-items: flex-start;
}
.flex_all {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center;
    -webkit-align-items: center;
}
.flex_left,
.flex_right {
    flex-basis: 48%;
    -webkit-flex-basis: 48%;
    max-width: 48%;
}
.flex_grow { flex-grow: 1; }
.flex-dr-rr {flex-direction: row-reverse;}
.flex-dr-cl {flex-direction: column;}
.flex-gap-06p {gap: 0 .6%;}
@media screen and (max-width: 680px) {
    .flex_left,
    .flex_right {
        flex-basis: 100% !important;
        -webkit-flex-basis: 100% !important;
        max-width: 100% !important;
    }
}
/*POSITION*/
.prelative{
    position: relative !important;
}
.pabsolute{
    position: absolute !important;
}
/*YOUTUBE*/
.yt {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
.yt iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
    border: none;
}
/*MARGIN*/
.mt100 {
    margin-top: 100px !important;
}
.mt80 {
    margin-top: 80px !important;
}
.mt70 {
    margin-top: 70px !important;
}
.mt60 {
    margin-top: 60px !important;
}
.mt50 {
    margin-top: 50px !important;
}
.mt40 {
    margin-top: 40px !important;
}
.mt30 {
    margin-top: 30px !important;
}
.mt20 {
    margin-top: 20px !important;
}
.mt10 {
    margin-top: 10px !important;
}
.mt0 {
    margin-top: 0 !important;
}

.mb200 {
    margin-bottom: 200px !important;
}
.mb150 {
    margin-bottom: 150px !important;
}
.mb100 {
    margin-bottom: 100px !important;
}
.mb80 {
    margin-bottom: 80px !important;
}
.mb70 {
    margin-bottom: 70px !important;
}
.mb60 {
    margin-bottom: 60px !important;
}
.mb50 {
    margin-bottom: 50px !important;
}
.mb40 {
    margin-bottom: 40px !important;
}
.mb30 {
    margin-bottom: 30px !important;
}
.mb20 {
    margin-bottom: 20px !important;
}
.mb10 {
    margin-bottom: 10px !important;
}
.mb5 {
    margin-bottom: 5px !important;
}
.mb0 {
    margin-bottom: 0 !important;
}
.ml0{
    margin-left: 0 !important;
}
.ml5{
    margin-left: 5px !important;
}
.ml10{
    margin-left: 10px !important;
}
.ml20{
    margin-left: 20px !important;
}
.mr10{
    margin-right: 10px !important;
}
.mr20{
    margin-right: 20px !important;
}
.pd100 {
    padding: 100px 0 !important;
}
.pd80 {
    padding: 80px 0 !important;
}
.pd60 {
    padding: 60px 0 !important;
}
.pd40 {
    padding: 40px 0 !important;
}
.pd30 {
    padding: 30px 0 !important;
}
.pd20 {
    padding: 20px 0 !important;
}
.pd10 {
    padding: 10px 0 !important;
}
.pd8 {
    padding: 0 8px !important;
}
.pa100 {
    padding: 100px !important;
}
.pa80 {
    padding: 80px !important;
}
.pa60 {
    padding: 60px !important;
}
.pa40 {
    padding: 40px !important;
}
.pa30 {
    padding: 30px !important;
}
.pa20 {
    padding: 20px !important;
}
.pa10 {
    padding: 10px !important;
}
.pa0 {
    padding: 0 !important;
}
.pt100 {
    padding-top: 100px !important;
}
.pt0 {
    padding-top: 0 !important;
}
.bt0 {
    border-top: 0 !important;
}
.mlr-center-pc {
    margin-left: 100px;
    margin-right: 100px;
}
.no-border {border: none !important;}

@media screen and (max-width: 1380px) {
    .mb200 {
        margin-bottom: 180px !important;
    }
    .mb150 {
        margin-bottom: 130px !important;
    }
    .mb100 {
        margin-bottom: 80px !important;
    }
    .mb80 {
        margin-bottom: 70px !important;
    }
    .mb70 {
        margin-bottom: 60px !important;
    }
    .mb60 {
        margin-bottom: 50px !important;
    }
    .mb50 {
        margin-bottom: 40px !important;
    }
    .mb40 {
        margin-bottom: 30px !important;
    }
    .mb30 {
        margin-bottom: 20px !important;
    }
    .pd100 {
        padding: 80px 0 !important;
    }
    .pd80 {
        padding: 70px 0 !important;
    }
    .pd60 {
        padding: 50px 0 !important;
    }
    .pd40 {
        padding: 30px 0 !important;
    }
    .pd30 {
        padding: 20px 0 !important;
    }
    .pa100 {
        padding: 80px !important;
    }
    .pa80 {
        padding: 70px !important;
    }
    .pa60 {
        padding: 50px !important;
    }
    .pa40 {
        padding: 30px !important;
    }
    .pa30 {
        padding: 20px !important;
    }
    .mlr-center-pc {
        margin-left: 80px;
        margin-right: 80px;
    }
}
@media screen and (max-width: 1280px) {
    .mb200 {
        margin-bottom: 160px !important;
    }
    .mb150 {
        margin-bottom: 100px !important;
    }
    .mb100 {
        margin-bottom: 70px !important;
    }
    .mb80 {
        margin-bottom: 60px !important;
    }
    .mb70 {
        margin-bottom: 50px !important;
    }
    .mb60 {
        margin-bottom: 40px !important;
    }
    .mb50 {
        margin-bottom: 30px !important;
    }
    .pd100 {
        padding: 70px 0 !important;
    }
    .pd80 {
        padding: 60px 0 !important;
    }
    .pd60 {
        padding: 40px 0 !important;
    }
    .pa100 {
        padding: 70px !important;
    }
    .pa80 {
        padding: 60px !important;
    }
    .pa60 {
        padding: 40px !important;
    }
    .mlr-center-pc {
        margin-left: 60px;
        margin-right: 60px;
    }
}
@media screen and (max-width: 980px) {
    .mb200 {
        margin-bottom: 150px !important;
    }
    .mb150 {
        margin-bottom: 80px !important;
    }
    .mb100 {
        margin-bottom: 60px !important;
    }
    .mb80 {
        margin-bottom: 50px !important;
    }
    .mb70 {
        margin-bottom: 40px !important;
    }
    .mb60 {
        margin-bottom: 30px !important;
    }
    .mb50 {
        margin-bottom: 20px !important;
    }
    .pd100 {
        padding: 60px 0 !important;
    }
    .pd80 {
        padding: 50px 0 !important;
    }
    .pd60 {
        padding: 30px 0 !important;
    }
    .pa100 {
        padding: 60px !important;
    }
    .pa80 {
        padding: 50px !important;
    }
    .pa60 {
        padding: 30px !important;
    }
    .mlr-center-pc {
        margin-left: 20px;
        margin-right: 20px;
    }
}
@media screen and (max-width: 680px) {
    .mb200 {
        margin-bottom: 120px !important;
    }
	.mt100 {
		margin-top: 50px !important;
	}
    .mb100 {
        margin-bottom: 50px !important;
    }
    .mb80 {
        margin-bottom: 40px !important;
    }
    .mb40 {
        margin-bottom: 20px !important;
    }
    .pd100 {
        padding: 50px 0 !important;
    }
    .pd80 {
        padding: 40px 0 !important;
    }
    .pd40 {
        padding: 20px 0 !important;
    }
    .pa100 {
        padding: 50px !important;
    }
    .pa80 {
        padding: 40px !important;
    }
    .pa40 {
        padding: 20px !important;
    }
    .pa30 {
        padding: 10px !important;
    }
    .mlr-center-pc {
        margin-left: 0px;
        margin-right: 0px;
    }
}

/**
 * message
 */
.sub-info, .sub-info span {font-size: .92rem; color: #4a4a4a;}

 /**
  * select2
  */
.select2-container {width: 100% !important;}
.select2-container .select2-selection {height: 30px; line-height: 30px;}
.select2-selection {height: 38px !important; border-color: #ddd;}
.select2-selection--multiple {height: auto !important; padding: 5px; border-color: #ddd;}
.select2-selection__choice {position: relative; z-index: 3; height: 30px !important; margin-left: 15px !important; line-height: 30px !important; border: none !important; background-color: #009ce1 !important;}
.select2-selection__choice::before {content: ""; position: absolute; left: 1px; top: -1px; z-index: 2; width: 22px; height: 22px; border-radius: 3px; transform-origin: left top; transform: rotate(45deg); background: #009ce1; z-index: -1;}
.select2-selection__choice__display {color: #FFF;}
.select2-selection__choice__remove {border-right: none !important;}
.select2-selection__choice__remove span {color: #FFF;}
.select2-selection__rendered {line-height: 36px !important;}
.select2-selection__arrow {height: 36px !important;}
.select2-container--focus .select2-selection--multiple {border-color: #e4007f !important;}

@media screen and (max-width: 780px) {
    .select2-selection--multiple {padding: 0;}
    .select2-selection__choice {display: flex !important; align-items: center; flex-wrap: nowrap !important;}
    .select2-selection__choice__display {font-size: .5rem;}
}

/**
 * フォーム
 */
input[type="text"].form-control,
input[type="email"].form-control,
input[type="password"].form-control,
input[type="number"].form-control,
input[type="tel"].form-control,
input[type="search"].form-control {width: 100%; height: 40px; padding: 0 8px; line-height: 38px; border-radius: 5px;}
select.form-control {width: 100%; height: 40px; padding: 0 5px; line-height: 38px; border-radius: 5px;}
.form-wrap input,
.form-wrap select,
.form-wrap textarea {border: none; background: #FFF; border-bottom: 1px solid #FECF1D;}
.form-check {display: inline-block; margin-right: 10px; padding: 10px; background: #FFF; border-radius: 5px; border-bottom: 1px solid #FECF1D;}
.form-check:last-child {margin-right: 0;}
.form-icon-required::after {content: "*"; color: #F00;}

.form-wrap {background: #FAECB4; padding: 10px;}
.form-row {margin-bottom: 15px;}
.form-row:last-child {margin-bottom: 0;}
.form-input {display: flex;}
.form-input .form-control {flex-grow: 1; flex-shrink: 1;}
.form-input .form-affix {line-height: 40px; padding: 0 8px; white-space: nowrap;}
.form-invalid {margin-bottom: 5px; color: #F00;}
.form-note {margin-top: 5px; font-size: 0.9em; color: #666;}
.form-display {padding: 10px 0;}
.form-body {line-height: 1.5rem; word-break: break-all;}

.input-number-no-arrow::-webkit-inner-spin-button,
.input-number-no-arrow::-webkit-outer-spin-button {-webkit-appearance: none; margin: 0; -moz-appearance:textfield;}

.btn {cursor: pointer;}
.indent-15 label {text-indent: -1.5rem; padding-left: 2.5rem;}

.p-inline-box {font-weight: bold; padding: 1rem; display: inline-block; background: #eee; }

@media (max-width: 600px) {
    .form-head { font-weight: bold; margin-top: 2rem; margin-bottom: .5rem; color: #196f6d;}
    .form-input {flex-wrap: wrap;}
    .form-input .form-check {margin-bottom: .3rem;}
}

@media (min-width: 601px) {
    .form-wrap {padding: 20px;}
    .form-row {display: flex; justify-content: space-between;}
    .form-head {flex-basis: 160px; padding-top: 10px;}
    .form-body {flex-basis: calc(100% - 180px);}
    .form-wrap {padding: 20px; background: #FAECB4;}
    .form-input-medium {max-width: 400px;}
    .form-input-short {max-width: 200px;}
}

.multiple-uploader-list {padding-left: 20px;}
.multiple-uploader-remove {border: none; background: none;}
.multiple-uploader-remove i {color: #888;}
.multiple-uploader-error {padding-left: 20px; color: #C00;}
.multiple-uploader-button {padding: 5px 10px; border: none; background: #FFF; border-bottom: 1px solid #FECF1D; border-radius: 5px;}
.multiple-uploader-button i {color: #FECF1D;}

.btn-destination {color: #fff; font-size: .9rem; font-weight: normal; border: none; border-bottom: 1px solid #FECF1D; border-radius: 5px; padding: 0 1rem; margin-left: 1rem; background: #439f9d; cursor: pointer;}
.select-destination {background-color: #d4efee !important; color: #197371;}

.mail-notice {display: flex; align-items: center; margin: 30px; padding: 20px; background: #f2d5e5;}
.mail-notice i {margin-right: 20px; color: #e4007f; font-size: 40px;}
.mail-notice p {margin-bottom: 0;}
.mail-notice strong {font-weight: bold; color: #e4007f;}




