@charset "UTF-8";


/* -------------------------------------------------

お問い合わせ

-------------------------------------------

/* -------------------------------------------------

お問い合わせトップ

------------------------------------------------- */
.Contact__wrp	{
 width: 980px;
 margin: 50px auto 100px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
.Contact__wrp	{
 width: 95%;
}
}
@media screen and (max-width: 768px)  {
.Contact__wrp	{
 width: 95%;
 margin: 20px auto 100px;
}
}

/*  お問い合わせトップのリンクボタン
================================================== */
.Contact_top__button	{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 50px;
}
.Contact_top__button > section	{
 width: 100%;
 margin: 0 0 40px;
 -webkit-flex-direction: column;
 flex-direction: column;
	word-wrap: break-word;
	position:relative;
}
.Contact_top__button > section a	{
	text-decoration:none;
	display:block;
 background-color:#117988;
	color: #ffffff;
	transition: .3s;
	border-radius: 10px;
	position: relative;
}
.Contact_top__button > section a:hover	{
	text-decoration:none;
 background-color:#00AD9E;
	color: #fff;
}
.Contact_top__button > section h3	{
	padding: 25px 25px;
	margin:0;
	width:100%;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 600;
	font-size:22px;
	position: relative;
	display: flex;
	align-items: center;
}
.Contact_top__button > section h3 .icon {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #fff;
}

.Contact_top__button > section h3 .icon.arrow {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  right: 2.4rem;
  width: 1.8rem;
  height: 0.5rem;
  background: none;
}

.Contact_top__button > section h3 .icon.arrow::before {
  position: absolute;
  content: "";
  top: -0.5rem;
  right: 0.0625rem;
  width: 1.5rem;
  height: 1.5rem;
  border-top: 0.5rem solid #fff;
  border-right: 0.5rem solid #fff;
  transform: rotate(45deg);
}
.Contact_top__button > section h3:hover .icon.arrow {
  background: #fff;
  transform: translate(1rem, 0);
}
.Contact_top__button > section h3:hover .icon.arrow::before {
  border-top: 0.5rem solid #fff;
  border-right: 0.5rem solid #fff;
}

@media screen and (min-width: 769px) and (max-width: 1140px) {
.Contact_top__button > section h3	{
	padding: 25px 60px 25px 25px;
}
}

@media screen and (max-width: 768px)  {
.Contact_top__button	{
	margin: 25px 0px;
}
.Contact_top__button > section	{
 margin: 0 0 20px;
}
.Contact_top__button > section h3	{
	padding: 25px 60px 25px 25px;
	font-size:18px;
	line-height: 1.6;
}
}
@media screen and (max-width: 568px)  {
.Contact_top__button > section h3	{
	padding: 15px 60px 15px 25px;
}
}

@media screen and (max-width: 480px)  {
.Contact_top__button > section h3	{
	padding: 15px 50px 15px 25px;
	font-size:17px;
	line-height: 1.4;
	/*height: 80px;*/
}
}

/* -------------------------------------------------

お問い合わせ入力フォーム

------------------------------------------------- */
.ContactUs_Form	{
	padding:20px 0 0;
}
form.mail_form	{
 width:100%;
	margin:0 auto;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight:400;
}
form.mail_form dl	{
 width:100%;
 overflow:hidden;
 border-bottom:1px solid #cccccc;
	margin: 0 0 40px;
	display: flex;
	flex-flow: row wrap;
}
form.mail_form dl dt	{
	flex-basis: 300px; 
 text-align:left;
 border-top:1px solid #cccccc;
	padding:40px 0;
	font-weight:normal;
}
form.mail_form dl dd	{
	flex-basis: calc(100% - 300px); 
 border-top:1px solid #cccccc;
	padding:40px 0;
}
form.mail_form dl dt:first-child,
form.mail_form dl dt:first-child+dd	{
 border:none;
 background:none;
	padding:20px 0 40px;
}
form.mail_form input	{
 border:2px solid #cccccc;
 border-radius:5px;
 background:#fafafa;
	height:50px;
	padding:7px 10px 10px 10px;
}
form.mail_form input:focus	{
 box-shadow:0px 0px 5px #cccccc;
	background-color:#ffffff;
	outline:0;
}
form.mail_form ul li	{
 list-style-type:none;
}
form.mail_form textarea#mail_contents_inq {
	width:100%;
 height:200px;
 border:2px solid #cccccc;
 border-radius:5px;
 background:#fafafa;
	padding:7px 10px 10px 10px;
	resize:none;
}
form.mail_form textarea#mail_address	{
	width:100%;
 height:100px;
 border:2px solid #cccccc;
 border-radius:5px;
 background:#fafafa;
	padding:7px 10px 10px 10px;
	resize:none;
}
form.mail_form textarea#mail_contents_inq:focus,
form.mail_form textarea#mail_address:focus	{
 box-shadow:0px 0px 5px #cccccc;
	background-color:#ffffff;
	outline:0;
}
form.mail_form input::-webkit-input-placeholder { /* WebKit, Blink, Edge */
  color:#999999 !important;
		font-size: 1.6rem !important;
		font-weight: normal !important;
}
form.mail_form input:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color:#999999 !important;
		font-size: 1.6rem !important;
		font-weight: normal !important;
}
::placeholder{ /* Others */
	 color:#999999 !important;
		font-size: 1.6rem !important;
		font-weight: normal !important;
}
@media screen and (max-width: 800px)  {
form.mail_form dl	{
 width:auto;
 border-bottom:none;
 margin: 0 0 25px;
	flex-flow: column wrap;
}
form.mail_form textarea#mail_contents_inq,
form.mail_form textarea#mail_address	{
 max-width:100%;
}
form.mail_form dl dt	{
	flex-basis: 100%; 
}
form.mail_form dl dd	{
	flex-basis: 100%; 
}
form.mail_form dl dt	{
 width:auto;
	padding:35px 0 10px;
	border-top:none;
	font-weight:500;
}
form.mail_form dl dd	{
 width:auto;
	border-top:none;
	padding:5px 0 0;
}
form.mail_form dl dt:first-child	{
 border:none;
 background:none;
	padding:1px 0 10px;
}
form.mail_form dl dt:first-child+dd	{
 border:none;
 background:none;
	padding:0 0 10px;
}
}
@media screen and (max-width: 480px)  {
form.mail_form input,
form.mail_form textarea#mail_contents_inq,
form.mail_form textarea#mail_address	{
	font-size:1.4rem;
}
form.mail_form input::-webkit-input-placeholder { 
		font-size: 1.4rem !important;
}
form.mail_form input:-ms-input-placeholder {
		font-size: 1.4rem !important;
}
::placeholder{
		font-size: 1.4rem !important;
}
}

/* 候補日
================================================== */
.kohobi {
		display: inline-flex;
		align-items: center;
		margin-bottom: 10px;
}
.kohobi span {
		margin: 0 5px;
}
.kohobi p {
	margin: 0;
}
@media screen and (max-width: 480px)  {
.kohobi {
	flex-direction: column;
	align-items:flex-start;
}
.kohobi div:last-of-type {
	margin-top: 10px;
}
}

/* 送信ボタン
================================================== */
#send_btn[type="submit"]{
 width : auto;
 height : auto;
 padding : 10px 100px;
 vertical-align : middle;
 color : #ffffff;
 background:#00AE8D;
 border : 1px solid #00AE8D;
 border-radius : 3px;
	font-style: normal;
 font-weight : 500;
	transition: .3s;
	position:relative;
	font-size: 2rem;
}
#send_btn[type="submit"]:hover{
 cursor : pointer;
 color : #333;
 background:	#fff;
 border : 1px solid #999;
}
#send_btn[type="submit"][disabled] {
 color : #ddd;
 background:#fff;
 border : 1px solid #cccccc;
	cursor:default;	
}
@media screen and (max-width: 768px)  {
#send_btn[type="submit"]{
	font-size: 1.8rem;
}
}
@media screen and (max-width: 480px)  {
#send_btn[type="submit"],
#send_btn[type="submit"][disabled]{
 width :	100%;
 padding : 15px 0px;
	font-size:1.6rem;
}
}

/*  ラジオボタン／チェックボックス
================================================== */
.label_list {
 margin: auto;
 max-width: 100%;
}

/*  ラジオボタンのレイアウト
================================================== */
.label_list_item3 {
	display: inline-flex;
	margin:3px 0;
}
.label_list_item3 label {
	position: relative;
	width: auto;
	margin-right: 30px;
}
.label_list_item3:last-of-type label {
	margin-right: 0px;
}
.label_list_item3 label input[type="radio"] + span {
 position: relative;
 padding: 0 0 0 30px;
}
@media screen and (max-width: 568px)  {
.label_list_item3 {
	display: flex;
	flex-direction: column;
}
}
@media screen and (max-width: 480px)  {
.label_list_item3 {
}
.label_list_item3 label input[type="radio"] + span {
	font-size:14px;
}
.label_list_item3 label {
	font-size:14px;
}
}

/*  ラジオボタンの色
================================================== */
.radio label span {
	font-weight:normal;
}
.radio label input[type="radio"] {
 position: absolute;
 top: 0;
 left: 0;
 opacity: 0;
}
.radio label input[type="radio"] + span::before {
 position: absolute;
 display: inline-block;
 content: '';
 box-sizing: border-box;
 border-radius: 22px;
}
.radio label input[type="radio"] + span::before {
 z-index: 0;
 top: 2px;
 left: 0;
 background-color: transparent;
 width: 22px;
 height: 22px;
 border: 2px solid #00AE8D;
}
.radio label input[type="radio"]:checked + span::before {
 border-width: 4px;
}
@media screen and (max-width: 480px)  {
.radio label input[type="radio"] + span::before {
 top: 0;
}
}

/*  チェックボックス
================================================== */
.label_list_item2 {
	display: inline-flex;
	margin:3px 0;
}
.label_list_item2 label {
	position: relative;
	width: auto;
	margin-right: 30px;
}
.label_list_item2 label input[type="checkbox"] + span {
 position: relative;
 padding: 0 0 0 30px;
}
@media screen and (max-width: 568px)  {
.label_list_item2 {
	display: flex;
	flex-direction: column;
	align-items:stretch;
}
}
@media screen and (max-width: 480px)  {
.label_list_item2 label input[type="checkbox"] + span {
	font-size:1.4rem;
}
.label_list_item2 label {
	margin-right: 0px;
}
}

/*  チェックボックス（同意）
================================================== */
.label_list_item {
	margin-bottom:10px;
}
.label_list_item label {
 position: relative;
	width: auto;
	display: flex;
	justify-content: center;
}
.label_list_item label input[type="checkbox"] + span {
 position: relative;
 padding: 0 0 0 30px;
}
.checkbox_item {				/* 同意用 */
	margin-bottom: 30px;
}
@media screen and (max-width: 480px)  {
.label_list_item label input[type="checkbox"] + span {
	font-size:1.4rem;
}
}

/*  チェックボックスの色
================================================== */
.checkbox label span {
	font-weight:normal;
}
.checkbox label input[type="checkbox"] {
 position: absolute;
 top: 0;
 left: 0;
 opacity: 0;
}
.checkbox label input[type="checkbox"] + span::before,
.checkbox label input[type="checkbox"] + span::after {
 position: absolute;
 /*top: 0;*/
 top: 2px;
 left: 0;
 display: inline-block;
 content: '';
 box-sizing: border-box;
}
.checkbox label input[type="checkbox"] + span::before {
 z-index: 0;
 background-color: #fff;
 width: 22px;
 height: 22px;
 border: 2px solid #00AE8D;
 border-radius: 5px;
}
.checkbox label input[type="checkbox"] + span::after {
 z-index: 1;
 margin: 5px 8px;
 width: 6px;
 height: 9px;
}
.checkbox label input[type="checkbox"]:checked + span::before {
 background-color: #00AE8D;
}
.checkbox label input[type="checkbox"]:checked + span::after {
 border: 2px solid #ffffff;
 border-width: 0 2px 2px 0;
 -webkit-transform: rotate(45deg);
     -ms-transform: rotate(45deg);
         transform: rotate(45deg);
}
@media screen and (max-width: 568px)  {
.checkbox label span {
 display: inline-block;
	padding:0 0 5px 35px;
	font-weight:normal;
}
.checkbox label span.nisuu {
	padding:0;
}
}
@media screen and (max-width: 480px)  {
.checkbox label input[type="checkbox"] + span::before,
.checkbox label input[type="checkbox"] + span::after {
 top: 0;
}
}

/*  チェックボックスの中にあるtext入力欄
================================================== */
.checkbox label input[type="text"] {
 font-weight:normal;
}

/*  必須/任意
================================================== */
/* 必須項目 */
.Font_Req {
	color:#E40003;
	margin:0 5px 0 0;
	font-weight:500;
}
.Font_Req.waku {
	color:#E40003;
	font-size:12px !important;
	text-align: center;
	padding: 0px 7px;
	border: 1px solid #E40003;
	border-radius: 4px;
}
.Font_Req.waku.blank {
	margin-left: 10px;
}

/* 任意項目 */
.Font_Any	{				
	margin:0 5px 0 0;
	font-weight:500;
}
.Font_Any.waku {
	font-size:12px !important;
	text-align: center;
	padding: 0px 7px;
	border: 1px solid #333333;
	border-radius: 4px;
}
.Font_Any.waku.blank {
	margin-left: 10px;
}

/* inputの幅
================================================== */
.Form_w01 {
	width:240px;
}
.Form_w02,.Form_w03 {
	width:100%;
}
.Form_w04 {
	width:150px;
}
.Form_w05 {
	width:100px;
}
@media screen and (max-width: 768px)  {
.Font_Req {
	font-weight:400;
}
.Form_w02 {
	max-width: 400px;
	width:100%;
}
}
/*@media screen and (max-width: 568px)  {
.Form_w02 {
 max-width:100%;
}
}*/
@media screen and (max-width: 480px)  {
.Font_Req.waku {				/*   必須項目   */
	line-height:1.2rem;
	font-size:1.2rem !important;
	padding: 1px 7px;
	font-weight:500 !important;
}
}

/*  text_box
================================================== */
.text_box	{
	line-height: 1.8;
	text-align: center;
	margin: 30px auto;
}
.text_box	a {
	color: #00AE8D;
	font-weight: 500;
	text-decoration: underline;
}
@media screen and (max-width: 640px)  {
.text_box	{
	text-align: left;
	line-height: 1.6;
}
}
@media screen and (max-width: 480px)  {
.text_box	{
	text-align: left;
	line-height: 1.6;
	font-size: 1.4rem;
	margin: 0 auto 15px;
}
}


/*  その他
================================================== */

/* -------------------------------------------------

externalLinkIcon（外部リンクにアイコン付加）

------------------------------------------------- */
/* 末尾にアイコンを付加 */
.externalLinkIcon,
.externalLinkIcon__Footer {
	content: "";
	display: inline-block;
		background: url("../images/icon__ex_link--white.png") ;
		background-repeat: no-repeat;
		background-size:10px;
	width: 10px;
	height: 10px;
	margin-left: 6px;
	vertical-align: 8px;
}
@media screen and (min-width: 899px) and (max-width: 1240px) {
.externalLinkIcon,
.externalLinkIcon__Footer {
	background-size:8px;
	width: 8px;
	height: 8px;
	margin-left: 5px;
	vertical-align: 7px;
}
}
@media screen and (max-width: 898px)  {
.externalLinkIcon {
	background: url("../images/icon__ex_link--green.png");
	background-size:12px;
	width: 12px;
	height: 12px;
	margin-left: 5px;
	vertical-align: 7px;
}
.externalLinkIcon__Footer {
	background-size:12px;
	width: 12px;
	height: 12px;
	margin-left: 5px;
	vertical-align: 7px;
}
}

/* -------------------------------------------------

asterisk 箇条書き（※印）

------------------------------------------------- */
dl.asterisk	{
	width: 100%;
	margin: 15px 0;
	display: flex;
	flex-flow: row wrap;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400; 
}
dl.asterisk dt	{
	flex-basis: 22px;
	font-weight:normal;
	padding:3px 0;
 margin: 0;
}
dl.asterisk dd	{
	padding:3px 0;
 flex-basis: calc(100% - 22px); 
}
@media screen and (max-width: 480px)  {
dl.asterisk	{
	font-size: 14px;
}
}


/* -------------------------------------------------

Point_Item_Shiromaru_wrp（〇印の箇条書き）

------------------------------------------------- */
.Point_Item_Shiromaru_wrp {
	margin: 30px;
	padding: 0;
}
.Point_Item_Shiromaru_wrp ul {
 list-style: none;
	margin: 0;
	padding: 0;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400; 
}
.Point_Item_Shiromaru_wrp li {
  position: relative;
  padding: 0.3em 0.5em 0.5em 25px;
}
.Point_Item_Shiromaru_wrp li::before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 12px;
  left: 0;
  width: 10px;
  height: 10px;
		border: 1px solid #666666;
  border-radius: 5px;
}
@media screen and (max-width: 480px)  {
.Point_Item_Shiromaru_wrp {
	margin: 15px;
}
.Point_Item_Shiromaru_wrp ul {
	font-size: 14px;
}
.Point_Item_Shiromaru_wrp li {
  padding: 0.3em 0.5em 0.5em 20px;
}
.Point_Item_Shiromaru_wrp li::before {
  top: 10px;
}
}

/* -------------------------------------------------

余白

------------------------------------------------- */
.ml_15px	{
	margin-left: 15px;
}
.mr_5px	{
	margin-right: 5px;
}
.mt-b_5px	{
	margin: 10px 0;
}
.mt_25px-mb_10px	{
	margin: 25px 0 10px;
}
.mt_5px	{
	margin: 5px 0 0;
}
.mt_10px	{
	margin: 10px 0 0;
}
.mt_20px	{
	margin: 20px 0 0;
}
.mb_5px	{
	margin: 0 0 10px;
}
.mt_5px-mb_20px	{
	margin: 5px 0 20px;
}
.pt_5px	{
	padding-top: 5px;
}
.pb_5px	{
	padding-bottom: 5px;
}
@media screen and (max-width: 768px)  {
.mt_25px-mb_10px	{
	margin: 25px 0 20px;
}
}
@media screen and (max-width: 480px)  {
.ml_15px	{
	margin-left: 0;
	margin-top: 15px;
}
}

	
/* -------------------------------------------------

文字サイズ

------------------------------------------------- */
.fs18px,.fs14px	{
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
}
.fs18px	{
	font-size: 18px;
	line-height: 2;
}
.fs16px	{
	font-size: 16px;
}
.fs14px	{
	font-size: 14px;
}
@media screen and (max-width: 768px)  {
.fs18px	{
	font-size: 16px;
	line-height: 1.8;
}
}
@media screen and (max-width: 480px)  {
.fs18px	{
	line-height: 1.6;
}
.fs16px	{
	font-size: 14px;
}
}


/* -------------------------------------------------

PC/SP表示切替

------------------------------------------------- */
.pc800,.pc768,.sp480	{
	display: block;
}
.pc898,.tb,.tb800,.sp	{
	display: none;
}
@media screen and (max-width: 898px)  {
.pc898	{
	display: block;
}
}
@media screen and (max-width: 800px)  {
.pc800	{
	display: none;
}
.tb800	{
	display: block;
}
}
@media screen and (max-width: 768px)  {
.pc768	{
	display: none;
}
.tb	{
	display: block;
}
}
@media screen and (max-width: 480px)  {
.pc898	{
	display: none;
}
.sp480	{
	display: none;
}
.sp	{
	display: block;
}
}

a.link {
	color: #00AE8D;
	font-weight: 500;
	text-decoration: underline;
}
a:hover.link {
	text-decoration: none;
}

.indent {
	padding-left:1em;
	text-indent:-1em;
}
