@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

/*==================================================================
	Style setting
===================================================================*/
@font-face {
  font-family: Hiragino Sans;
  src: local(HiraginoSans-W0);
  font-weight: 100;
}
@font-face {
  font-family: Hiragino Sans;
  src: local(HiraginoSans-W1);
  font-weight: 200;
}
@font-face {
  font-family: Hiragino Sans;
  src: local(HiraginoSans-W2);
  font-weight: 300;
}
@font-face {
  font-family: Hiragino Sans;
  src: local(HiraginoSans-W3);
}
@font-face {
  font-family: Hiragino Sans;
  src: local(HiraginoSans-W4);
  font-weight: 500;
}
@font-face {
  font-family: Hiragino Sans;
  src: local(HiraginoSans-W5);
  font-weight: 600;
}
@font-face {
  font-family: Hiragino Sans;
  src: local(HiraginoSans-W6);
  font-weight: 700;
}
@font-face {
  font-family: Hiragino Sans;
  src: local(HiraginoSans-W7);
  font-weight: 800;
}
@font-face {
  font-family: Hiragino Sans;
  src: local(HiraginoSans-W8);
  font-weight: 900;
}
@font-face {
  font-family: Hiragino Sans W9;
  src: local(HiraginoSans-W9);
  font-weight: 900;
}
@font-face {
  font-family: Yu Gothic;
  src: local('Yu Gothic Medium');
  font-weight: 100;
}
@font-face {
  font-family: Yu Gothic;
  src: local('Yu Gothic Medium');
  font-weight: 200;
}
@font-face {
  font-family: Yu Gothic;
  src: local('Yu Gothic Medium');
  font-weight: 300;
}
@font-face {
  font-family: Yu Gothic;
  src: local('Yu Gothic Medium');
}
@font-face {
  font-family: Yu Gothic;
  src: local('Yu Gothic Bold');
  font-weight: 700;
}
@font-face {
  font-family: UniversNextPro;
  font-weight: 300;
  src: url(../fonts/361A88_0_0.eot);
  src: url(../fonts/361A88_0_0.eot?#iefix) format('embedded-opentype'),
    url(../fonts/361A88_0_0.woff2) format('woff2'),
    url(../fonts/361A88_0_0.woff) format('woff'),
    url(../fonts/361A88_0_0.ttf) format('truetype');
}
@font-face {
  font-family: UniversNextPro;
  src: url(../fonts/361A88_1_0.eot);
  src: url(../fonts/361A88_1_0.eot?#iefix) format('embedded-opentype'),
    url(../fonts/361A88_1_0.woff2) format('woff2'),
    url(../fonts/361A88_1_0.woff) format('woff'),
    url(../fonts/361A88_1_0.ttf) format('truetype');
}
@font-face {
  font-family: UniversNextPro;
  font-weight: 700;
  src: url(../fonts/361A88_2_0.eot);
  src: url(../fonts/361A88_2_0.eot?#iefix) format('embedded-opentype'),
    url(../fonts/361A88_2_0.woff2) format('woff2'),
    url(../fonts/361A88_2_0.woff) format('woff'),
    url(../fonts/361A88_2_0.ttf) format('truetype');
}
@font-face {
  font-family: UniversNextPro;
  font-weight: 300;
  src: url(../fonts/361A88_3_0.eot);
  src: url(../fonts/361A88_3_0.eot?#iefix) format('embedded-opentype'),
    url(../fonts/361A88_3_0.woff2) format('woff2'),
    url(../fonts/361A88_3_0.woff) format('woff'),
    url(../fonts/361A88_3_0.ttf) format('truetype');
}
@font-face {
  font-family: Quickpen;
  src: url(../fonts/361A88_4_0.eot);
  src: url(../fonts/361A88_4_0.eot?#iefix) format('embedded-opentype'),
    url(../fonts/361A88_4_0.woff2) format('woff2'),
    url(../fonts/361A88_4_0.woff) format('woff'),
    url(../fonts/361A88_4_0.ttf) format('truetype');
}


html {
	font-size: 62.5%;
	overflow-x:hidden;
}
.page {
	color: #000000;
	font-size: 14px;
	font-family: "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Helvetica, Arial, sans-serif;
	line-height: 2.28571;
	letter-spacing: 0.06em;
	will-change: opacity;
	overflow: hidden;
	background: rgb(255, 255, 255);
}

.en {
    font-family: UniversNextPro, Helvetica, Arial, sans-serif;
    font-weight: 500;
    font-style: normal;
}

@media screen and (max-width: 767px){
}

/*==================================================================
	Header setting
===================================================================*/
.header {
	padding: 60px 60px 0;
}
.logo {
    margin-left: 15px;
	width: 134px;
}
.page-title {
	border-bottom: 4px solid #000;
	font-size: 22px;
	font-weight: 600;
    letter-spacing: 0;
    padding: 5px 0 25px;
	text-align: center;
}

@media all and (max-width: 767px) {
    .header { padding: 20px 0;}
    .logo { margin: 0 auto; max-width: 75px;}
    .page-title { font-size: 17px; padding: 30px 0 15px;}
}

/*==================================================================
	Main setting
===================================================================*/
.main { padding: 40px 60px 50px; }
.wrap {
	margin: 0 auto;
	max-width: 1000px;
}
@media screen and (max-width: 767px){
.main { padding: 20px 20px 30px; }
}

/*==================================================================
	Footer setting
===================================================================*/
.footer {
    background-color: #f0f2f1;
    color: #222;
    padding: 90px 60px 50px;
}
.fwrap {
    border-top: 2px solid #b9bfbe;
    border-bottom: 2px solid #b9bfbe;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    padding: 100px 0;
}
.fcol {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    text-align: left;
    width: 50%;
}
.fcol p {
    width: 100%;
}
.fttl {
    margin: 0 0 8px;
    font-size: 36px;
    font-weight: lighter;
    line-height: 1.3;
    letter-spacing: .24em;
}
.fttl .en { font-weight: 300; }
.ftxt {
    font-family: "見出ゴMB31", Hiragino Sans, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, sans-serif;
    font-size: 18px;
    letter-spacing: .1em;
}
.ftime {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.7;
    letter-spacing: .04em;
    margin-bottom: 20px;
}
.fphone .num {
    color: #222;
    font-size: 50px;
    line-height: 1;
    letter-spacing: .04em;
}
.fphone .tel { font-size: 25px; }
.copyright {
    font-size: 13px;
    font-weight: 300;
    line-height: 1;
    margin-top: 20px;
    text-align: right;
}
@media screen and (max-width: 767px){
    .footer {
        padding: 60px 28px 30px;
    }
    .fwrap {
        border: none;
        flex-direction: column;
        gap: 30px;
        padding: 0;
    }
    .fcol {
        display: block;
        width: 100%;
    }
    .fttl { font-size: 28px;}
    .ftxt { font-size: 16px;}
    .ftime { font-size: 12px; padding-left: 25px; }
    .fphone .tel { display: none;}
    .fphone .num {
        border-top: 2px solid #b7c4c2;
        border-bottom: 2px solid #b7c4c2;
        display: block;
        font-size: 16px;
        line-height: 1.5;
        padding: 20px 65px 20px 25px;
        position: relative;
    }
    .fphone .num:after {
        background-color: #b7c4c2;
        content: "";
        position: absolute;
        top: calc(50% - 31.25%);
        right: 64px;
        width: 2px;
        height: 62.5%;
    }
    .fphone .num:before {
        background: url(../imgs/icon_arrow_green.svg) no-repeat center;
        background-size: 15px 12px;
        content: "";
        position: absolute;
        top: calc(50% - 6px);
        right: 23px;
        width: 15px;
        height: 12px;
    }
    .copyright {
        padding-top: 60px;
        text-align: left;
    }
}

/*==================================================================
	content setting
===================================================================*/

.ui.selection.dropdown {
    display: block!important;
    padding: 20px 54px 20px 20px!important;
    border: none!important;
    border-radius: 0!important;
    background: #dde3e2!important;
    font-size: 14px;
    -webkit-transition: background-color 1200ms cubic-bezier(.23,1,.32,1);
    transition: background-color 1200ms cubic-bezier(.23,1,.32,1);
	position: relative;
	z-index: 1;
}

.ui.selection.dropdown:hover,.ui.selection.dropdown.active {
    background: #c8d0cf!important;
    box-shadow: none!important;
    -webkit-transition-duration: 0s;
    transition-duration: 0s
}

.ui.selection.dropdown:before {
    content: '';
    position: absolute;
    top: calc(50% - 27.7777778%);
    right: 52px;
    width: 2px;
    height: 55.55555555555556%;
    background: #fff
}

.ui.selection.dropdown .dropdown.icon {
    display: block!important;
    width: 15px!important;
    height: 10px!important;
    right: 20px!important;
    top: calc(50% - 5px)!important;
    margin: 0!important;
    padding: 0!important;
    line-height: 1!important;
    background: url(../imgs/icon_arrow_select.svg) no-repeat center
}

.ui.selection.dropdown .dropdown.icon:before {
    display: none
}

.ui.selection.dropdown .text {
    color: #000!important;
    font-weight: 600;
    letter-spacing: .04em
}

.ui.selection.dropdown .menu {
    min-width: 100%!important;
    width: 100%!important;
    margin: 0!important;
    border: none!important;
    border-right: 2px solid #dde3e2!important;
    border-left: 2px solid #dde3e2!important;
    border-bottom: 2px solid #dde3e2!important;
    border-radius: 0!important;
    background: #fff!important;
    box-shadow: none!important
}

@media all and (max-width: 767px) {
    .ui.selection.dropdown .menu {
        border-top:2px solid #b7c4c2!important;
        border-bottom: 2px solid #b7c4c2!important
    }
}

.ui.selection.dropdown .menu .item {
    position: relative;
    padding: 20px!important;
    border: none!important;
    font-size: 14px!important;
    font-weight: 300;
    -webkit-transition: background-color 1200ms cubic-bezier(.23,1,.32,1);
    transition: background-color 1200ms cubic-bezier(.23,1,.32,1)
}

@media all and (max-width: 767px) {
    .ui.selection.dropdown .menu .item {
        padding:14px 8px!important;
        line-height: 1.2
    }
}

.ui.selection.dropdown .menu .item:hover {
    background: #dde3e2!important;
    -webkit-transition-duration: 0s;
    transition-duration: 0s
}

.ui.selection.dropdown .menu .item:not(:last-child):after {
    content: '';
    display: block;
    position: absolute;
    bottom: -1px;
    left: 50%;
    width: calc(100% - 20px);
    height: 2px;
    margin: auto;
    background: #dde3e2;
    -webkit-transform: translate3d(-50%,0,0);
    transform: translate3d(-50%,0,0)
}

.element + .element {
	margin-top: 40px;
}
.element .ttl {
	font-size: 20px;
    font-weight: 600;
	letter-spacing: 0;
	line-height: 1.6;
	padding-bottom: 20px;
	padding-bottom: 5px;
	border-bottom: 2px solid #dee3e2;
	margin-bottom: 15px;
}
@media all and (max-width: 767px) {
    .element .ttl { font-size: 16px;}
}
.element .block-bdr {
	border: 2px solid #dee3e2; 
	/*border-bottom: 2px solid #dee3e2;*/
	padding: 20px 40px;
	margin-bottom: 30px;
}
.element .block-bg {
	background-color: #fafbfa;
}
.element .block-bg p {
	font-size: 17px;
	letter-spacing: 0.04em;
	line-height: 1.28;
}
.element .ui.selection.dropdown {
    max-width: 50%;
}
@media all and (max-width: 767px) {
	.element .ui.selection.dropdown {
		max-width: 100%;
		width: 100%;
	}	
}
@media all and (max-width: 767px) {
    .element .block-bdr { padding: 15px;}
    .element .block-bg p { font-size: 12px; }
}

.element .block-calendar {
    border-top: 3px solid #63af66;
}
.element .head-calendar {
    background-color: #fbfbfb;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 19px;
    padding: 18px 32px;
}
.element .head-calendar .month,
.element .head-calendar .year {
    line-height: 1.6;
}
.element .head-calendar .prev {
    border-top: 2px solid #777;
    border-left: 2px solid #777;
    cursor: pointer;
    display: block;
    height: 12px;
    width: 12px;
    margin-right: 65px;
    position: relative;
    transform: rotate(-45deg);
}
.element .head-calendar .next {
    border-top: 2px solid #777;
    border-right: 2px solid #777;
    cursor: pointer;
    display: block;
    height: 12px;
    width: 12px;
    margin-left: 65px;
    position: relative;
    transform: rotate(45deg);
}
@media all and (max-width: 767px) {
    .element .head-calendar {font-size: 16px; justify-content: center; padding: 12px 0 8px; }
    .element .head-calendar .prev { margin-right: 30px; top: -2px;}
    .element .head-calendar .next { margin-left: 30px; top: -2px;}
}

.tbl-calendar {
    color: #aeaeae;
    font-size: 15px;
    vertical-align: middle;
    width: 100%;
}
.tbl-calendar .thead .day {
    background-color: #fff;
    line-height: 1.6;
    padding: 8px;
    text-align: center;
}
.tbl-calendar .thead .sat {
    background-color: #ebfffd;
    color: #0036e7;
}
.tbl-calendar .thead .sun {
    background-color: #fff6ff;
    color: #ff3000;
}
.tbl-calendar .tbody .date {
    background-color: #eff1f0;
    border: 2px solid #fff;
    line-height: 1.6;
    padding: 25px 6px;
    position: relative;
    text-align: center;
}
.tbl-calendar .tbody .off {
    pointer-events: none;
}
.tbl-calendar .tbody .open {
    background-color: #fff;
    cursor: pointer;
}
.tbl-calendar .tbody .open:before {
    border: 2px solid #63af66;
    content: "";
    display: block;
    height: calc(100% + 4px);
    width: calc(100% + 4px);
    position: absolute;
    left: -2px;
    top: -2px;
}
.tbl-calendar .tbody .current {
    background-color: #63af66;
    color: #fff;
}
.tbl-calendar .tbody .icon {
    display: block;
    line-height: 1;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.tbl-calendar .tbody tr:last-child > td {
    border-bottom: 2px solid #dee3e2;
}
.tbl-calendar .tbody tr > *:last-child {
    border-right: none!important;
}
.tbl-calendar .tbody tr > *:first-child {
    border-left: none!important;
}
@media all and (max-width: 767px) {
    .tbl-calendar .tbody .date { padding: 20px 0;}
}

.ui.dimmer {
    background-color: rgba(0,0,0,.4);
}
.ui.modal {
    padding: 50px;
}
/*.ui.modal>.modal-header:not(.ui) {*/
.ui.modal .modal-header:not(.ui) {
    font-size: 19px;
    font-weight: 400;
    text-align: center;
    padding: 0 0 40px;
    border: none;
}
/*.ui.modal>.close {
    top: 20px;
    right: 20px;
    width: 14px;
    height: 14px;
    padding: 0;
    background: url(../imgs/icon_close.svg) no-repeat center center/contain!important;
}*/
.ui.modal>.close {
    top: 20px;
    right: 20px;
    width: 36px;
    height: 36px;
    padding: 0;
    background-image: url(../imgs/icon_close.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
    background-color: #404040;
    border-radius: 50%;
}
.ui.modal>.close::before {
    content: none;
}
@media only screen and (min-width: 1200px) {
    .ui.modal {
        width: 985px;
    }
}
@media only screen and (max-width: 767px) {
    .ui.modal {
        padding: 40px 15px 30px;
    }
    /*.ui.modal>.modal-header:not(.ui) {*/
	.ui.modal .modal-header:not(.ui) {
        font-size: 16px;
        padding: 0 0 20px!important;
        letter-spacing: 0;
    }
    .ui.modal>.close {
        top: 15px!important;
        right: 15px!important;
    }
}
.btn-style {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    line-height: 1.5;
    width: 100%;
    height: 100px;
    padding: 10px 20px;
    background-color: #63af66;
    border: 0;
    text-align: center;
    pointer-events: none;
    -webkit-transition: all 500ms cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 500ms cubic-bezier(0.23, 1, 0.32, 1);
    max-width: 615px;
    margin: auto;
}
.btn-style span {
    position: relative;
}
.btn-style.is-enabled {
    pointer-events: auto;
    cursor: pointer;
}
.btn-style::before {
    content: '';
    position: absolute;
    top: calc(50% - 14px);
    right: 45px;
    width: 25px;
    height: 28px;
    background: url(../imgs/icon_arrow_btn.svg) no-repeat center;
    background-size: 100% auto;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transition: all 500ms cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 500ms cubic-bezier(0.23, 1, 0.32, 1);
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
}
.btn-style:after {
    content: '';
    position: absolute;
    width: 2px;
    top: calc(50% - 27px);
    right: 114px;
    height: 54px;
    background: #ffffff;
}
.btn-style span:first-child {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    background-color: #ffffff;
    width: 100%;
    -webkit-transition: width 200ms cubic-bezier(0.19, 1, 0.22, 1);
    transition: width 200ms cubic-bezier(0.19, 1, 0.22, 1);
    background-color: #eef1f0;
    -webkit-transition: all 500ms cubic-bezier(0.23, 1, 0.32, 1);
    transition: all 500ms cubic-bezier(0.23, 1, 0.32, 1);
}
.btn-style.is-enabled span:first-child {
    width: 0;
}
.btn-style span.font-ja {
    font-size: 24px;
    color: #9d9d9d;
    font-weight: 600;
}
.btn-style.is-enabled span.font-ja {
    color: #ffffff;   
}
.btn-style span:first-child:before {
    content: '';
    position: absolute;
    top: calc(50% - 14px);
    right: 45px;
    width: 25px;
    height: 28px;
    background: url(../imgs/icon_arrow_btn_gray.svg) no-repeat center;
    background-size: 100% auto;
}
@media only screen and (max-width: 767px) {
    .btn-style {
        height: 82px;
        padding: 23px 65px 23px;
        text-align: left;
    }
    .btn-style span.font-ja {
        font-size: 22px;
    }
    .btn-style:after {
        top: calc(50% - 25px);
        right: 82px;
        height: 50px;
    }
    .btn-style span:first-child:before,
    .btn-style:before {
        right: 28px;
    }
}
.time-list {
    display: grid;
    /*grid-template-columns: repeat(5,1fr);*/
	grid-template-columns: repeat(4,1fr);
    column-gap: 20px;
    row-gap: 15px;
    /*max-width: 780px;*/
	max-width: 720px;
    margin: 0 auto 50px;
}
@media only screen and (max-width: 767px) {
    .time-list {
        grid-template-columns: repeat(2,1fr);
        gap: 15px;
        margin-bottom: 30px;
    }
}
.ui.checkbox,.ui.checkbox.radio {
    display: block
}
.ui.checkbox label,.ui.checkbox.radio label {
    display: block;
    padding: 20px 20px 20px 46px;
    background-color: #dde3e2;
    font-size: 15px;
    font-weight: 300;
    letter-spacing: .08em;
    line-height: 1;
    -webkit-transition: background-color 1200ms cubic-bezier(.23,1,.32,1);
    transition: background-color 1200ms cubic-bezier(.23,1,.32,1)
}
.ui.checkbox label:before,.ui.checkbox label:after,.ui.checkbox.radio label:before,.ui.checkbox.radio label:after {
    top: calc(50% - 9px);
    left: 20px;
    width: 14px;
    height: 14px
}
.ui.checkbox label:before,.ui.checkbox.radio label:before {
    border: none;
    border-radius: 0
}
.ui.checkbox label:after,.ui.checkbox.radio label:after {
    content: ''!important;
    display: block;
    width: 14px;
    height: 14px;
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center!important;
    -webkit-transform: scale(.3);
    -ms-transform: scale(.3);
    transform: scale(.3);
    -webkit-transition: all 200ms cubic-bezier(.23,1,.32,1);
    transition: all 200ms cubic-bezier(.23,1,.32,1)
}
.ui.checkbox.radio.disable {
    pointer-events: none;
    opacity: .4;
}
.ui.checkbox.radio label:before {
    border-radius: 50%
}
.ui.checkbox.radio label:after {
    background-color: #42b25d!important;
    -webkit-transform: scale(.6);
    -ms-transform: scale(.6);
    transform: scale(.6)
}
@media all and (min-width: 768px) {
    .ui.checkbox label:hover,.ui.checkbox.radio label:hover {
        background-color:#c6d0cf;
        -webkit-transition-duration: 0s;
        transition-duration: 0s
    }
}
@media all and (max-width: 1279px) {
    .ui.checkbox label,.ui.checkbox.radio label {
        padding:20px 10px 20px 35px
    }
    .ui.checkbox label:before,.ui.checkbox label:after,.ui.checkbox.radio label:before,.ui.checkbox.radio label:after {
        left: 12px
    }
}
@media all and (max-width: 767px) {
    .ui.checkbox label,.ui.checkbox.radio label {
        padding:20px 10px 20px 48px
    }
    .ui.checkbox label:before,.ui.checkbox label:after,.ui.checkbox.radio label:before,.ui.checkbox.radio label:after {
        left: 20px
    }
}

/* btn */
.reseve_btn_w{
	height: 100px;
	height: 76px;
	margin: auto;
	max-width: 615px;
	max-width: 500px;
	width: 100%;
	position: relative;
	transition: all 500ms cubic-bezier(0.23, 1, 0.32, 1);
}
.reseve_btn_w:before{
	position: absolute;
	display: block;
	content: "";
	width: 2px;
	height: 60%;
	top: 50%;
	right: 16%;
	transform: translateY(-50%);
	background: #fff;
}
.reseve_btn_w:after{
	content: '';
	position: absolute;
	top: calc(50% - 14px);
	right: 7%;
	width: 25px;
	height: 28px;
	background: url(../imgs/icon_arrow_btn.svg) no-repeat center;
	background-size: 100% auto;
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
	-webkit-transition: all 500ms cubic-bezier(0.23, 1, 0.32, 1);
	transition: all 500ms cubic-bezier(0.23, 1, 0.32, 1);
	-webkit-transform: rotate(0);
	-ms-transform: rotate(0);
	transform: rotate(0);
}
.reseve_btn{
	cursor: pointer;
	width: 100%;
	height: 100%;
	color: #fff;
	font-weight: 600;
	line-height: 1.5;
	padding: 10px 20px;
	background: #63af66;
	border: 0;
	text-align: center;
	transition: all 500ms cubic-bezier(0.23, 1, 0.32, 1);
	font-size: 24px;
}
.reseve_btn_w:hover{
	opacity: .5;
}
.reseve_btn_w.disabled_action{
	pointer-events: none;
}
.reseve_btn_w.disabled_action .reseve_btn {
	background: #a1a1a1;
	pointer-events: none;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}
@media only screen and (max-width: 767px) {
	.reseve_btn_w{height: 60px;}
	.reseve_btn_w:before{ width: 1px;}
	.reseve_btn_w:after { width: 20px;}
	.reseve_btn{ font-size: 18px;}
	.ui.modal>.close {width: 24px; height: 24px;}
}

/* */
.required{
	display: block;
	overflow: hidden;
	width: 38px;
	height: 24px;
	position: relative;
}
.required:before{
	position: absolute;
	content: "必須";
	padding: 4px;
	border: 1px solid #e13d21;
	color: #e13d21;
	left: 0;
	font-size: 14px;
	line-height: 1;
	box-sizing: border-box;
	text-align: center;
	z-index: 1;
}
.required:after{
	font-size: 14px;
	line-height: 1;
	position: absolute;
	box-sizing: border-box;
	text-align: center;		
	content: '完了';
	padding: 4px;
	border: 1px solid #42b25d;
	background-color: #42b25d;
	color: #fff;
	-webkit-transition: all 200ms cubic-bezier(0.19, 1, 0.22, 1);
	transition: all 200ms cubic-bezier(0.19, 1, 0.22, 1);
	z-index: 2;
	left: -38px;
}
.is-required.is-complete .required:after{
	left: 0px;
}
.pos_rel{position: relative;}
.element:nth-of-type(n+2){margin-top: 30px;}
.hanrei span {display: inline-block; margin-left: 10px;}
@media screen and (min-width: 768px){
	.hanrei {font-size: 12px; top: 40px; position: absolute; right: 0;}
}
@media screen and (max-width: 767px){
	.hanrei { text-align: right; padding-bottom: 5px;}
}
.close_icon{position: relative;}
.close_icon:after{
	position: absolute;
	width: 100%;
	height: 100%;
	content: "";
	background: #83883;
	border-radius: 50%;
}
.d_inline_block{display: inline-block;}
.contact{margin-bottom: 60px;}
.contact_txt{font-size: 130%;}
.flex {display: flex; justify-content: flex-start; align-items: center; flex-wrap: wrap;}
.tel_i{padding-right: 15px;}
.contact_wrap{
	background: #fafbfa;
	border: 2px solid #dee3e2;
	padding: 20px 40px;
}
@media all and (max-width: 767px) {
	.contact{margin-bottom: 30px;}
	.contact_txt{font-size: 110%;}
	.tel_i{padding-right: 0px;}
	.tel_i, .run_i{width: 100%;}
	.run_i{margin-top: 10px;}
}
/* */
.modal .contact{margin: 50px auto;}

/* modal内 ラジオボタンCB */
.ui.checkbox.radio label:before, .ui.checkbox.radio label:after{ display: none;}
.ui.checkbox label, .ui.checkbox.radio label{padding: 20px; text-align: center;}
.ui.checkbox label, .ui.checkbox.radio label {
	border: 2px solid #999;
	
    border-radius: 5px;
	background: #fff;
	color: #333;
    display: block;
    -webkit-transition: background-color 1200ms cubic-bezier(.23,1,.32,1);
    transition: background-color 1200ms cubic-bezier(.23,1,.32,1);
}

.ui.checkbox label:hover, .ui.checkbox.radio label:hover{
	background: #999;
	background: #63af66;
	border: 2px solid #63af66;
	color: #fff;
    -webkit-transition: background-color 1200ms cubic-bezier(.23,1,.32,1);
    transition: background-color 1200ms cubic-bezier(.23,1,.32,1);
}
.ui.radio.checkbox.checked label, .ui.radio.checkbox.checked span{
	background: #999;
	background: #63af66;
	border: 2px solid #63af66;
	color: #fff;
    -webkit-transition: background-color 1200ms cubic-bezier(.23,1,.32,1);
    transition: background-color 1200ms cubic-bezier(.23,1,.32,1);
}
.ui.checkbox.disable label {
    background: #000000;
    color: #fff;
    opacity: .4;
    border: 2px solid #000;
    border-radius: 5px;
}
.reseve_btn {border-radius: 5px;}


/* カレンダー祝日 */
.calendar-container td.holiday .date-number {
    color: #e60000 !important;
}

/* */
.element .ttl {position: relative;}
.alert_kaijo{
	color: #e13d21;
	display: none;
	position: absolute;
	left: 48px;
	font-size: 14px;
	bottom: 6px;
}
.input_sec{padding: 5px;}
.op_erro .alert_kaijo{display: block;}
.input_sec{position: relative;}
.input_sec:after{
	position: absolute;
	width: 0;
	content: "";
	height: 100%;
	background: #ffeeee;
	transition: .2s;
	top: 0;
	left: 0;
}
.op_erro + .input_sec:after{width: 100%;transition: .2s;}
@media only screen and (max-width: 767px) {
	.input_sec:after{background: #e13d21;}
}

#today, #notToday {display: none;}
@media only screen and (min-width: 768px) {
	.modal-width.modal-width-set{width: 600px;}
	.modal-width.modal-width-set .tel_i, .modal-width.modal-width-set .run_i {margin-left: auto; margin-right: auto;}
	.modal-width.modal-width-set .run_i {margin-top: 10px;}
	.modal-width.modal-width-set .contact_txt {text-align: center; font-size: 160%;}
	.pc_tel{pointer-events: none; cursor: default;}
}
.modal-header.modal-header_txt {
	max-width: 740px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.6;
	text-align: left !important;
}