﻿/*--------------------------------------
  PCでの表示
--------------------------------------*/

/* 文字サイズ設定基準値 */
html { font-size: 62.5%; }

/* 簡便のために全要素のマージンとパディングを0に */
* {
    margin: 0;
    padding: 0;
	box-sizing: border-box;
}

body {
    color: #000000;
    background: #ffffff;
    letter-spacing: 0;
	font-family:'ＭＳ Ｐゴシック',sans-serif;
}
p, dt, dd, li, th, td, textarea {
    vertical-align: middle;
    line-height: 1.8;
	font-size: 1.2rem;
}
ul{
	list-style: none;
}

/* トップに戻るボタン フローティング */
#toPageTop {
    height: 70px;
    width: 70px;
    position: fixed;
    bottom: 20px;
    right: 100px;
    z-index: 1;
}
#toPageTop img {
    max-width: 100%;
    max-height: auto;
}
#toPageTop img a:hover {
    opacity: 0.7;
}
/* 画像をサイズ幅に合わせる */	
* img {
    max-width: 100%;
    height: auto;
	border: none;
	vertical-align: bottom;
}
/* padding と border を要素の幅と高さに含める */
section,div, dl, dt, dd, ul, ol, li {
    box-sizing: border-box;
}

/* コンテンツ */
#contents {
    width: 100%;
    margin: 0 auto 35px;
    text-align: left;
    background: inherit;
}
#contents .breadcrumbs {
    width: 960px;
    display: block;
    margin: auto;
    padding: 10px 0;
    text-align: left;
}
section.white {
    width: 100%;
	padding: 30px 15px;
	background: #ffffff;
}
section.light-gray {
    width: 100%;
	padding: 30px 15px;
	background: #f5f5f5;
}
.innerBox {
    width: 960px;
    margin: auto;
}
.whiteBox {
    width: 100%;
    margin: 30px auto;
	background-color: #ffffff;
	padding-top: 25px;
	border: 1px solid #000000;
}
.innerBox h2 {
    padding: 20px;
    text-align: center;
    font-size: 2.8rem;
}
.innerBox h3 {
    padding: 15px 0 20px;
    text-align: center;
    font-size: 1.8rem;
}
p.lead{
	font-size: 1.5rem;
	text-align: center;
}
.scroll-box{
	width: 100%;
	height: 160px;
	padding: 0 25px;
	/*overflow-y: scroll;*/
}
ul.referral_note{
	width: 100%;
	padding-bottom: 25px;
	
}
ul.referral_note li{
	width: 100%;
	padding: 10px 0;
}
ul.referral_note li:before {
    content:  "";
    width:  5px;
    height:  5px;
    display:  inline-block;
    background-color: #000000;
    border-radius:  50%;
    position:  relative;
    top: -1.2px;
    margin-right: 5px;
}
.red-b{
	color: #d8262a;
	font-weight: bold;
}

/* 画像置換用BOX */
#mv-top {
    width: 100%;
    display: block;
    margin: auto;
    background-color: #121d36;
    text-align: center;
}
#sp_mv-top {
    width: 100%;
    display: none;
    margin: auto;
    background-color: #121d36;
    text-align: center;	
}

/*特典タブ切り替え表示*/
.tabs {
	width: 100%;
	margin: 40px auto;
	background-color: #cccccc;
}
/*タブタイトル*/
.tab_item {
	width: 50%;
	padding:15px 10px 5px;
	border-bottom: 2px solid #cccccc;
	background-color: #eeeeee;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.3;
	color: #666666;
	display: block;
	float: left;
	text-align: center;
	transition: all 0.2s ease;
}
.tab_item .red{
	color: #ed6d46;
	margin: 0 3px;
}
.tab_item:hover {
	opacity: 0.8;
}
/*ラジオボタンを全て消す*/
input[name="tab_item"] {
	display: none;
}
/*タブ分け無しに変更20240927*/
.single_content {
	display: block;
	padding: 15px;
	clear: both;
	overflow: hidden;
}
/*レイアウト変更20250121*/
.contents_wrap:after{
	content:'';
	display:block;
	clear:both;
	height:0;
}
p.notice{
	width: 60%;
	margin: 15px auto 0;
	text-align: center;
	background-color: #d8262a;
	color: #FFFFFF;
	border-radius: 3px;
	font-size: 1.6rem;
	font-weight: bold;
	padding: 7px 10px;
}
/*タブ中身*/
.tab_content {
	display: none;
	padding: 15px;
	clear: both;
	overflow: hidden;
}
.course_wrap{
	width: 50%;
	padding: 10px;	
	float: left;
}
.course_wrap:after{
	content:'';
	display:block;
	clear:both;
	height:0;
}
.course_wrap ul{
	width: 100%;
	padding: 15px;
	background-color: #ffffff;
}
.course_wrap ul li.course_title{
	width: 100%;
	margin: 15px auto;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
}
.no-pc{
	display: none;
}
.course_wrap ul li.item{
	width: 100%;
	margin: auto;
	text-align: center;
	border: 1px solid #000000;
}
.course_wrap ul li.or{
	width: 50px;
	padding: 20px 0;
	margin: auto;
	text-align: center;
}
p.note{
	padding: 10px;
}
/*選択されているタブのコンテンツのみを表示*/
#sinki:checked ~ #sinki_content,
#kizon:checked ~ #kizon_content {
	display: block;
}
/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
	background-color: #cccccc;
	color: #000000;
}
.tabs input:checked + .tab_item .red{
	color: #ff0000;
}
/*手順ステップ*/
ul.process{
	display: flex;
	justify-content: center;
	position: relative;
	margin: 20px auto 0;
}
ul.process::after {
    content: "";
    width: 160px;
    height: 2px;
	background-color: #777777;
    position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    margin: auto;
	z-index: 0;
}
ul.process li{
	width: 80px;
	text-align: center;
	list-style: none;
	z-index: 1;
}
ul.process li dl{
	display: flex;
	flex-direction: column;
	width: auto;;
}
ul.process li dl dt{
	width: 20px;
	height: 20px;
	margin: auto;
	text-align: center;
	background-color: #777777;
	color: #ffffff;
	border-radius: 10px;
	border: 2px solid #777777;
	line-height: 1.5;
}
ul.process li dl dd{
	margin: auto;
	text-align: center;
	color: #777777;
	padding-top: 5px;
}
ul.process li.active dt{
	background-color: #000000;
	border: 2px solid #000000;
}
ul.process li.active dd{
	color: #000000;
}

/*フォーム*/
.form_wrap{
	width: 100%;
	margin: auto;
	padding: 30px;
}
h3.form_title{
	text-align: left;
	padding: 15px 0 5px;
	font-size: 2rem;
	line-height: 1.3;
}
h3.form_title .condition{
	font-size: 1.6rem;
}
ul.referral_form{
	border-top: 1px solid #777777;
	margin: 0 auto 40px;
}
ul.referral_form li{
	border-bottom: 1px solid #777777;
}
ul.referral_form li.mail_note{
	border-bottom: none;
	margin-top: 10px;
}
ul.referral_form li dl{
	padding: 15px 0;
	display: flex;
	flex-wrap: wrap;
}
ul.referral_form li dl dt{
	width: 35%;
	padding: 10px;
	border-right: 1px solid #777777;
	display: flex;
	justify-content: space-between;
}
ul.referral_form li dl dt p.title{
	font-size: 1.5rem;
	line-height: 1.5;
	max-width: 170px;
}
ul.referral_form li dl dt p.must{
	font-size: 1.2rem;
	background-color: #777777;
	color: #ffffff;
	border-radius: 2px;
	line-height: 2;
	width: 35px;
	height: 25px;
	text-align: center;
}
ul.referral_form li dl dt p.optional{
	font-size: 1.2rem;
	background-color: #cccccc;
	color: #000000;
	border-radius: 2px;
	line-height: 2;
	width: 35px;
	height: 25px;
	text-align: center;
}
ul.referral_form li dl dd{
	width: 65%;
	padding: 5px 10px;
}
.input_text{
	width: 100%;
	padding: 10px;
	font-size: 1.4rem;
}
.input_text-mt10{
	width: 100%;
	padding: 10px;
	margin-top: 10px;
	font-size: 1.4rem;
}
.input_text_select{
	-webkit-appearance: none;
	width: 100%;
	padding: 10px;
	font-size: 1.4rem;
	color: #000000;
	background-color: #ffffff;
	border: 1px solid #777777;
	border-bottom-left-radius: 2px;
    background-image: url("../img/select_arrow.png");
	background-position: right 10px center;
	background-repeat: no-repeat;
	background-size: 14px 14px;
}
.input_year{
	width: 20%;
	padding: 10px;
	font-size: 1.4rem;
	margin-right: 3px;
}
.input_age{
	width: 15%;
	padding: 10px;
	font-size: 1.4rem;
	margin: 0 3px;
}
.input_post{
	width: 30%;
	padding: 10px;
	font-size: 1.4rem;
	margin-left: 3px;
}
.input_address{
	width: 100%;
	padding: 10px;
	font-size: 1.4rem;
	margin-top: 7px;
}

ul.radiobox_wrap{
}
ul.radiobox_wrap li.radiobox_item{
	border-bottom: none;
	font-size: 1.4rem;
	padding-bottom: 10px;
}
label.checkbox_item{
	border-bottom: none;
	font-size: 1.4rem;
	padding-bottom: 10px;
}
.radio_icon {
	width: 14px;
	height: 14px;
	top: 2px;
	position: relative;
	margin-right: 3px;
}

.check_icon {
	width: 14px;
	height: 14px;
	top: 2px;
	position: relative;
	margin-right: 3px;
}

/*個人情報規約テキストBOX*/
dl.txtBox {
    width: 100%;
    margin: auto;
}
dl.txtBox .privacy {
    margin: 0 0 50px;
}
dl.txtBox .privacy a {
    color: #0000ff;
    text-decoration: underline;
}
dl.txtBox .privacy .check {
    width: 100%;
    margin: 30px auto;
    background: #CCC;
	padding: 5px;
}
dl.txtBox .privacy .check p {
    text-align: center;
    font-size: 1.6rem;
}
.innerBox dl.txtBox dt {
    width: 100%;
    font-size: 1.8rem;
    font-weight: bold;
    margin: 10px 0 20px;
    border-bottom: 3px dotted #cccccc;
    color: #000;
}
.innerBox dl.txtBox dd {
    width: 100%;
    margin: 0 0 30px;
    font-size: 1.4rem;
}

/* 同意ボタン */
input[type="submit"], input[type="reset"], input[type="button"], button {
    cursor: pointer;
}
input[type="submit"][disabled] {
    background-color: #ccc;
    cursor: default;
}
input[type="submit"] {
    font-size: 1.8rem;
	font-weight: 400;
    line-height: 2.3;
    text-align: center;
    color: #FFF;
    width: 380px;
    height: 70px;
    border-radius: 3px;
    position: relative;
    margin: 0 30% 0;
    background: url(../img/chevron_white.png) no-repeat #000;
    background-position: 80%;
	background-size: 8%;
}

/*確認画面ボタン*/
ul.confilm_wrap{
	width: 100%;
	display: flex;
	justify-content: center;
}
ul.confilm_wrap li{
	width: auto;
	padding: 10px;
}
ul.confilm_wrap li button{
	width: 80px;
	padding: 10px;
	font-size: 1.5rem;
	background-color: #000000;
	color: #ffffff;
	border: none;
	border-radius: 3px;
}
ul.confilm_wrap li button:hover{
	background-color: #555555;
}

/* 完了画面 */
p.thanks{
	margin: 40px auto 20px;
	font-size: 1.5rem;
	text-align: center;
}

/* heder */
/* ----------------------------------------------------- */
#header{
	background:#FFFFFF;
	display: block;
}
#header div.inner{
	position:relative;
	width:960px;
	height:65px;
	margin:0 auto;
	text-align:left;
}
#sp_header {
	display: none;
}
/* h1 */
#header h1{
	position:absolute;
	top:10px;
}

/* footer */
/* ----------------------------------------------------- */
#footer{
	width:960px;
	height:50px;
	margin:auto;
}

#footer .copy{
	text-align:center;
	padding-top:10px;
}

/* float clear */
/* ----------------------------------------------------- */
.clx:after {
    content: '';
    display: block;
    clear: both;
    height: 0;
}

/*media Queries 959px以下
/* ----------------------------------------------------- */
@media (max-width: 959px) and (min-width: 641px) {
/* header */
#header div.inner{
	position:relative;
	width:100%;
	height:65px;
	margin:0 auto;
	text-align:left;
	padding: 0 15px;
	}
#contents .breadcrumbs{
	width:100%;
	padding-left: 15px;
}		
}

@media (max-width: 959px) {
/* コンテンツ */		
.innerBox {
    width: 100%;
}
/*個人情報規約テキストBOX*/
dl.txtBox {
    width: 100%;
    display: block;
}	
/* 同意ボタン */
input[type="submit"] {
	display: block;
    width: 65%;
	margin: auto;
	text-align: center;
    position: relative;
}	
/* footer */
#footer {
    width: 100%;
}	
}

/*--------------------------------------
  スマホでの表示
--------------------------------------*/
@media (max-width: 760px) {
/*フォーム*/
ul.referral_form li dl dt{
	width: 100%;
	border-right: none;
}
ul.referral_form li dl dd{
	width: 100%;
}	
}

@media (max-width: 640px) {
#header{
	display: none;
}	
#sp_header {
	padding: 7px 5px 10px 10px;
	background:#FFFFFF;
	display: block;
}
#sp_header:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	overflow:hidden;
}
#sp_header {
	zoom:1;
	overflow:hidden;
}
#sp_header h1,
#sp_header .header_logo {
	float: left;
	width: 88px;
}
#sp_header p {
	float: right;
}
#sp_header p.header_home {
	width: 31px;
}

/* 戻るボタン フローティング　スマホ */
#toPageTop {
    height: 55px;
    width: 55px;
    bottom: 15px;
    right: 15px;
}	
	
/* コンテンツ */
#contents .breadcrumbs {
    display: none;
}
p.lead{
	font-size: 1.3rem;
}
p.notice{
	width: 100%;
	font-size: 1.4rem;	
}	
.scroll-box{
	padding: 0 15px;
}
.tab_content {
  padding: 5px;
}
.single_content {
	padding: 10px;
}	
.course_wrap{
	padding: 5px;
}
.tab_item{
	font-size: 1.3rem;
}
.course_wrap ul li.course_title{
	font-size: 1.3rem;
}
.no-pc{
	display: block;
}	
.course_wrap ul li.or{
	width: 30px;
	padding: 10px 0;
}	
ul.referral_note {
    width: 100%;
    display: block;
    margin: auto;
}	
.innerBox .txtBox dt {
    width: 100%;
}
.innerBox .txtBox dd {
    width: 100%;
}
	
/*タイトル*/
.innerBox h2 {
 font-size: 2rem;
}
	
/*フォーム*/
.form_wrap{
	padding: 30px 15px 10px;
}	
h3.form_title{
	font-size: 1.8rem;
}	
	
/* 同意ボタン */
input[type="submit"] {
    width: 100%;
}	
	
/* footer */
#footer .copy {
    padding: 10px;
    font-size: 10px;
}	
	
/* 画像置換用BOX */
#mv-top {
    display: none;
}
#sp_mv-top {
    display: block;
}
}

.tooltip {
    color: #f44336;
    font-size: 14px;
    display: none;
}

ul.referral_form dd p.title{
	font-size: 1.5rem;
	line-height: 1.5;
	/*max-width: 170px;*/
	/*width: 35%;*/
	padding: 10px;
	display: flex;
	justify-content: space-between;
	background-color: white;
}

/* カレンダー */
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.flatpickr-disabled:active {
	background: repeating-linear-gradient(
		45deg,
		#ddd,
		#ddd 5px,
		#eee 5px,
		#eee 10px
	) !important;
	color: #999 !important;
	cursor: not-allowed !important;
}

/* 曜日色 */
.flatpickr-day.saturday {
	color: blue;
}

.flatpickr-day.sunday {
	color: red;
}