@charset "utf-8"; 

/*プリセット------------------------------------------------------------ */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,code,del,dfn,em,q,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td { font-family:inherit; font-weight:inherit; margin:0; padding:0; border:0; font-style:inherit; font-size:inherit; vertical-align:baseline;}
html,body { font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; background-color:#F9F9F9;; font-size:14px; color:#333; min-width:320px; -webkit-text-size-adjust:none;}
section,article,header,footer,nav { display:block;}
img { max-width:100%; border:none; margin:0; padding:0; vertical-align:middle;}
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],input[type="button"] { border-radius:0; -webkit-box-sizing:content-box; -webkit-appearance:button; appearance:button; box-sizing:border-box; cursor:pointer;}
input[type="submit"]::-webkit-search-decoration,input[type="button"]::-webkit-search-decoration { display:none;}
input[type="submit"]::focus,input[type="button"]::focus { outline-offset:-2px;}
input[type="submit"]:hover { opacity:0.9;}

/* 共通------------------------------------------------------------ */
.bold { font-weight:bold;}
.sp { display:none;}
.pc { display:block;}
.tac { text-align: center !important;}
.pt0 { padding-top: 0 !important;}
@media screen and (min-width:767px) { .hide_pc { display: none; } }
.flex_box { display:flex;}
.information_statement { font-size:16px; font-weight:bold; margin: 40px auto 20px; text-align:center;}
.step img.pc { width:635px; margin:auto;}
.contents_wrap { padding: 0 0 60px;}
/* .contents_wrap:nth-of-type(even) { background-color:#F9F9F9;} */
.contents_wrap.bg_grey { background-color:#F9F9F9;}
.contents_box { max-width:882px; padding:0 10px; margin:auto;}
.application_wrap { background-color:#FFF; max-width:1100px; margin:auto; padding: 0 110px 60px; box-sizing:border-box;}
.application_box { padding-top: 50px;}
.palt {	font-feature-settings: "palt"; }
h2 { text-align:center; font-size:36px; font-weight: bold; line-height:100%; padding-bottom:38px; max-width:882px; margin:auto; border-bottom:#333333 solid 1px;}
h2 span { font-size:24px; line-height:100%;}
h3 { display:flex; margin-bottom:40px; font-size:18px; font-weight:bold;}
h3 span:last-child { /*margin-left:30px;*/ display: inline-block; margin-top: 5px; font-size: 14px; font-weight: bold; line-height: 1.35; }
h3.address { padding-left:30px; font-size:14px;}
h3.address span { font-size:12px;}
.under_line_title { text-align: center; }
.under_line_title .title { padding-bottom: 5px; font-family: "YuMin-Demibold"; font-size: 28px; line-height: 100%; background: linear-gradient(transparent 60%, #e0e7f0 0%); }
.under_line { padding-bottom: 5px; line-height: 100%; background: linear-gradient(transparent 60%, #e0e7f0 0%); }
.under_line.light_blue {  background: linear-gradient(transparent 60%, #f2f5fa 0%);  }
.under_line.orange     { background: linear-gradient(transparent 60%, #fdeddf 0%); }

.page_title {
	float: none; margin: 0 20px; padding: 25px 4px 10px; font-size: 24px; font-weight: bold;
	border-bottom: solid 1px #CCC;
}
.step { margin: 0 0 30px;}
.yoyaku_message { padding: 50px; border: solid 1px #CCC;}
.yoyaku_message p { font-size: 16px; font-weight: bold;}
.yoyaku_message p.date { margin: 0 0 15px; font-size: 24px;}

/* * ボタン * *****************************************************************/
.button_1 { display:block; margin:auto; width:320px; height:50px; background:#cd1e33; font-size:16px; font-weight:bold; color:#FFF; text-decoration:none; text-align:center; line-height:48px; border:none;}
.button_2 { display:block; background:#FFF; margin-right:30px; padding: 0; width:320px; height:50px; font-size:16px; font-weight:bold; color:#cd1e33; text-decoration:none; text-align:center; line-height:46px; border:#cd1e33 solid 2px;}
.button_address { margin:0 0 0 16px; width:100px; height:40px; background:#333333; font-size:14px; line-height:38px; font-weight:bold; color:#FFF; text-decoration:none; text-align:center; border:none;}
.form_contents.button_box { padding-top:70px; justify-content:center;}
.button_box .flex_box { justify-content:center;}
.button_box .center { text-align:center; margin-bottom:30px;}
.button_box p { font-size:14px; line-height:100%; margin-top:10px;}


/* トップページ------------------------------------------------------------ */
.about_safety3 { margin-top: 50px; }
.about_lead { margin-top: 50px; }
.about_lead p { font-size: 20px; font-weight: bold; text-align: center; line-height: 2; }
.about_lead p + p { margin-top: 1em; }

.adviceStep_contents_wrap .contents_box { max-width: 1216px; }
.adviceStep_img { margin-top: 40px; }
.adviceStep_note { box-sizing: border-box; margin-top: 40px; padding: 40px; background: #fff; }
.adviceStep_note .hl { color: #cd1e33; font-weight: bold; font-size: 16px; }
.adviceStep_note .list { font-size: 16px; color: #4c4035; list-style: none; }
.adviceStep_note .list .hl_black { color: #4c4035; font-weight: bold; font-size: 16px; }
.mb10 {margin-bottom : 10px;}
.mb20 {margin-bottom : 20px;}

.voice_contents_wrap { background-image: url(../../img/docomo/bg_voice.jpg); background-repeat: no-repeat; background-position: 50% 50%; background-size: cover; padding-top: 40px; padding-bottom: 40px; }
.voice_wrap .contents_box { }
.voice_wrap .contents_box .voice_main { display: flex; justify-content: center; }
.voice_wrap .contents_box .voice_main img { }

.course_type_select_wrap { }
.course_type_select_wrap .contents_box { max-width: 1000px; }
.course_type_select_wrap .course_type_select_title { }
.course_type_select_wrap .pc .course_type_select_boxes { display: flex; margin: 62px -20px 0; }
.course_type_select_wrap .pc .course_type_select_box { flex: 1 1 100%; margin: 0 20px; padding: 17.5px 25px 15px; border: solid 2px #b5c2d3; background-color: #fff; }
.course_type_select_wrap .pc .course_type_select_box.base_make { border-color: #fbc096; }
.course_type_select_wrap .pc .course_type_select_box .title { font-family: "YuMin-Demibold"; font-size: 28px; line-height: 1.25; color: #2c71ab; text-align: center; }
.course_type_select_wrap .pc .course_type_select_box.base_make .title { color: #f28729; }
.course_type_select_wrap .pc .course_type_select_box .btns { display: flex; margin: 9px -7.5px 0; }
.course_type_select_wrap .pc .course_type_select_box .btns .btn { flex: 1 1 auto; margin: 0 7.5px; }
.course_type_select_wrap .pc .course_type_select_box .btns .btn a { display: flex; align-items: center; justify-content: center; background-color: #2c71ab; border-radius: 22px; text-decoration: none; color: #fff; font-size: 16px; font-family: "Gothic Medium BBB"; min-height: 44px; padding: 0 18.5px; }
.course_type_select_wrap .pc .course_type_select_box.base_make .btns .btn a { background-color: #f28729; }
.course_type_select_wrap .pc .course_type_select_box .btns .btn a:hover { opacity: 0.5; }
.course_type_select_wrap .pc .course_type_select_box .img { margin-top: 18px; text-align: center; }
.course_type_select_wrap .pc .course_type_select_box .img img { }

.course_wrap { max-width: 1200px; padding: 35px 20px 0; margin: 0 auto; }
.course_wrap .course_title { text-align: center; margin-top: 30px; }
.course_wrap .course_title .title { padding-bottom: 5px; font-family: "YuMin-Demibold"; font-size: 28px; line-height: 100%; background: linear-gradient(transparent 60%, #e0e7f0 0%); }
.course_wrap .course_types { margin-top: 70px; }
.course_wrap .course_types .course_type:not(:first-child) { margin-top: 80px; }
.course_wrap .course_types .course_type .course_type_title { font-family: "YuMin-Demibold"; font-size: 40px; color: #2d72ad; text-align: center; }
.course_wrap .course_types .course_type.base_make .course_type_title { color: #f4872a; }
.course_wrap .course_boxes { margin-top: 30px; }
.course_wrap .course_boxes .course_box_holder:not(:first-child) { margin-top: 40px; }

.course_box { }
.course_box .course_head { background-color: #2d72ad; color: #fff; text-align: center; padding: 7.5px 0; }
.course_box.base_make .course_head { background-color: #f4872a; font-family: "Gothic Medium BBB"; }
.course_box .course_head .title { font-size: 28px; }
.course_box .course_head .sub { font-size: 15px; }
.course_box .course_body { border: solid 2px #aebcd6; border-top: none; padding: 20px 48px 40px; background-color: #fff; }
.course_box.base_make .course_body { border-color: #dcc9b8; }
.course_box .course_lead { font-family: "Gothic Medium BBB"; font-size: 19px; line-height: 1.45; text-align: center; }
.course_box .course_procedure { font-family: "YuMin-Demibold"; margin: 35px auto 0; }
.course_box .course_procedure .flex_box { justify-content: space-between; margin-left: auto; margin-right: auto; }
.course_box .course_procedure .flex_box.col3 { max-width: 886px; }
.course_box .course_procedure .procedure_box { margin-right: 20px; width: 255px; }
.course_box .course_procedure .procedure_box:last-child { margin-right: 0; }
.course_box .course_procedure .procedure_box p.title { text-align: center; font-size: 20px; line-height: 25px; margin: 20px 0 0; }
.course_box .course_procedure .procedure_box p.explanation { position: relative; font-size: 16px; line-height: 24px; padding-left: 5px; margin: 30px 0 0; }
.course_box .course_procedure .procedure_box p.explanation::before { content: ''; position: absolute; left: 50%; top: -16px; display: inline-block; width: 50px; height: 2px; transform: translateX(-50%); background-color: #2C71AB; }
.course_box.base_make .course_procedure .procedure_box p.explanation::before { background-color: #f4872a; }
.course_box .course_select_box_top_annotation { font-family: "YuMin-Demibold"; font-size: 14px; text-indent: -1em; margin-left: 1em; }
.course_box .course_select_box_top_annotation,
.course_box .course_select_box { margin-top: 70px; }
.course_box .course_select_box_top_annotation + .course_select_box { margin-top: 10px; }
.course_box .course_select_box { position: relative; border: #919191 solid 1px; padding: 30px 35px 25px; cursor: pointer; }
.course_box .course_select_box .box_head .box_title { display: flex; align-items: center; font-family: "YuMin-Demibold"; font-size: 28px; line-height: 1; color: #2c71ab; }
.course_box.base_make .course_select_box .box_head .box_title { color: #f4872a; }
.course_box .course_select_box .box_head .box_title::before { content: ''; display: inline-block; width: 18px; height: 18px; margin-right: 6px; background-image: url(../../img/docomo/icon_checkbox_big.png); background-repeat: no-repeat; background-position: center center; background-size: contain; }
.course_box.base_make .course_select_box .box_head .box_title::before { background-image: url(../../img/docomo/icon_checkbox_big_orange.png); }
.course_box .course_select_box .box_description { margin-top: 16px; font-family: "Gothic Medium BBB"; font-size: 18px; }
.course_box .course_select_box .box_description .text { margin-bottom: 8px; }
.course_box .course_select_box .box_description ul { list-style: none; }
.course_box .course_select_box .box_description ul li { text-indent: -1em; margin-left: 1em; line-height: 1.35; }
.course_box .course_select_box.active,
.course_box .course_select_box:hover { border-color: #2c71ab; box-shadow: 0 0 0 1px #2c71ab inset; }
.course_box.base_make .course_select_box.active,
.course_box.base_make .course_select_box:hover { border-color: #f4872a; box-shadow: 0 0 0 1px #f4872a inset; }
.course_box .course_select_box.active .box_head .box_title::before { background-image: url(../../img/docomo/icon_checkbox_big_on.png); }
.course_box.base_make .course_select_box.active .box_head .box_title::before { background-image: url(../../img/docomo/icon_checkbox_big_orange_on.png); }

.course_annotation { margin-top: 40px; font-family: "Gothic Medium BBB"; font-size: 14px; }
.course_annotation .annotation_title { }
.course_annotation .annotation_content { margin-top: 6px; }
.course_annotation .annotation_content ul { list-style: none; }
.course_annotation .annotation_content ul li { text-indent: -1em; margin-left: 1em; }

.beauty_wrap { max-width:1100px; margin:auto; padding:0 20px;}
.beauty_wrap .title { margin-bottom:100px;}

table.table01 { font-size:16px; width:100%; margin:auto; border:#DDDDDD solid 1px; border-collapse:collapse;}
table.table01 caption { height:54px; line-height:54px; font-weight:bold; background-color:#F9F9F9; border:#DDDDDD solid 1px; border-bottom:none; position:relative;}
table.table01 caption a { color:#cd1e33; text-decoration:none;}
table.table01 caption a.previous { position:absolute; left:20px; top:15px;}
table.table01 caption a.next { position:absolute; right:20px; top:15px;}
table.table01 caption span.previous { position:absolute; left:20px; top:15px; color:#CDCDCD;}
table.table01 caption span.next { position:absolute; right:20px; top:15px; color:#CDCDCD;}
table.table01 thead th { height:54px; font-size:14px; vertical-align:middle; font-weight:bold; color:#444444; border:#DDDDDD solid 1px;}
table.table01 thead th.sat { background-color: #ebf0f4; color: #2C71AB; }
table.table01 thead th.sun { background-color: #fae6e8; color: #b30b3e; }
table.table01 tbody th { padding:0 10px; font-size:14px; vertical-align:middle; color:#444444; border:#DDDDDD solid 1px;}
table.table01 tbody th:not(.harf) { font-weight: bold; font-size: 15px; color: #000; }
table.table01 tbody td { width:106px; height:54px; vertical-align:middle; color:#0071BC; text-align:center; border:#DDDDDD solid 1px; cursor:pointer;}
table.table01 tbody td:hover { background-color:rgba(68,111,221,0.10);}
table.table01 tbody td.close { color:#CDCDCD; font-weight:bold; background:#e9e9e9; border:#DDDDDD solid 1px; cursor:default;}
table.table01 tbody td.holiday { color:#EEEEEE; font-weight:bold; background:#CDCDCD; border:#DDDDDD solid 1px; cursor:default;}
table.table01 tbody td.current { background-color:rgba(68,111,221,0.10);}

table.table02 { font-size:16px; width:100%; margin:auto; border:#DDDDDD solid 1px; border-collapse:collapse; table-layout: auto;}
table.table02 caption { height:54px; line-height:54px; font-weight:bold; background-color:#F9F9F9; border:#DDDDDD solid 1px; border-bottom:none; position:relative;}
table.table02 caption a { color:#cd1e33; text-decoration:none;}
table.table02 caption a.previous { position:absolute; left:20px; top:15px;}
table.table02 caption a.next { position:absolute; right:20px; top:15px;}
table.table02 caption span.previous { position:absolute; left:20px; top:15px; color:#CDCDCD;}
table.table02 caption span.next { position:absolute; right:20px; top:15px; color:#CDCDCD;}
table.table02 thead th { height:54px; font-size:14px; vertical-align:middle; font-weight:bold; color:#444444; border:#DDDDDD solid 1px;}
table.table02 thead th.sat { background-color: #ebf0f4; color: #2C71AB; }
table.table02 thead th.sun { background-color: #fae6e8; color: #b30b3e; }
table.table02 tbody th { padding:0 10px; font-size:14px; vertical-align:middle; color:#444444; border:#DDDDDD solid 1px;}
table.table02 tbody th:not(.harf) { font-weight: bold; font-size: 15px; color: #000; }
table.table02 tbody td { width:106px; height:20px; vertical-align:middle; color:#0071BC; text-align:center; border:#DDDDDD solid 1px; position: relative;}
table.table02 tbody td.close { color:#CDCDCD; font-weight:bold; background:#e9e9e9; border:#DDDDDD solid 1px; cursor:default;}
table.table02 tbody td.holiday { color:#EEEEEE; font-weight:bold; background:#e9e9e9; border:#DDDDDD solid 1px; cursor:default;}
table.table02 tbody td.current { background-color:rgba(68,111,221,0.10);}

table.table02 tbody tr:nth-child(4n -3) > td { border-bottom: none;}
table.table02 tbody tr:nth-child(4n -2) > td { border-top: none; border-bottom: none;}
table.table02 tbody tr:nth-child(4n -1) > td { border-top: none; border-bottom: none;}
table.table02 tbody tr:nth-child(4n) > td { border-top: none;}

.stop_style table.table_stop th,.stop_style table.table_stop td { border: 1px solid #DDDDDD; padding: 10px;}
.stop_style .application_wrap { margin-top: 40px; padding: 60px;}
.stop_style .application_box { width: 600px; margin: 0 auto; padding: 20px;}
.stop_style .btn_area { margin-bottom: 30px;}
@media screen and (max-width:768px) {
    .stop_style .application_wrap { padding: 10px;}
    .stop_style .application_box { width: auto;}
}

.time_set_overlay {
	width: 100%;
/*	padding: 6px;*/
/*	text-align: left;*/
	border: solid 1px #FFF;
	border-radius: 5px;
	box-sizing: border-box;
	background: #0071BC;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	cursor: pointer;

	color: white;
    text-align: center !important;
    font-size: 20px;
    padding: 0px !important;

}

.time_set_overlay_test {
	width: 100%; padding: 6px; text-align: left; border: solid 1px #FFF; border-radius: 5px; box-sizing: border-box;
	position: absolute; top: 0; left: 0; z-index: 10; cursor: pointer; 
}
.time_set_overlay:hover { background: #00538B;}
.time_set_overlay span { display: block; line-height: 1; color: #FFF; font-size: 14px; font-family: Helvetica, Arial, sans-serif;}

.time_set_pattern_30 .time_set_overlay { height: 40px;}
.time_set_pattern_45 .time_set_overlay { height: 60px;}
.time_set_pattern_60 .time_set_overlay { height: 80px;}
.time_set_pattern_90 .time_set_overlay { height: 120px;}

/* .time_set_overlay_15 { height: 20px;}
.time_set_overlay_30 { height: 40px;}
.time_set_overlay_45 { height: 60px;}
.time_set_overlay_60 { height: 80px;}
.time_set_overlay_90 { height: 120px;}
.time_set_overlay_120 { height: 160px;} */


 /* * フォーム共通* *****************************************************************/
.form_contents { padding:10px 0;}
.form_contents_2 { padding-left:30px;}
.form_contents.questionnaire { padding:10px 30px;}
.form_contents:last-child { padding-bottom:0;}
.form_contents .left { width:300px; height:40px; padding:0 20px 0 30px; justify-content:space-between; align-items: center;}
.form_contents .left p { font-size:16px; font-weight:bold; color:#444; line-height:40px;}
.form_contents .left p:nth-child(2) { padding:0 10px; font-size:14px; font-weight:bold; color:#7C7C7C;}
.form_contents .left span { margin:auto 0; width:40px; height:20px; line-height: 20px; background-color:#cd1e33; color:#FFF; font-size:12px; text-align:center; font-weight:bold;}
.form_contents.align-center .left p { padding:0;}
.form_contents .left.radio p { padding:0;}
.form_contents .right { width:640px; font-size:16px;}
.form_contents .right.birth span { font-size:14px; font-weight:bold; margin:0 10px;}
.form_contents .right .mb30 { margin-bottom:30px;}
.form_contents .right p { font-size:12px; line-height:100%; margin-top:8px; color: #333;}
.form_contents .qa { display:flex;}
.form_contents .qa p { font-size:16px; font-weight:bold;}
.form_contents .qa p .information_statement { font-size:14px;}
.form_contents .qa span:first-child { width:50px; color:#cd1e33; font-size:16px; font-weight:bold;}
.checkbox,.form_contents .radio, .form_contents .answer { margin-left:50px; margin-top:20px;}
.form_contents .qa span.required { margin-left:10px; width:40px; height:20px; line-height: 20px; background-color:#cd1e33; color:#FFF; font-size:12px; text-align:center; font-weight:bold;}
.form_contents .terms { color:#444; width:100%; padding:10px; border:solid 1px #BFBFBF; font-size:14px; box-sizing:border-box;}
.form_contents .terms ul { list-style: disc;}
.form_contents .terms ul li { margin-left: 20px;}
form input[type=text] , input[type=tel] { width:100%; height:40px; padding:0 10px; border:solid 1px #BFBFBF; font-size:16px; box-sizing:border-box;}
form input[type=text].style01 , input[type=tel].style01 { width:210px; margin-right:10px;}
form input[type=text].style02 , input[type=tel].style02 { width:210px;}
form input[type=text].style03 , input[type=tel].style03 { width:210px;}
form input[type=text].style04 , input[type=tel].style04 { width:320px; height:20px; margin-left:6px;}
form textarea { box-sizing: border-box; width: 100%; padding: 10px; border: 1px solid #ddd; font-size: 16px;}
form select {
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	padding:4px 40px 4px 14px; font-size:12px; font-weight:normal; border:solid 1px #BFBFBF;
/*	width: auto; height:40px;*/
}
.agree { text-align:center; font-size:18px; margin:60px auto 30px;}
.radio label,.checkbox label { align-items:normal; line-height:normal; margin-bottom:10px; margin-left:10px;}
.radio label.first,.checkbox label.first { margin-left:0px;}
.radio label:last-child,.checkbox label:last-child { margin-bottom:0;}
.radio.vart label,.checkbox.vart label { display: block; margin-left:0;}
.radio.vart textarea,.checkbox.vart textarea { margin-left: 20px; width: calc(100% - 20px);}

.checkbox-input { display: none;}
.checkbox-text { display: inline-block; padding-left: 20px; cursor: pointer; position: relative;}
.checkbox-text::before {
    content: ''; display: block; width: 15px; height: 15px; background: url("../../img/docomo/icon_checkbox.png"); background-size: contain; position: absolute; top: 3px; left: 0;
}
.checkbox-input:checked+.checkbox-text::after {
    content: ''; display: block; width: 15px; height: 15px; background: url("../../img/docomo/icon_checkbox_on.png"); background-size: contain;position: absolute; top: 3px; left: 0;
}

.radio-input { display: none;}
.radio-text { display: inline-block; padding-left: 20px; cursor: pointer; position: relative;}
.radio-text::before {
    content: ''; display: block; width: 16px; height: 16px; background: url("../../img/docomo/icon_radiobtn.png"); background-size: contain; position: absolute; top: 2px; left: 0;
}
.radio-input:checked+.radio-text::after {
    content: ''; display: block; width: 16px; height: 16px; background: url("../../img/docomo/icon_radiobtn_on.png"); background-size: contain;position: absolute; top: 2px; left: 0;
}

.select-wrap { display: inline-block; border: solid 1px #BFBFBF; position: relative;}
.select-wrap::after {
    content: ''; display: block; width: 12px; height: 11px; margin-top: -4px; background: url("../../img/docomo/icon_selectbox.png"); background-size: contain; position: absolute; top: 50%; right: 12px;
}
.select-wrap select { border: none; outline: none; background: transparent; box-shadow: none; -webkit-appearance: none; appearance: none;}
.select-wrap select::-ms-expand {display: none;}

.form_contents_2 .checkbox { margin: 20px 0 20px 50px;}


/* * 確認画面＿フォーム* *****************************************************************/
.confirm_wrap { max-width:882px; margin:auto; padding-top:80px;}
.confirm_wrap .form_contents { padding:24px 30px; border-bottom:#DDDDDD solid 1px; align-items:center;}
.confirm_wrap .form_contents.border_none { border-bottom: none;}
.confirm_wrap .form_contents.first { padding-top:0;}
.confirm_wrap .form_contents .left { width:300px; height:16px; padding:0 20px 0 0; justify-content:space-between;}
.form_contents .left p { font-size:14px; line-height: 36px; font-weight:bold; color:#444;}
.confirm_wrap .form_contents .right p { overflow-wrap: anywhere; font-size:14px; line-height:100%; margin-top:0px;}
.confirm_wrap h3 { margin-bottom:60px;}
.confirm_wrap h3.mb40 { margin-bottom:40px;}
.confirm_wrap h3.address { padding-left:30px; padding-top:80px;}
 .confirm_wrap .answer { margin-left:50px; margin-top:20px;}
.confirm_wrap .answer p span { margin-left:20px;}

/* * 予約完了画面＿フォーム* *****************************************************************/
.thanx_message { font-size: 20px; font-weight: bold; color: #333; text-align: center;}
.thanx_message::after { display: block; content: ''; height: 1px; width: 100px; margin: 40px auto; background: #333;}
.thanx_note { display: table; margin: 30px auto;}
.complete_wrap .button_1 { margin-top: 60px;}

.thanks_message { font-size: 20px; font-weight: bold; color: #333; text-align: center;}

/* * エラー画面＿フォーム* *****************************************************************/
.error_info { display: table; margin: 60px auto 80px; }
.error_info p { margin-bottom: 1em;}
.error_info p em { text-align:center; margin-top:0; font-size: 20px; font-weight: bold;}
.error_box form p { margin-top:10px; font-weight:bold;}

/* * モーダル* *****************************************************************/
.modal { position: fixed; top: 0; bottom: 0; left: 0; right: 0; background-color: rgba(0, 0, 0, 0.4); display: flex; align-items: center; justify-content: center; }
.modal .modal_box { background-color: #fff; position: relative; width: 882px; margin: 0 30px; }
.modal .modal_box .modal_close { position: absolute; top: 20px; right: 20px; cursor: pointer; }
.modal .modal_box .modal_close:hover { opacity: 0.5; }
.modal .modal_box .modal_close img { width: 24px; }
#course_error_modal .modal_box .modal_content { padding: 100px 25px; }
#course_error_modal .modal_box .modal_content .icon { text-align: center; }
#course_error_modal .modal_box .modal_content .icon img { width: 78px; }
#course_error_modal .modal_box .modal_content .message { margin-top: 50px; text-align: center; font-size: 18px; font-weight: bold; }

/* 新フォーム *****************************************************************/
input.btn,
.btn {
	display: inline-block; height: 40px; padding: 0 10px; line-height: 40px; color: #FFF; font-size: 16px; font-weight: bold;
	text-align: center; text-decoration: none; border: none; border-radius: 4px !important; background: #0071BC;
}
.btn.btn_middle { width: 250px; height: 60px; line-height: 60px; font-size: 20px; margin: 0 10px;}
.btn.btn_large { width: 380px; height: 60px; line-height: 60px; font-size: 20px;}
.btn.btn_gray { background:#6B6D6E;}

.form_parts { margin: 0 0 30px;}
.form_parts .label { padding: 0 0 10px; font-size: 16px; font-weight: bold;}
.form_parts .label span {
	display: inline-block; width: 40px; height: 20px; line-height: 20px;
	color: #FFF; font-size: 12px; font-weight: bold; text-align: center; background-color: #F00;
}
.form_parts .label_icon { margin: 15px 0;}
.form_parts .label_icon label { margin-right: 10px;}
.form_parts .date_area {
	width: 100%; padding: 14px 20px; font-size: 16px; border: solid 1px #999;
	box-sizing: border-box; position: relative;
}
.form_parts .date_area button { position: absolute; top: 50%; right: 15px; transform: translateY(-50%);}
.form_parts input { width: 100%; padding: 14px 20px; font-size: 16px; box-sizing: border-box;}
.form_parts select { width: 100%; padding: 14px 20px; font-size: 16px; box-sizing: border-box;}
.form_parts .zipcode_box { margin: 0 0 15px; font-weight: bold;}
.form_parts .zipcode_box input:nth-of-type(1) { width: 80px; margin: 0 10px;}
.form_parts .zipcode_box input:nth-of-type(2) { width: 100px; margin: 0 10px;}

.btn_area { margin-top: 40px; text-align: center;}

/* 予約内容選択ページ *****************************************************************/
.calendar_select_container {
    max-width: 800px;
    margin: 0 auto;
    padding: 60px 20px;
    text-align: center;
}

.calendar_select_title {
    display: block !important;
    width: 100% !important;
    float: none !important;
    font-size: 1.8rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 10px;
    line-height: 1.2;
}

.calendar_select_subtitle {
    display: block !important;
    width: 100% !important;
    float: none !important;
    font-size: 1rem;
    color: #666;
    margin-top: 0;
    margin-bottom: 50px;
    line-height: 1.5;
}

.calendar_select_buttons {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}

.calendar_select_btn {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 280px;
    height: 250px;
    background-color: #fff;
    border: 2px solid #ddd;
    border-radius: 15px;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

.calendar_select_btn:hover {
    border-color: #0C72C4;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    transform: translateY(-2px);
}

.calendar_select_icon {
    width: 86px;
    height: 77px;
}

.calendar_select_text {
    font-size: 2.0rem;
    font-weight: bold;
    color: #000000;
}

.calendar_select_arrow {
    position: absolute;
    bottom: 35px;
    right: 25px;
}

@media (max-width: 600px) {
    .calendar_select_buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .calendar_select_btn {
        width: 100%;
        max-width: 300px;
    }
}

/* 768px以下 */
@media screen and (max-width:768px) {
    
    /* 共通------------------------------------------------------------ */
    .sp { display:block;}
    .pc { display:none;}
    .hide_sp { display: none; }
    .contents_wrap { padding: 0 0 40px;}
    .contents_wrap.pb0 { padding:40px 0 0;}
    h2 { font-size:22px; padding-bottom:20px; font-feature-settings: "palt"; letter-spacing: 1px;}
    h2 span { font-size:18px;}
    h3 { font-size:16px; padding: 0 10px; margin-bottom: 20px; }
    h3 span:last-child { /*margin-left: 0px;*/ line-height: 1.4; display: inline-block; margin-top: 3px; }
    h3.address { padding-left:12px; padding-right:12px;}
    h3.address span { margin-left:10px; line-height:inherit;}
    .information_statement { font-size:14px; margin: 30px auto 20px;}
    .step img.sp { width:280px; margin:auto;}
    .application_wrap { padding:0 0 40px;}
    .application_box { padding-top: 30px;}

	.page_title { margin: 0 10px; padding: 15px 4px 6px; font-size: 22px;}
	.yoyaku_message { margin: 0 10px; padding: 20px;}
	.yoyaku_message p { font-size: 14px;}
	.yoyaku_message p.date { font-size: 20px;}
    
    

    /* * トップページ * *****************************************************************/
    table.table01 caption { height:45px; line-height:45px; font-size:14px;}
    table.table01 caption a.previous { top:11px; left:10px;}
    table.table01 caption a.next { top:11px; right:10px;}
    table.table01 caption span.previous { top:11px; left:10px;}
    table.table01 caption span.next { top:11px; right:10px;}

    table.table02 caption { height:45px; line-height:45px; font-size:14px;}
    table.table02 caption a.previous { top:11px; left:10px;}
    table.table02 caption a.next { top:11px; right:10px;}
    table.table02 caption span.previous { top:11px; left:10px;}
    table.table02 caption span.next { top:11px; right:10px;}
	table.table02 tbody th:not(.harf) { font-size: 12px; }

	.time_set_overlay span { font-size: 10px;}

    .about_hl { padding-bottom: 10px;}
    .about_hl span { margin-top: 10px;}
    .about_mainImg { padding: 0;}
    .about_safety3 { margin-top: 35px; }
    .about_lead { margin-top: 30px; }
    .about_lead p { font-size: 16px; line-height: 1.5; }
    
    /* .adviceStep_contents_wrap .contents_box { max-width: 1216px; } */
    .adviceStep_img { margin-top: 30px; }
    .adviceStep_note { margin: 30px 10px 0; padding: 15px; }
    .adviceStep_note .hl { font-size: 14px; }
    .adviceStep_note .list { font-size: 14px; }

    .contents_wrap .about_wrap .text_box { margin: 30px 20px 30px; }
    .contents_wrap .about_wrap .text_box p { font-size: 16px; line-height: 24px; }
    .contents_wrap .about_wrap .text_box p .small { font-size: 13px; }
    .contents_wrap .about_wrap .text_box p img { height: 22px; margin-top: -6px; margin-left: 0; margin-right: 0; }

    .course_type_select_contents_wrap { background-color: #F9F9F9; }
    .course_type_select_wrap .course_type_select_title { margin-left: -10px; margin-right: -10px; }
    .course_type_select_wrap .course_type_select_title .title { font-size: 24px; }
    .course_type_select_wrap .sp .course_type_select_boxes { flex-direction: column; align-items: center; display: flex; margin: 35px 0 0; }
    .course_type_select_wrap .sp .course_type_select_box { flex: 1 1 100%; box-sizing: border-box; width: 100%; padding: 23px 20px 28px; border: solid 2px #b5c2d3; background-color: #fff; }
    .course_type_select_wrap .sp .course_type_select_box:not(:first-child) { margin-top: 40px; }
    .course_type_select_wrap .sp .course_type_select_box.base_make { border-color: #fbc096; }
    .course_type_select_wrap .sp .course_type_select_box .course_type_title { font-family: "YuMin-Demibold"; font-size: 28px; line-height: 1.25; color: #2c71ab; text-align: center; }
    .course_type_select_wrap .sp .course_type_select_box.base_make .course_type_title { color: #f28729; }
    .course_type_select_wrap .sp .course_type_select_box .course_type_img { margin-top: 18px; text-align: center; }
    .course_type_select_wrap .sp .course_type_select_box .course_type_img img { }
    .course_type_select_wrap .sp .course_type_select_box .courses { display: flex; flex-direction: column; margin: 20px 0 0; }
    .course_type_select_wrap .sp .course_type_select_box .courses .course { flex: 1 1 auto; }
    .course_type_select_wrap .sp .course_type_select_box .courses .course:not(:first-child) { margin-top: 14px; }
    .course_type_select_wrap .sp .course_type_select_box .courses .course .course_open_btn { position: relative; display: flex; align-items: center; justify-content: center; background-color: #2c71ab; border-radius: 25px; text-decoration: none; color: #fff; font-size: 20px; font-family: "Gothic Medium BBB"; min-height: 50px; padding: 0 18.5px; }
    .course_type_select_wrap .sp .course_type_select_box.base_make .courses .course .course_open_btn { background-color: #f28729; }
    .course_type_select_wrap .sp .course_type_select_box .courses .course .course_open_btn .main { }
    .course_type_select_wrap .sp .course_type_select_box .courses .course .course_open_btn .sub { font-size: 15px; }
    .course_type_select_wrap .sp .course_type_select_box .courses .course .course_open_btn:after { content: ''; display: block; width: 11px; height: 6px; background-image: url(../../img/docomo/icon_arrow.png); background-position: 50% 50%; background-repeat: no-repeat; background-size: contain; position: absolute; top: 50%; right: 20px; transform: translate(0, -50%); }
    .course_type_select_wrap .sp .course_type_select_box .courses .course.open .course_open_btn:after { display: none; }
    .course_type_select_wrap .sp .course_type_select_box .course_box_holder { padding: 0 0 14px; }
    .course_type_select_wrap .sp .course_type_select_box .course_box_holder .course_box_holder_bottom { }
    .course_type_select_wrap .sp .course_type_select_box .course_box_holder .course_box_holder_bottom .course_close_btn { position: relative; display: flex; align-items: center; justify-content: center; background-color: #c9c9c9; border-radius: 25px; text-decoration: none; color: #fff; font-size: 20px; font-family: "Gothic Medium BBB"; min-height: 50px; padding: 0 18.5px; }
    .course_type_select_wrap .sp .course_type_select_box .course_box_holder .course_box_holder_bottom .course_close_btn::after { content: ''; display: block; width: 11px; height: 6px; background-image: url(../../img/docomo/icon_arrow.png); background-position: 50% 50%; background-repeat: no-repeat; background-size: contain; position: absolute; top: 50%; right: 20px; transform: translate(0, -50%) rotateZ(180deg); }

    .course_box { margin: 0 -8px; padding: 28px 0 28px; }
    .course_box .course_head { display: none; }
    .course_box .course_body { padding: 0; border: none; }
    .course_box .course_lead { font-size: 16px; margin-left: -5px; margin-right: -5px; }
    .course_box .course_procedure { margin-top: 25px; }
    .course_box .course_procedure .flex_box { flex-direction: column; align-items: center; }
    .course_box .course_procedure .procedure_box { margin-right: 0; margin-bottom: 25px; }
    .course_box .course_procedure .procedure_box:last-child { margin-bottom: 0; }
    .course_box .course_procedure .procedure_box p.title { margin-top: 10px; font-size: 18px; }
    .course_box .course_procedure .procedure_box p.explanation { margin-top: 23px; }
    .course_box .course_procedure .procedure_box p.explanation::before { top: -13px; }
    .course_box .ourse_select_box_top_annotation { line-height: 1.35; }
    .course_box .course_select_box_top_annotation,
    .course_box .course_select_box { margin-top: 25px; }
    .course_box .course_select_box_top_annotation + .course_select_box { margin-top: 10px; }
    .course_box .course_select_box { padding: 16px 13px 15px; }
    .course_box .course_select_box .box_head .box_title { line-height: 1.25; font-size: 20px; }
    .course_box .course_select_box .box_head .box_title::before { flex: 0 0 auto; }
    .course_box .course_select_box .box_head .box_title .under_line { background-image: none; }
    .course_box .course_select_box .box_description { font-size: 16px; margin-top: 10px; }

    .course_annotation { margin-top: 20px; }
    .course_annotation .annotation_title { font-size: 14px; line-height: 1.5; }
    .course_annotation .annotation_content { font-size: 14px; line-height: 1.5; margin-top: 3px; }

    .course_contents_wrap { display: none; }

    .beauty_wrap .title { width:292px; margin:auto; margin-bottom:40px;}
    .beauty_wrap .beauty {}
    .beauty_wrap .beauty img.sp { width:100%}

    /* * フォーム共通 * *****************************************************************/
    .button_box.flex_box { display:block;}
    .form_contents.flex_box { display:block;}
    .form_contents .right.flex_box { display:block;}
    .form_contents .right .flex_box { display:block;}
    .form_contents { padding:0 14px 8px;}
    .form_contents .left { width:100%; height:36px; padding:0px;}
    .form_contents .right { width:100%; font-size:16px;}
    .form_contents .right p { margin-bottom:0;}
    .form_contents_2 { padding-left:10px;}
    form input[type=text].style01 , input[type=tel].style01 { width:100%;}
    form input[type=text].style02 , input[type=tel].style02 { width:38%;}
    form input[type=text].style03 , input[type=tel].style03 { max-width:100%;}
    form input[type=text].style04 , input[type=tel].style04 { width:230px; height:30px; margin-left:10px;}
    .radio label,.checkbox label { display:flex; align-items:center; margin-bottom:10px; margin-left:0;}
    .form_contents.questionnaire { padding:0px 14px 0px; margin:40px 0 0px;}
    .form_contents .qa { position:relative;}
    .form_contents .qa p { margin-right:60px;}
    .form_contents .qa p .information_statement { font-size:12px;}
    .form_contents .qa span.required { margin-left:0; position:absolute; right:0;}
    .form_contents .qa span:first-child { width:50px;}
    .checkbox,.form_contents .radio { margin-left:40px;}
    .button_2 { margin:auto;}
    .form_contents.button_box { padding-top:40px;}
    .button_box p { width:320px; font-size:13px; line-height:150%; margin-top:10px; margin:10px auto 20px;}
    .button_box .flex_box { display:block;}


    /* * 確認画面＿フォーム* *****************************************************************/
    .confirm_wrap { padding-top:40px;}
    .confirm_wrap h3 { margin-bottom:40px;}
    .confirm_wrap h3.address { padding-left:15px; padding-top:40px !important;}
    .confirm_wrap h3.mb40 { margin-bottom:20px; padding-top:20px;}
    .confirm_wrap .form_contents .left { min-width:140px; height:16px; padding:0; justify-content:space-between;}
    .confirm_wrap .form_contents.flex_box { display:flex;}
    .confirm_wrap .form_contents { padding:24px 14px;}
    .confirm_wrap .form_contents.questionnaire { margin:0;}
    .confirm_wrap .form_contents.questionnaire.last { border-bottom:none;}
    .confirm_wrap .answer { margin-left:50px; margin-top:20px;}
    .confirm_wrap .form_contents .qa p { margin-right:0;}

    /* * 予約完了＿フォーム* *****************************************************************/
    .complete_wrap .contents_box.thanks { padding-left: 20px; padding-right: 20px;}
    .thanx_message { font-size: 16px;}
    .thanx_note { font-size: 14px;}
    .thanks_message { font-size: 16px;}

    /* * エラー画面＿フォーム* *****************************************************************/
    .error_wrap .contents_box.error_body { padding-left: 20px; padding-right: 20px;}
    .error_info p em { font-size: 16px;}
    .error_box { text-align:center;}
    .error_box form p { text-align:center;}

	/* 新フォーム *****************************************************************/
    .btn.btn_middle { width: 150px; height: 50px; line-height: 50px; font-size: 18px; margin: 10px 5px;}
	.btn.btn_large { width: 300px; height: 50px; line-height: 50px; font-size: 18px;}

	.form_parts { margin: 0 10px 20px;}
	.form_parts .date_area { padding: 12px 15px;}
	.form_parts input { padding: 12px 15px;}
	.form_parts .zipcode_box input:nth-of-type(1) { width: 70px; margin: 0 5px;}
	.form_parts .zipcode_box input:nth-of-type(2) { width: 90px; margin: 0 5px;}

}


/* 360px以下 */
@media screen and (max-width:360px) { 
    
    .about_hl span { font-size: 27px;}
    .about_lead p { font-size: 13px; line-height: 1.5; }
    .button_1 { width: 290px; }
    .button_2 { width: 290px; }
    .thanks_message { font-size: 15px;}
    .application_box { overflow-x: hidden; }

}


.aC { text-align:center;}
.error { color: red; font-weight:bold;}
.hide { display: none;}
.red {color: #f00 !important;}
.mt40 { margin-top: 40px;}

.BBB {font-family:"Gothic Medium BBB" !important;}
    /* * モーダル* *****************************************************************/
    .modal .modal_box { margin-left: 15px; margin-right: 15px; }
    .modal .modal_box .modal_close { top: 15px; right: 15px; }
    .modal .modal_box .modal_close img { width: 20px; }
    #course_error_modal .modal_box .modal_content .icon img { width: 64px; }
    #course_error_modal .modal_box .modal_content { padding: 60px 18px; }
    #course_error_modal .modal_box .modal_content .message { margin-top: 30px; font-size: 15px; }
}