/*
$breakpoints-min: (
    'xs': 'screen and (min-width: 481px)',
    'sm': 'screen and (min-width: 769px)',
    'md': 'screen and (min-width: 990px)',
    'lg': 'screen and (min-width: 1367px)',
    'xl': 'screen and (min-width: 1921px)',
) !default;
 */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&display=swap&subset=japanese');
.floating-menu-in ul {
    display: none;
}
#wrapper-under .contact {
	width: 1036px;
	margin: 0px auto;
    line-height: 1.8;
}
#wrapper-under input[type="text"],
#wrapper-under textarea,
#wrapper-under select{
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
    font-weight: 500;
}
#wrapper-under .contact .title_main {
	font-size: 24px;
	color: #FFF;
	line-height: 78px;
	margin-bottom: 16px;
	padding: 0px 30px;
	background-color: #e9333f;
	border-radius: 10px;
}
#wrapper-under .contact .outline {
	background-color: #FFF;
	border-radius: 30px;
	margin-bottom: 30px;
	padding: 25px 30px;
}
#wrapper-under .contact .category {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 10px;
}
#wrapper-under .contact .category div {
	display: inline-block;
	font-size: 13px;
	color: #e9333f;
	text-align: center;
	border: 1px solid #e9333f;
	border-radius: 20px;
	margin-right: 10px;
	padding: 2px 15px;
}
#wrapper-under .contact .category div.fee{
    background: #e9333f;
    color: #fff;
    font-weight: bold;
}
#wrapper-under .contact .outline .koumoku {
	font-size: 24px;
	color: #de2733;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 8px;
}
#wrapper-under .contact .outline .detail_list {
	padding-bottom: 10px;
}
#wrapper-under .contact .outline .detail_list ul li {
	display:-webkit-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 4px;
	padding-left: 30px;
}
#wrapper-under .contact .outline .detail_list ul li.calender {
	background: url("../image/contact/icon_calendar_1.png") no-repeat left center;
}
#wrapper-under .contact .outline .detail_list ul li.place {
	background: url("../image/contact/icon_place_1.png") no-repeat left center;
}
#wrapper-under .contact .outline .detail_list ul li.train {
	background: url("../image/contact/icon_train_1.png") no-repeat left center;
}
#wrapper-under .contact .outline .detail_list ul li.cost {
	background: url("../image/contact/icon_cost_1.png") no-repeat left center;
}
#wrapper-under .contact .outline .detail_list ul li div:nth-child(1) {
	width: 64px;
	font-size: 16px;
	color: #802a09;
}
#wrapper-under .contact .outline .detail_list ul li div:nth-child(2) {
	width: calc(100% - 64px);
	font-size: 18px;
	color: #443c38;
}
#wrapper-under .contact .outline .detail_list ul li div:nth-child(2) span {
    font-size: 16px;
    display: inline-block;
}
#wrapper-under .contact .outline .detail_list ul li.calender,
#wrapper-under .contact .outline .detail_list ul li.place {
    display: flex;
    align-items: flex-start;
    background-position-y: 7px;
}

#wrapper-under .contact .outline .detail_list ul li.calender div:nth-child(1),
#wrapper-under .contact .outline .detail_list ul li.place div:nth-child(1) {
    padding-top: 2px;
}

#wrapper-under .contact .outline .detail_list ul li.cost .fee {
    font-weight: bold;
    color: #e9333f;
}
#wrapper-under .contact .outline .ttl_gaiyou {
	background: url("../image/contact/img_line_dotted.png") repeat-x left center;
	margin-bottom: 10px;
}
#wrapper-under .contact .outline .ttl_gaiyou span {
	display: inline-block;
	font-size: 13px;
	color: #802a09;
	background-color: #f2e5dc;
	border-radius: 20px;
	padding: 6px 30px;
}
#wrapper-under .contact .outline .gaiyou {
	font-size: 16px;
	color: #545353;
}
#wrapper-under .contact .title_sub {
	font-size: 22px;
	color: #802a09;
	font-weight: bold;
	margin-bottom: 15px;
	padding: 8px 0px 8px 20px;
	position: relative;
}
#wrapper-under .contact .title_sub:before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 50px;
	background-color: #de2733;
	left: 0px;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	border-radius: 10px;
}
#wrapper-under .contact .title_sub span {
	font-size: 16px;
}
#wrapper-under .contact .event_check {
	padding-bottom: 40px;
}
#wrapper-under .contact .event_check ul li {
	position: relative;
	list-style: none;
	margin-bottom: 20px;
}
#wrapper-under .contact .event_check ul li label {
	display: block;
	background-color: #FFF;
	border-radius: 30px;
	margin-bottom: 0;
	padding: 25px 30px 25px 70px;
	border: 4px solid #FFF;
	transition: border-color 0.3s, box-shadow 0.3s;
	position: relative;
	cursor: pointer;
}
#wrapper-under .contact .event_check ul li input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
#wrapper-under .contact .event_check ul li label::after {
	content: "";
	display: inline-block;
	width: 28px;
	height: 28px;
	background: url("../image/contact/img_check_off.png") no-repeat left top;
	background-size: contain;
	position: absolute;
	top: calc(50% - 14px);
	left: 20px;
	transition: 0.3s;
	pointer-events: none;
}
#wrapper-under .contact .event_check ul li label:has(input:checked)::after {
	background: url("../image/contact/img_check_on.png") no-repeat left top;
	background-size: contain;
}
#wrapper-under .contact .event_check ul li label:has(input[type="checkbox"]:checked) {
	border: 4px solid #ffc000;
}
#wrapper-under .contact .event_check ul li .station {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 10px;
}
#wrapper-under .contact .event_check ul li .station div:nth-child(1) {
	font-size: 18px;
	color: #FFF;
	background-color: #802a09;
	padding: 0px 8px;
}
#wrapper-under .contact .event_check ul li .station div:nth-child(2) {
	font-size: 16px;
	color: #802a09;
}
#wrapper-under .contact .event_check ul li .koumoku {
	font-size: 20px;
	color: #de2733;
	font-weight: bold;
	margin-bottom: 5px;
}
#wrapper-under .contact .event_check ul li .overview {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
#wrapper-under .contact .event_check ul li .overview .calendar {
	font-size: 16px;
	color: #802a09;
	line-height: 20px;
	background: url("../image/contact/icon_calendar_2.png") no-repeat left center;
	margin-right: 30px;
	margin-bottom: 5px;
	padding-left: 26px;
}
#wrapper-under .contact .event_check ul li .overview .place {
	font-size: 16px;
	color: #802a09;
	line-height: 20px;
	background: url("../image/contact/icon_place_2.png") no-repeat left center;
	margin-right: 30px;
	margin-bottom: 5px;
	padding-left: 28px;
}
#wrapper-under .contact .event_check ul li .overview .cost {
	font-size: 16px;
	color: #802a09;
	line-height: 20px;
	background: url("../image/contact/icon_cost_2.png") no-repeat left center;
	margin-right: 30px;
	margin-bottom: 5px;
	padding-left: 28px;
}
#wrapper-under .contact .event_check ul li .memo {
	font-size: 14px;
	color: #545353;
	margin-top: 8px;
	padding-top: 14px;
	background: url("../image/contact/img_line_dotted.png") repeat-x left top;
}
#wrapper-under .contact .attention {
	font-size: 16px;
	margin-bottom: 30px;
}
#wrapper-under .contact .attention.red {
	color: #e9333f;
}
#wrapper-under .contact .guidance {
	background-color: #FFF;
	border: 2px solid #de2733;
	margin-bottom: 36px;
	padding: 20px 25px 1px;
}
#wrapper-under .contact .guidance h3 {
    background: #e9333f;
    color: #fff;
    padding: 5px;
    margin-bottom: 5px;
    text-align: center;
}
#wrapper-under .contact .guidance dl dt {
	font-size: 18px;
	color: #e9333f;
	margin-bottom: 2px;
}
#wrapper-under .contact .guidance dl dd {
	font-size: 16px;
	color: #676767;
	margin-bottom: 20px;
}
#wrapper-under .contact .guidance dl dd.date {
	color: #802a09;
}
#wrapper-under .contact .contact_box {
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS P Gothic', sans-serif;
	background-color: #FFF;
	border-radius: 30px;
	margin-bottom: 40px;
    font-weight: 500;
	padding: 8px 36px 16px;
}
#wrapper-under .contact .contact_box table {
	width: 100%;
}
#wrapper-under .contact .contact_box table tr:last-child th,
#wrapper-under .contact .contact_box table tr:last-child td {
	border-bottom: none;
}
#wrapper-under .contact .contact_box table th {
	width: 220px;
	font-size: 16px;
	color: #802a09;
	padding: 20px 10px 4px;
	border-bottom: 1px solid #f0f0f0;
	vertical-align: top;
	position: relative;
}
#wrapper-under .contact .contact_box table th .hissu {
	display: block;
	width: 50px;
	font-size: 13px;
	color: #e9333f;
	text-align: center;
	border: 1px solid #e9333f;
	border-radius: 20px;
	position: absolute;
	top: 20px;
	right: 20px;
}
#wrapper-under .contact .contact_box table td {
font-weight: 500;
	font-size: 14px;
	color: #802a09;
	padding: 20px 10px 4px;
	border-bottom: 1px solid #f0f0f0;
}
#wrapper-under .contact .contact_box input[type="text"] {
	width: 100%;
	font-size: 16px;
	color: #000;
	line-height: 50px;
	background-color: #fbf6ee;
	-webkit-appearance: none;
	appearance: none;
	border: none;
	padding: 0px 20px;
	border-radius: 8px;
	cursor: pointer;
font-weight: 500;
}

#wrapper-under .contact input::placeholder {
	color: #b7b7bb;
}
#wrapper-under .contact .contact_box table td .name ul {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
}
#wrapper-under .contact .contact_box table td .name ul li {
	width: 280px;
	margin-right: 20px;
	padding-bottom: 16px;
}
#wrapper-under .contact .contact_box table td .age {
	width: 280px;
	padding-bottom: 16px;
}
#wrapper-under .contact .contact_box table td .select_box {
	position: relative;
}
#wrapper-under .contact .contact_box table td .select_box:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 18px;
	right: 20px;
	width: 6px;
	height: 6px;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-top: 12px solid #802a09;
	pointer-events: none;
}
#wrapper-under .contact .contact_box table td .select_box select {
	width: 100%;
	font-size: 16px;
	color: #802a09;
	line-height: 50px;
	background-color: #fbf6ee;
	-webkit-appearance: none;
	appearance: none;
	border: none;
	padding: 0px 30px;
	border-radius: 8px;
	cursor: pointer;
}
#wrapper-under .contact .contact_box input[type="text"].bk_pink,
#wrapper-under .contact .contact_box table td .select_box select.bk_pink {
    background: #ffebeb;
}
span.errtx {
    color: #e9333f;
}
#wrapper-under .contact .contact_box table td .seibetsu {
	padding-bottom: 16px;
}
#wrapper-under .contact .contact_box table td .seibetsu ul {
	display:-webkit-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
#wrapper-under .contact .contact_box table td .seibetsu ul li {
	margin-right: 50px;
	position: relative;
}
#wrapper-under .contact .contact_box table td .seibetsu ul li input {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 26px;
	height: 26px;
	opacity: 0;
	cursor: pointer;
	z-index: 1;
}
#wrapper-under .contact .contact_box table td .seibetsu ul li label {
	font-size: 16px;
	color: #323232;
	position: relative;
	padding-left: 36px;
/*    font-weight: 500;*/
    font-weight: 700;
	cursor: pointer;
}
#wrapper-under .contact .contact_box table td .seibetsu ul li label:after {
	content: "";
	display: inline-block;
	width: 26px;
	height: 26px;
	background: url("../image/contact/img_radio_off.png")no-repeat left top;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 0px;
	transform: translateY(-50%);
	transition: color 0.3s;
	pointer-events: none;
}
#wrapper-under .contact .contact_box table td .seibetsu ul li input:checked + label:after {
	background: url("../image/contact/img_radio_on.png")no-repeat left top;
}
#wrapper-under .contact .contact_box table td .mail div {
	width: 590px;
	padding-bottom: 16px;
}
#wrapper-under .contact .contact_box table td .mail div:nth-child(2) {
	padding-bottom: 5px;
}
#wrapper-under .contact .contact_box table td .telephone {
	display:-webkit-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding-bottom: 16px;
}
#wrapper-under .contact .contact_box table td .telephone div:nth-child(1) {
	width: 250px;
}
#wrapper-under .contact .contact_box table td .telephone div:nth-child(2) {
	width: calc(100% - 250px);
}
#wrapper-under .contact .contact_box table td .time {
	padding: 10px 0px 16px;
}
#wrapper-under .contact .contact_box table td .time ul {
	display:-webkit-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
#wrapper-under .contact .contact_box table td .time ul li {
	margin-right: 10px;
	position: relative;
}
#wrapper-under .contact .contact_box table td .time ul li input {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 19px;
	height: 19px;
	opacity: 0;
	cursor: pointer;
	z-index: 1;
}
#wrapper-under .contact .contact_box table td .time ul li label {
	font-size: 16px;
	color: #323232;
	position: relative;
	padding-left: 30px;
	cursor: pointer;
}
#wrapper-under .contact .contact_box table td .time ul li label:after {
	content: "";
	display: inline-block;
	width: 19px;
	height: 19px;
	background: url("../image/contact/img_check_s_off.png")no-repeat left top;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 0px;
	transform: translateY(-50%);
	transition: color 0.3s;
	pointer-events: none;
}
#wrapper-under .contact .contact_box table td .time ul li input:checked + label:after {
	background: url("../image/contact/img_check_s_on.png")no-repeat left top;
}
#wrapper-under .contact .contact_box table td .post {
	display:-webkit-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding-bottom: 16px;
}
#wrapper-under .contact .contact_box table td .post div:nth-child(1) {
	width: 30px;
	font-size: 18px;
}
#wrapper-under .contact .contact_box table td .post div:nth-child(2) {
	width: 210px;
}
#wrapper-under .contact .contact_box table td .post div:nth-child(3) {
	width: calc(100% - 240px);
}
#wrapper-under .contact .contact_box table td .todoufuken {
	display:-webkit-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding-bottom: 16px;
}
#wrapper-under .contact .contact_box table td .todoufuken div:nth-child(1) {
	width: 120px;
}
#wrapper-under .contact .contact_box table td .todoufuken div:nth-child(2) {
	width: 240px;
}
#wrapper-under .contact .contact_box table td .address {
	display:-webkit-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding-bottom: 16px;
}
#wrapper-under .contact .contact_box table td .address div:nth-child(1) {
	width: 120px;
}
#wrapper-under .contact .contact_box table td .address div:nth-child(2) {
	width: 460px;
}
#wrapper-under .contact .contact_box table td .marker {
	padding-bottom: 16px;
}
#wrapper-under .contact .contact_box table td .marker span {
	display: inline;
	background:linear-gradient(transparent 60%, #fee660 60%);
font-weight: 700;
}
#wrapper-under .contact .contact_box table td .headcount {
	display:-webkit-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding-bottom: 16px;
}
#wrapper-under .contact .contact_box table td .headcount div:nth-child(1) {
	width: 80px;
}
#wrapper-under .contact .contact_box table td .headcount div:nth-child(2) {
	width: 110px;
}
#wrapper-under .contact .contact_box table td .headcount div:nth-child(3) {
	width: calc(100% - 190px);
	padding-left: 16px;
}
#wrapper-under .contact .contact_box table td .douhansya_list {
	padding-top: 5px;
}
#wrapper-under .contact .contact_box table td .douhansya_list ul li {
	display:-webkit-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding-bottom: 16px;
}
#wrapper-under .contact .contact_box table td .douhansya_list ul li div:nth-child(1) {
	width: 80px;
}
#wrapper-under .contact .contact_box table td .douhansya_list ul li div:nth-child(2) {
	width: 280px;
}
#wrapper-under .contact .contact_box .check_list {
	padding-left: 30px;
}
#wrapper-under .contact .contact_box .check_list.space_top {
	padding-top: 16px;
}
#wrapper-under .contact .contact_box .check_list ul li {
	display:-webkit-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding-bottom: 12px;
}
#wrapper-under .contact .contact_box .check_list ul li div:nth-child(1) {
	margin-right: 10px;
	position: relative;
}
#wrapper-under .contact .contact_box .check_list ul li div:nth-child(1) input {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 19px;
	height: 19px;
	opacity: 0;
	cursor: pointer;
	z-index: 1;
}
#wrapper-under .contact .contact_box .check_list ul li div:nth-child(1) label {
	font-size: 16px;
	color: #323232;
	position: relative;
	cursor: pointer;
}
#wrapper-under .contact .contact_box .check_list ul li div:nth-child(1) label:after {
	content: "";
	display: inline-block;
	width: 19px;
	height: 19px;
	background: url("../image/contact/img_check_s_off.png")no-repeat left top;
	background-size: contain;
	position: absolute;
	top: 5px;
	left: 0px;
	transition: color 0.3s;
	pointer-events: auto;
	margin-left: -30px;
    cursor: pointer;
}
#wrapper-under .contact .contact_box .check_list ul li div:nth-child(1) input:checked + label:after {
	background: url("../image/contact/img_check_s_on.png")no-repeat left top;
}
#wrapper-under .contact .contact_box .check_list ul li div:nth-child(2) {
	width: 500px;
}
#wrapper-under .contact .contact_box .privacy {
	padding: 16px 0px;
}
#wrapper-under .contact .contact_box .privacy div:nth-child(1) {
	font-size: 16px;
	color: #802a09;
	padding-bottom: 10px;
}
#wrapper-under .contact .contact_box .privacy div:nth-child(2) a {
	font-family: "Helvetica Neue", Helvetica, Arial, "Zen Maru Gothic", sans-serif;
	font-size: 17px;
	color: #e9333f;
	font-weight: bold;
	text-decoration: none;
	border-bottom: 2px solid #e9333f;
	background: url("../image/contact/icon_arrow_1.png") no-repeat right 5px center;
	padding: 0px 35px 2px 5px;
}
#wrapper-under .contact .contact_box .basic {
	width: 590px;
	padding-bottom: 16px;
}
#wrapper-under .contact .contact_box textarea {
	width: 100%;
	height: 300px;
	font-size: 16px;
	color: #000;
	background-color: #fbf6ee;
	-webkit-appearance: none;
	appearance: none;
	border: none;
	padding: 10px 20px;
	border-radius: 8px;
}
#wrapper-under .contact .bt_kakunin {
	width: 516px;
	margin: 0px auto;
	padding: 20px 0px 40px;
}
#wrapper-under .contact .bt_kakunin button[type=button] {
	display: block;
	width: 100%;
	font-family: "Helvetica Neue", Helvetica, Arial, "Zen Maru Gothic", sans-serif;
	font-size: 24px;
	color: #802a09;
	font-weight: bold;
	line-height: 100px;
	letter-spacing: 3px;
	text-align: center;
	background: url("../image/contact/icon_arrow_2.png") no-repeat 94% center;
	background-color: #ffed60;
	border-radius: 60px;
	appearance: none;
	-webkit-appearance: none;
	border: 3px solid #ffed60;
	cursor: pointer;
	transition : 0.3s;
}
#wrapper-under .contact .bt_kakunin button[type=button]:hover {
	border: 3px solid #e9333f;
	transition : 0.5s;
}
#wrapper-under .contact .details {
	margin-bottom: 40px;
	padding: 25px 30px 15px;
	background-color: #FFF;
	border-radius: 30px;
}
#wrapper-under .contact .details .set {
	display: table;
	width: 100%;
	margin-bottom: 10px;
}
#wrapper-under .contact .details .set div:nth-child(1) {
	display: table-cell;
	width: 180px;
	font-size: 13px;
	color: #802a09;
	line-height: 1.8;
	text-align: center;
	vertical-align: middle;
	background-color: #f2e5dc;
	border-radius: 15px;
}
#wrapper-under .contact .details .set div:nth-child(2) {
	display: table-cell;
	width: calc(100% - 180px);
	font-size: 18px;
	color: #443c38;
	line-height: 1.8;
	vertical-align: middle;
	padding: 5px 0px 5px 20px;
}

    /* ===== Privacy Policy Modal (Lightbox style) ===== */
    .pp-modal { position: fixed; inset: 0; z-index: 9999; display: none; }
    .pp-modal.is-open { display: block; }

    .pp-modal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.6); }

    .pp-modal__dialog{
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%,-50%);
      width: min(980px, calc(100vw - 24px));
      height: min(78vh, 720px);
      background: #fff;
      border-radius: 14px;
      overflow: hidden;
      box-shadow: 0 18px 60px rgba(0,0,0,.35);
      display: flex;
      flex-direction: column;
    }

    .pp-modal__header{
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 10px 12px;
      border-bottom: 1px solid rgba(0,0,0,.08);
    }

.pp-modal__title {
    margin: 0;
    font-size: 22px;
    line-height: 1.4;
    flex: 1;
    color: #802a09;
    font-weight: bold;
}
    .pp-modal__close{
      border: 0;
      background: transparent;
      font-size: 26px;
      line-height: 1;
      cursor: pointer;
      padding: 6px 10px;
    }

    .pp-modal__frame{ width: 100%; height: 100%; border: 0; }
#wrapper-under .cnf .contact .bt_prev {
    width: 250px;
    margin: 0px auto;
    padding: 20px 0px 20px;
}
#wrapper-under .cnf .contact .bt_prev button[type="button"] {
    display: block;
    width: 100%;
    font-family: "Helvetica Neue", Helvetica, Arial, "Zen Maru Gothic", sans-serif;
    font-size: 20px;
    color: rgb(128, 42, 9);
    font-weight: bold;
    line-height: 48px;
    letter-spacing: 3px;
    text-align: center;
    appearance: none;
    cursor: pointer;
    background: url(../image/contact/icon_arrow_3.png) 10% center no-repeat #FFF;
    border-radius: 60px;
    border-width: 2px;
    border-style: solid;
    border-color: #fff;
    border-image: initial;
    transition: 0.3s;
}
#wrapper-under .cnf .contact .bt_prev button[type="button"]:hover{
	border: 2px solid #e9333f;
}
#wrapper-under .contact .outline details[open] .gaiyou {
	display: block;
}
@media screen and (min-width: 768px) {
/*アコーディオンパソコンのみリセット*/
#wrapper-under .contact details {
	pointer-events: none;
}
#wrapper-under .contact details summary {
	pointer-events: none;
	cursor: default;
	display: block;
	list-style: none;
}
#wrapper-under .contact details summary::after {
	content: none;
}
#wrapper-under .contact details[open] summary::after {
	content: none;
}

#wrapper-under .contact .outline details {
		display: block;
	}

#wrapper-under .contact .outline details summary {
		display: none;
	}

#wrapper-under .contact .outline details .gaiyou {
		display: block;
	}
#wrapper-under .contact .guidance {
    max-width: 800px;
    margin: 0 auto 36px;
}
    
}

@media screen and (max-width: 767px) {
#wrapper-under .contact {
	width: 100%;
}
#wrapper-under .contact .title_main {
	font-size: 18px;
	line-height: 50px;
	margin-bottom: 10px;
	padding: 0px 20px;
}
#wrapper-under .contact .outline {
	padding: 20px;
}
#wrapper-under .contact .category {
	margin-bottom: 5px;
}
#wrapper-under .contact .category div {
	font-size: 11px;
	margin-right: 8px;
	margin-bottom: 6px;
	padding: 2px 10px;
}
#wrapper-under .contact .outline .koumoku {
	font-size: 15px;
	margin-bottom: 8px;
}
#wrapper-under .contact .outline .detail_list ul li {
	line-height: 1.4;
	padding-left: 20px;
	background-size: 16px auto !important;
}
#wrapper-under .contact .outline .detail_list ul li.calender,
#wrapper-under .contact .outline .detail_list ul li.place {
    display: flex;
    align-items: flex-start;
    background-position-y: 4px;
}
#wrapper-under .contact .outline .detail_list ul li div:nth-child(1) {
	width: 50px;
	font-size: 12px;
}

#wrapper-under .contact .outline .detail_list ul li div:nth-child(2) {
	width: calc(100% - 50px);
	font-size: 13px;
}
#wrapper-under .contact .outline .detail_list ul li div:nth-child(2) span {
    font-size: 12px;
    display:inline-block;
}
#wrapper-under .contact .outline .gaiyou {
	font-size: 11px;
	margin-top: 10px;
}
#wrapper-under .contact .title_sub {
	font-size: 18px;
	line-height: 1.2;
	margin-bottom: 10px;
	padding: 10px 0px 10px 15px;
}
#wrapper-under .contact .title_sub:before {
	width: 6px;
	height: 40px;
}
#wrapper-under .contact .title_sub span {
	font-size: 12px;
}
#wrapper-under .contact .event_check {
	padding-bottom: 20px;
}
#wrapper-under .contact .event_check ul li label {
		padding: 20px 10px 20px 45px;
		border: 2px solid #FFF;
}
#wrapper-under .contact .event_check ul li label::after {
		width: 19px;
		height: 19px;
		background: url("../image/contact/img_check_s_off.png") no-repeat left top;
		background-size: contain;
		left: 10px;
    top: calc(50% - 9.5px);
	}
#wrapper-under .contact .event_check ul li label {
	display: block;
	cursor: pointer;
}
#wrapper-under .contact .event_check ul li label:has(input:checked)::after {
		background: url("../image/contact/img_check_s_on.png") no-repeat left top;
		background-size: contain;
	}
#wrapper-under .contact .event_check ul li label:has(input[type="checkbox"]:checked) {
		border: 2px solid #ffc000;
	}
#wrapper-under .contact .event_check details {
	position: relative;
	z-index: 2;
}

#wrapper-under .contact .event_check details summary {
	position: relative;
	z-index: 3;
	cursor: pointer;
}
#wrapper-under .contact .event_check ul li .station {
	margin-bottom: 5px;
}
#wrapper-under .contact .event_check ul li .station div:nth-child(1) {
	font-size: 14px;
	padding: 0px 5px;
}
#wrapper-under .contact .event_check ul li .station div:nth-child(2) {
	font-size: 11px;
}
#wrapper-under .contact .event_check ul li .koumoku {
	font-size: 14px;
	margin-bottom: 5px;
}
#wrapper-under .contact .event_check ul li .overview {
	display: block;
	flex-wrap: nowrap;
	margin-bottom: 5px;
}
#wrapper-under .contact .event_check ul li .overview .calendar {
	font-size: 12px;
	background-size: 13px auto;
	margin-right: 0px;
	margin-bottom: 3px;
	padding-left: 18px;
}
#wrapper-under .contact .event_check ul li .overview .place {
	font-size: 12px;
	background-size: 13px auto;
	margin-right: 0px;
	margin-bottom: 3px;
	padding-left: 18px;
}
#wrapper-under .contact .event_check ul li .overview .cost {
	font-size: 12px;
	background-size: 13px auto;
	margin-right: 0px;
	margin-bottom: 3px;
	padding-left: 18px;
}
#wrapper-under .contact .event_check ul li .memo {
	font-size: 11px;
	margin-top: 0px;
	padding:　0px;
	background-image: none;
}
#wrapper-under .contact .attention {
	font-size: 12px;
	margin-bottom: 10px;
}
#wrapper-under .contact .guidance {
	margin-bottom: 20px;
	padding: 15px 15px 5px;
}
#wrapper-under .contact .guidance dl dt {
	font-size: 15px;
}
#wrapper-under .contact .guidance dl dd {
	font-size: 12px;
	margin-bottom: 10px;
}
#wrapper-under .contact .contact_box {
	margin-bottom: 30px;
	padding: 8px 10px 16px;
}
#wrapper-under .contact .contact_box table,
#wrapper-under .contact .contact_box tbody,
#wrapper-under .contact .contact_box tr,
#wrapper-under .contact .contact_box th,
#wrapper-under .contact .contact_box td {
	display: block;
}
#wrapper-under .contact .contact_box table tr:last-child th,
#wrapper-under .contact .contact_box table tr:last-child td {
	background-image: none;
}
#wrapper-under .contact .contact_box table th {
	width: 100%;
	font-size: 14px;
	padding: 12px 5px 0px;
	border-bottom: none;
}
#wrapper-under .contact .contact_box table th .hissu {
	display: inline-block;
	width: 40px;
	font-size: 11px;
	position: static;
	margin-left: 15px;
}
#wrapper-under .contact .contact_box table td {
	font-size: 12px;
	padding: 12px 5px 8px;
	border-bottom: none;
	background: url("../image/contact/img_line_dotted.png") repeat-x left bottom;
}
#wrapper-under .contact .contact_box input[type="text"] {
	line-height: 38px;
	padding: 0px 15px;
}
#wrapper-under .contact .contact_box table td .name ul li {
	width: 49%;
	margin-right: 2%;
}
#wrapper-under .contact .contact_box table td .name ul li:nth-child(2n) {
	margin-right: 0;
}
#wrapper-under .contact .contact_box table td .age {
	width: 100%;
}
#wrapper-under .contact .contact_box table td .select_box:after {
	top: 15px;
	width: 3px;
	height: 3px;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 8px solid #802a09;
	pointer-events: none;
}
#wrapper-under .contact .contact_box table td .select_box select {
	width: 100%;
	line-height: 38px;
	padding: 0px 15px;
}
#wrapper-under .contact .contact_box table td .seibetsu ul li {
	margin-right: 25px;
}
#wrapper-under .contact .contact_box table td .seibetsu ul li input {
	width: 20px;
	height: 20px;
}
#wrapper-under .contact .contact_box table td .seibetsu ul li label {
	padding-left: 28px;
}
#wrapper-under .contact .contact_box table td .seibetsu ul li label:after {
	width: 20px;
	height: 20px;
	background-size: 20px;
}
#wrapper-under .contact .contact_box table td .seibetsu ul li input:checked + label:after {
	background-size: 20px;
}
#wrapper-under .contact .contact_box table td .mail div {
	width: 100%;
}
#wrapper-under .contact .contact_box table td .mail div:nth-child(2) {
	padding-bottom: 3px;
}
#wrapper-under .contact .contact_box table td .telephone {
	display: block;
	flex-wrap: nowrap;
}
#wrapper-under .contact .contact_box table td .telephone div:nth-child(1) {
	margin-bottom: 5px;
}
#wrapper-under .contact .contact_box table td .telephone div:nth-child(2) {
	width: 100%;
}
#wrapper-under .contact .contact_box table td .time {
	padding: 5px 0px 16px;
}
#wrapper-under .contact .contact_box table td .time ul li {
	width: 46%;
	margin-right: 0px;
	position: relative;
}
#wrapper-under .contact .contact_box table td .time ul li input {
	width: 17px;
	height: 17px;
}
#wrapper-under .contact .contact_box table td .time ul li label {
	padding-left: 25px;
}
#wrapper-under .contact .contact_box table td .time ul li label:after {
	width: 17px;
	height: 17px;
	background-size: 17px;
}
#wrapper-under .contact .contact_box table td .time ul li input:checked + label:after {
	background-size: 17px;
}
#wrapper-under .contact .contact_box table td .post div:nth-child(1) {
	width: 20px;
	font-size: 12px;
}
#wrapper-under .contact .contact_box table td .post div:nth-child(2) {
	width: 150px;
}
#wrapper-under .contact .contact_box table td .post div:nth-child(3) {
	width: calc(100% - 170px);
	padding-left: 5px;
}
#wrapper-under .contact .contact_box table td .todoufuken {
	display: block;
	flex-wrap: nowrap;
}
#wrapper-under .contact .contact_box table td .todoufuken div:nth-child(1) {
	width: 100%;
	margin-bottom: 5px;
}
#wrapper-under .contact .contact_box table td .todoufuken div:nth-child(2) {
	width: 100%;
}
#wrapper-under .contact .contact_box table td .address {
	display: block;
	flex-wrap: nowrap;
}
#wrapper-under .contact .contact_box table td .address div:nth-child(1) {
	width: 100%;
	margin-bottom: 5px;
}
#wrapper-under .contact .contact_box table td .address div:nth-child(2) {
	width: 100%;
}
#wrapper-under .contact .contact_box table td .marker {
	padding-bottom: 16px;
}
#wrapper-under .contact .contact_box table td .headcount div:nth-child(1) {
	width: 60px;
}
#wrapper-under .contact .contact_box table td .headcount div:nth-child(2) {
	width: 90px;
}
#wrapper-under .contact .contact_box table td .headcount div:nth-child(3) {
	width: calc(100% - 150px);
	padding-left: 10px;
}
#wrapper-under .contact .contact_box table td .douhansya_list ul li div:nth-child(1) {
	width: 60px;
}
#wrapper-under .contact .contact_box table td .douhansya_list ul li div:nth-child(2) {
	width: 190px;
}
#wrapper-under .contact .contact_box .check_list {
	padding-left: 0px;
}
#wrapper-under .contact .contact_box .check_list ul li {
	display: block;
	flex-wrap: nowrap;
}
#wrapper-under .contact .contact_box .check_list ul li div:nth-child(1) {
	margin-right: 0px;
	padding-left: 25px;
}
#wrapper-under .contact .contact_box .check_list ul li div:nth-child(1) input {
	width: 17px;
	height: 17px;
}
#wrapper-under .contact .contact_box .check_list ul li div:nth-child(1) label:after {
	width: 17px;
	height: 17px;
	top: 5px;
	background-size: 17px;
	margin-left: -25px;
}
#wrapper-under .contact .contact_box .check_list ul li div:nth-child(1) input:checked + label:after {
	background-size: 17px;
}
#wrapper-under .contact .contact_box .check_list ul li div:nth-child(2) {
	width: 100%;
	margin-top: 5px;
	padding-left: 25px;
}
#wrapper-under .contact .contact_box .privacy {
	padding: 16px 10px;
}
#wrapper-under .contact .contact_box .privacy div:nth-child(1) {
	font-size: 13px;
}
#wrapper-under .contact .contact_box .privacy div:nth-child(2) a {
	font-size: 15px;
	padding: 0px 26px 4px 5px;
	background-position: right 2px;
}
#wrapper-under .event_list .list_block ul li .bt_application a {
	font-size: 15px;
	background-position: right 2px;
	padding: 0px 26px 4px 5px;
}
#wrapper-under .contact .contact_box .basic {
	width: 100%;
}
#wrapper-under .contact .contact_box textarea {
	height: 160px;
	padding: 10px;
}
#wrapper-under .contact .bt_kakunin {
	width: 280px;
	padding: 20px 0px 30px;
}
#wrapper-under .contact .bt_kakunin button[type=button] {
	font-size: 15px;
	line-height:50px;
	background-size: 30px;
	border: 2px solid #ffed60;
}
#wrapper-under .contact .bt_kakunin button[type=button]:hover {
	border: 2px solid #e9333f;
}
    
#wrapper-under .cnf .contact .bt_prev {
	width: 200px;
	padding: 20px 0px 30px;
}
#wrapper-under .cnf .contact .bt_prev button[type=button] {
	font-size: 15px;
	line-height:50px;
}

#wrapper-under .contact .details {
	margin-bottom: 40px;
	padding: 20px 20px 10px;
	background-color: #FFF;
	border-radius: 30px;
}
#wrapper-under .contact .details .set {
	display: block;
}
#wrapper-under .contact .details .set div:nth-child(1) {
	display: block;
	width: 100%;
	padding: 3px 0px;
}
#wrapper-under .contact .details .set div:nth-child(2) {
	display: block;
	width: 100%;
	font-size: 14px;
	padding: 5px 0px 5px 0px;
}

/*アコーディオン*/
#wrapper-under .contact .read {
	border-radius: 20px;
	background-color: #f2e5dc;
	padding: 5px 0px;
}
#wrapper-under .contact details summary {
	display: block;
	cursor: pointer;
	list-style: none;
	position: relative;
	z-index: 50;
	margin-right: 10px;
}
#wrapper-under .contact details summary::after {
	content: url('../image/contact/icon_plus_s.png') !important;
	position: absolute;
	top: 6px;
	right: 15px !important;
    z-index: 5;
}
#wrapper-under .contact details[open] summary::after {
	content: url('../image/contact/icon_minus_s.png') !important;
        z-index: 5;
}
#wrapper-under .contact details summary::before {
	content: "概要情報を読む";
	position: absolute;
	top: 50%;
	left: 0px;
	right: 0px;
	transform : translateY(-50%);
	-webkit-transform : translateY(-50%);
	margin: 0px auto;
	font-size: 11px;
	color: #802a09 !important;
	text-align: center;
    z-index: 5;
}
#wrapper-under .contact details[open] summary::before {
	content: "概要情報を閉じる";
}
#wrapper-under .contact .event_check details summary {
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

#wrapper-under .contact .event_check details summary::-webkit-details-marker {
	display: none;
}
#wrapper-under .contact .event_check details,
#wrapper-under .contact .event_check details * {
	position: relative;
	z-index: 3;
}
/*アコーディオンのアニメーション*/
body {
	interpolate-size: allow-keywords;
}
#wrapper-under .contact details::details-content {
	overflow: clip;
	height: 0;
	transition:
		height 400ms ease,
		border 400ms ease,
		content-visibility 400ms ease allow-discrete;
}
#wrapper-under .contact details[open]::details-content {
	height: auto;
}
.pp-modal__dialog{
        width: calc(100vw - 16px);
/*        height: calc(100vh - 16px);*/
            height: calc(90vh - 60px);
        border-radius: 12px;
      }
}
#wrapper-under .cnf .contact .contact_box input[type="text"],
#wrapper-under .cnf .contact .event_check ul li input[type="checkbox"],
#wrapper-under .cnf .contact .contact_box table td .time ul li input,
#wrapper-under .cnf .contact .event_check ul li label,
#wrapper-under .cnf .contact .contact_box .check_list ul li div:nth-child(1) label{
    cursor: auto;
}

#wrapper-under .cnf p.cnf-text {
    font-size: 16px;
    color: #323232;
}
#wrapper-under .cnf p.guidetxt{
    text-align: center;
    margin-bottom: 10px;
}
.errbox {
    border: 4px solid #e9333f;
    background: #fff2f2;
    border-radius: 15px;
    padding: 15px;
    margin-bottom: 20px;
}
.errbox h3{
    color: #e9333f;
}
.errbox ul {
    list-style: disc;
    padding-left: 20px;
}
.bt_gotop {
    text-align: center;
}
.bt_gotop a {
    font-family: "Zen Maru Gothic", "Yu Gothic Medium" ,"Helvetica Neue", Helvetica, Arial, "游ゴシック Medium", YuGothic, "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif;
    display: inline-flex;
position: relative;
    justify-content: center;
    align-items: center;
    gap: 20px;
    padding: 24px 52px;
    min-width: 320px;
    border-radius: 999px;
    border: 3px solid #F3D9D2;
    background: #fff;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.35em;
    text-decoration: none;
    color: #802A09;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    margin: 0 auto;
}

.bt_gotop a::before {
    content: "";
    background: url(../image/more-ar001.svg) no-repeat 0 0 / contain;
    width: 40px;
    height: 40px;
    position: absolute;
right: 15px;
    top: 15px;
}

.bt_gotop a:hover {
	border: 3px solid #F3D9D2;
    background: #F3D9D2;
	transition : 0.5s;
}

#wrapper-under .cnf .contact .contact_box table td .time ul li label,
#wrapper-under .cnf .contact .contact_box .check_list ul li div:nth-child(1) input,
#wrapper-under .cnf .contact .contact_box .check_list ul li div:nth-child(1) label:after {
    cursor: auto;
}
.contact .name,
.contact .seibetsu,
.contact .mail,
.contact .telephone,
.contact .telephone+div,
.contact .time,
.contact .post,
.contact .todoufuken,
.contact .address,
.contact .headcount,
.contact .headcount+div,
.contact .douhansya_list{
    font-weight: 700;
}

#wrapper-under .contact .contact_box table td .select_box select {
    font-weight: 500 !important;
}

div#privacyPolicyModalContent {
background: #FBF6EE;
    overflow-y: scroll;
}


article#privacyPolicyArticl .h1-area h1 {
    padding: 35px 0 35px;
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.2em;
    position: relative;
}
div#privacyPolicyModalContent .h1-area h1::after {
    content: "";
    background: url(/common/image/under-dc001.svg) no-repeat 0 0 / contain;
    width: 338px;
    height: 15px;
    position: absolute;
    bottom: 0;
    left: calc(50% - 169px);
}
div#privacyPolicyModalContent .h1-area h1 {
    padding: 35px 0 35px;
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.2em;
    position: relative;
}
@media screen and (max-width: 767px) {
div#privacyPolicyModalContent .h1-area {
      margin-bottom: 40px;
    }
div#privacyPolicyModalContent .h1-area h1 {
      font-size: 22px;
    }
div#privacyPolicyModalContent .h1-area h1::after {
      width: 218px;
      height: 10px;
      left: calc(50% - 109px);
  }
}
div#privacyPolicyModalContent .txt-area {
    margin-bottom: 35px;
    font-size: 16px;
    line-height: 1.8;
}
@media screen and (max-width: 767px) {
div#privacyPolicyModalContent .txt-area {
        margin-bottom: 20px;
        font-size: 15px;
    }
}
.under-1col div#privacyPolicyModalContent article#privacyPolicyArticle,
.under-1col div#privacyPolicyModalContent article#privacyPolicyArticle #main{
    width: 100%;
    max-width: 980px;
}
div#privacyPolicyModalContent article#privacyPolicyArticle .h1-area {
    margin-bottom: 60px;
}
article#privacyPolicyArticle div#main {
    max-width: 900px;
    margin: 0 auto;
}
.under-1col div#privacyPolicyModalContent article#privacyPolicyArticle #main {
    /* width: 100%; */
    max-width: 900px;
    margin: 0 auto;
}
article#privacyPolicyArticle .h2-area {
    margin-bottom: 35px;
    padding-top: 70px;
}

/* @media screen and (max-width: 989px) {
    article#privacyPolicyArticle .h2-area {
        margin-bottom: 25px;
        padding-top: 40px;
    }
} */

@media screen and (max-width: 767px) {
    article#privacyPolicyArticle .h2-area {
        margin-bottom: 20px;
        padding-top: 40px;
    }
}

article#privacyPolicyArticle .h2-area h2 {
  padding: 22px 26px 21px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  background: #E9333F;
  color: #fff;
  border-radius: 10px;
}

/* @media screen and (max-width: 989px) {
    article#privacyPolicyArticle .h2-area h2 {
        font-size: 25px;
    }
} */

@media screen and (max-width: 767px) {
    article#privacyPolicyArticle .h2-area h2 {
        font-size: 20px;
        padding: 14px 22px;
    }
}

article#privacyPolicyArticle .h3-area {
    margin-bottom: 35px;
    padding-top: 50px;
}

@media screen and (max-width: 767px) {
article#privacyPolicyArticle .h3-area {
        margin-bottom: 20px;
        padding-top: 25px;
    }
}

article#privacyPolicyArticle .h3-area h3 {
    padding: 5px 0 6px 25px;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.4;
    position: relative;
    color: #802A09;
}

article#privacyPolicyArticle .h3-area h3::before {
  content: "";
  background: #E9333F;
  width: 6px;
  height: 43px;
  border-radius: 999px;
  position: absolute;
  left: 0;
  top: 0;
}



/* @media screen and (max-width: 989px) {
    #privacyPolicyArticle .h3-area h3 {
        font-size: 20px;
    }
} */

@media screen and (max-width: 767px){
.pp-modal__title {
    margin: 0;
    font-size: 19px;
    word-break: auto-phrase;
}
article#privacyPolicyArticle .h3-area h3 {
      padding: 2px 0 2px 17px;
      font-size: 17px;
}
article#privacyPolicyArticle .h3-area h3::before {
      width: 4px;
      height: 28px;
  }
}
