@charset "utf-8";

/* =======================================

	reset CSS

========================================== */

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,p,blockquote,table,th,td,figure,figcaption {padding: 0;margin: 0;}
body {font-size:13px;font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;}
* html body {font-size: small;}
*:first-child+html body {font-size: small;}
img {border: 0; vertical-align: top;}
h1,h2,h3,h4,h5,h6 {font-size: 100%;font-weight: 500;}
ul,dl,ol {text-indent: 0;}
li {list-style: none;}
address,caption,cite,code,dfn,em,strong,th,var {font-style: inherit; font-weight: inherit;}
sup {vertical-align: text-top;}
sub {vertical-align: text-bottom;}
input,textarea,select,b {font-family: inherit; font-size: inherit; font-weight:inherit;}
* html input,* html textarea,* html select {font-size: 100%;}
*:first-child+html+input,*:first-child html+textarea,*:first-child+html select {font-size: 100%;}
table {border-collapse: collapse; border-spacing: 0; font-size: inherit;}
th,td {text-align: left; vertical-align: top;}
caption {text-align: left;}
pre,code,kbd,samp,tt {font-family: monospace;}
* html pre,* html code,* html kbd,* html samp,* html tt {font-size: 100%; line-height: 100%;}
*:first-child+html pre,*:first-child html+code,*:first-child html+kbd,*:first-child+html+samp,*:first-child+html tt {font-size: 108%; line-height: 100%;}
input,select,textarea {font-size: 100%; font-family: Verdana, Helvetica, sans-serif;}
/* cf
========================================== */

.cf:after {visibility: hidden;display: block;content: "";clear: both;}
* html .cf {zoom: 1;} /* IE6 */
*:first-child+html .cf {zoom: 1;} /* IE7 */

/* =======================================

	Structure CSS

========================================== */
*{-webkit-box-sizing: border-box;box-sizing: border-box;}
.center {text-align: center !important;vertical-align:middle;}
.txt_right{text-align:right !important;}
.txt_left{text-align:left !important;}
.indent {padding-left:1em;text-indent:-1em;}
.bold {font-weight:bold !important;}
.red {color:#c00 !important;}
.blue{color:#15376A !important;}
.white{color:#fff !important;}
.beni{color:#FF5C5C !important;}
.orange{color:#F88F03 !important;}
.mincho{font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;}
.gothic{font-family:"游ゴシック","Yu Gothic","游ゴシック体","YuGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Meiryo UI","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;}
.bg_w{background:rgba(255,255,255,1);}
.float_l{float:left;}
.float_r{float:right;}
.clear_both{clear:both;}
.f10{font-size:10px !important;}
.f11{font-size:11px !important;}
.f12{font-size:12px !important;}
.f13{font-size:13px !important;}
.f14{font-size:14px !important;}
.f15{font-size:15px !important;}
.f16{font-size:16px !important;}
.f17{font-size:17px !important;}
.f18{font-size:18px !important;}
.f19{font-size:19px !important;}
.f20{font-size:20px !important;}
.f21{font-size:21px !important;}
.f22{font-size:22px !important;}
.f23{font-size:23px !important;}
.f24{font-size:24px !important;}
.f25{font-size:25px !important;}
.f26{font-size:26px !important;}
.f27{font-size:27px !important;}
.f28{font-size:28px !important;}
.f29{font-size:29px !important;}
.f30{font-size:30px !important;}
.f31{font-size:31px !important;}
.f32{font-size:32px !important;}
.f33{font-size:33px !important;}
@media (max-width: 600px) and (min-width: 0px){
.f10{font-size:8px !important;}
.f11{font-size:9px !important;}
.f12{font-size:10px !important;}
.f13{font-size:11px !important;}
.f14{font-size:12px !important;}
.f15{font-size:13px !important;}
.f16{font-size:14px !important;}
.f17{font-size:15px !important;}
.f18{font-size:16px !important;}
.f19{font-size:17px !important;}
.f20{font-size:18px !important;}
.f21{font-size:19px !important;}
.f22{font-size:20px !important;}
.f23{font-size:21px !important;}
.f24{font-size:22px !important;}
.f25{font-size:23px !important;}
.f26{font-size:24px !important;}
.f27{font-size:25px !important;}
.f28{font-size:26px !important;}
.f29{font-size:27px !important;}
.f30{font-size:28px !important;}
.f31{font-size:29px !important;}
.f32{font-size:30px !important;}
.f33{font-size:31px !important;}
}
.bb{border-bottom:1px solid #ccc;}

/* =======================================

	margin / padding

========================================== */

.mb0 {margin-bottom:0px !important;}
.mb5 {margin-bottom:5px !important;}
.mb10 {margin-bottom:10px !important;}
.mb15 {margin-bottom:15px !important;}
.mb20 {margin-bottom:20px !important;}
.mb25 {margin-bottom:25px !important;}
.mb30 {margin-bottom:30px !important;}
.mb35 {margin-bottom:35px !important;}
.mb40 {margin-bottom:40px !important;}
.mb45 {margin-bottom:45px !important;}
.mb50 {margin-bottom:50px !important;}
.mb60 {margin-bottom:60px !important;}
.mb70 {margin-bottom:70px !important;}
.mb80 {margin-bottom:80px !important;}
.mb90 {margin-bottom:90px !important;}
.mb100 {margin-bottom:100px !important;}
.mb150 {margin-bottom:150px !important;}
.mb1em{margin-bottom:1em !important;}
.pd0{padding:0 !important;}
.pt70{padding-top:70px !important;}
.mb0 {margin-bottom:0px !important;}
.mb5 {margin-bottom:5px !important;}
.mb10 {margin-bottom:10px !important;}
.mb15 {margin-bottom:15px !important;}
.mb20 {margin-bottom:20px !important;}
.mb25 {margin-bottom:25px !important;}
.mb30 {margin-bottom:30px !important;}
.mb35 {margin-bottom:35px !important;}
.mb40 {margin-bottom:40px !important;}
.mb45 {margin-bottom:45px !important;}
.mb50 {margin-bottom:50px !important;}
.mb60 {margin-bottom:60px !important;}
.mb70 {margin-bottom:70px !important;}
.mb80 {margin-bottom:80px !important;}
.mb90 {margin-bottom:90px !important;}
.mb100 {margin-bottom:100px !important;}
.mb150 {margin-bottom:150px !important;}
@media (max-width: 600px) and (min-width: 0px){
.mb10 {margin-bottom:3% !important;}
.mb15 {margin-bottom:3% !important;}
.mb20 {margin-bottom:5% !important;}
.mb25 {margin-bottom:5% !important;}
.mb30 {margin-bottom:5% !important;}
.mb35 {margin-bottom:5% !important;}
.mb40 {margin-bottom:5% !important;}
.mb45 {margin-bottom:5% !important;}
.mb50 {margin-bottom:10% !important;}
.mb60 {margin-bottom:10% !important;}
.mb70 {margin-bottom:15% !important;}
.mb80 {margin-bottom:15% !important;}
.mb90 {margin-bottom:15% !important;}
.mb100 {margin-bottom:15% !important;}
.mb150 {margin-bottom:15% !important;}
.pt70{padding-top:10% !important;}
.adjust{padding: 0 5%;}
}

.ml0 {margin-left:0px !important;}
.ml5 {margin-left:5px !important;}
.ml10 {margin-left:10px !important;}
.ml15 {margin-left:15px !important;}
.ml20 {margin-left:20px !important;}
.ml25 {margin-left:25px !important;}
.ml30 {margin-left:30px !important;}
.ml35 {margin-left:35px !important;}
.ml40 {margin-left:40px !important;}
.ml45 {margin-left:45px !important;}
.ml50 {margin-left:50px !important;}
.ml60 {margin-left:60px !important;}
.ml70 {margin-left:70px !important;}
.ml80 {margin-left:80px !important;}
.ml90 {margin-left:90px !important;}
.ml100 {margin-left:100px !important;}
.ml150 {margin-left:150px !important;}
.ml1em{margin-left:1em !important;}
.ml0 {margin-left:0px !important;}
.ml5 {margin-left:5px !important;}
.ml10 {margin-left:10px !important;}
.ml15 {margin-left:15px !important;}
.ml20 {margin-left:20px !important;}
.ml25 {margin-left:25px !important;}
.ml30 {margin-left:30px !important;}
.ml35 {margin-left:35px !important;}
.ml40 {margin-left:40px !important;}
.ml45 {margin-left:45px !important;}
.ml50 {margin-left:50px !important;}
.ml60 {margin-left:60px !important;}
.ml70 {margin-left:70px !important;}
.ml80 {margin-left:80px !important;}
.ml90 {margin-left:90px !important;}
.ml100 {margin-left:100px !important;}
.ml150 {margin-left:150px !important;}
@media (max-width: 600px) and (min-width: 0px){
.ml10 {margin-left:3% !important;}
.ml15 {margin-left:3% !important;}
.ml20 {margin-left:5% !important;}
.ml25 {margin-left:5% !important;}
.ml30 {margin-left:5% !important;}
.ml35 {margin-left:5% !important;}
.ml40 {margin-left:5% !important;}
.ml45 {margin-left:5% !important;}
.ml50 {margin-left:10% !important;}
.ml60 {margin-left:10% !important;}
.ml70 {margin-left:15% !important;}
.ml80 {margin-left:15% !important;}
.ml90 {margin-left:15% !important;}
.ml100 {margin-left:15% !important;}
.ml150 {margin-left:15% !important;}
}

/* =======================================

	form

========================================== */
.contact_form {
	margin-bottom: 50px;
}
.contact_form table {
	margin-bottom: 30px;
	border: 1px solid #1C1C1C;
	border-bottom: none;
	width: 100%;
}
.contact_form table tbody tr {
	border-bottom: 1px solid #1C1C1C;
}
.contact_form table tbody tr th {
	padding: 30px;
	vertical-align: middle;
	background: #E6E5E0;
	width: 250px;
}
.contact_form table tbody tr td {
	padding: 20px;
	vertical-align: middle;
}
.contact_form table tbody tr td label {
	margin-right: 10px;
}
.textarea1 {
	padding: 10px;
	height: 10em !important;
	width: 100% !important;
}
.input1,
.input2 {
	padding: 10px;
	width: 300px;
}
.input2 {
	width: 400px;
}
.select1 {
	padding: 10px;
	width: 300px;
}
.contact_form table tbody tr th span {
	margin-left: 10px;
}
.contact_form div.privacy_btn {
	background: #F3F4EF;
	padding: 20px;
	margin-bottom: 20px;
}
.contact_form div.privacy_btn p {
	margin-bottom: 20px;
}
.contact_form button.btn1 {
	width: 340px;
	padding: 20px 0;
	text-align: center;
	margin: auto;
	font-size: 16px;
	cursor: pointer;
}
#datepicker + img {
	width: 2em;
	display: inline-block;
	vertical-align: middle;
	margin-left: 10px;
}
@media (max-width: 600px) and (min-width: 0px){
	.contact_form {
		padding: 0;
		margin-bottom: 10%;
	}
	.contact_form table {
		margin-bottom: 5%;
		width: 100%;
		border: 1px solid #E6E5E0;
		border-bottom: none;
	}
	.contact_form table tbody tr {
		border-bottom: 1px solid #E6E5E0;
	}
	.contact_form table tbody tr th {
		padding: 3%;
		vertical-align: middle;
		width: 100%;
		float: left;
	}
	.contact_form table tbody tr td {
		padding: 3%;
		vertical-align: middle;
		float: left;
		width: 100%;
	}
	.contact_form table tbody tr td label {
		margin-right: 10px;
	}
	.textarea1 {
		padding: 3%;
		height: 10em !important;
		width: 94% !important;
	}
	.input1,
	.input2 {
		padding: 3%;
		width: 94%;
	}
	.input2 {
		width: 94%;
	}
	.select1 {
		padding: 3%;
		width: 94%;
	}
	.contact_form table tbody tr th span {
		margin-left: 10px;
	}
	.contact_form div.privacy_btn {
		background: #F3F4EF;
		padding: 5%;
		margin-bottom: 5%;
	}
	.contact_form div.privacy_btn p {
		margin-bottom: 5%;
	}
	.contact_form button.btn1 {
		width: 100%;
		padding: 5% 0;
		text-align: center;
		margin: auto;
		font-size: 16px;
		cursor: pointer;
	}
	#datepicker {
		width: 85%;
	}
	#datepicker + img {
		width: 2em;
		display: inline-block;
		vertical-align: middle;
	}
}

/*250306追記*/
.l-header_language{
  align-self: flex-start;
  min-width: 150px;
  padding: 4px 35px 4px 10px;
	color: #333;
  background-color: #fff;
  border:1px solid #D2D2D2;
  position: relative;
  cursor: pointer;
 }
 @media (max-width: 600px){/*SP以下 表示*/
  .l-header_language{
    align-self: center;
    min-width: auto;
    max-width: 200px;
    width: 90%;
		margin: 15px auto;
    padding: 10px 30px 10px 7px;
   } 
 }/*END SP以下 表示*/
 .l-header_language::after{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 30px;
  height: 100%;
  border-left: 1px solid #D2D2D2;
  background: url(../img/top/common/arrow_u_gray.svg) no-repeat center center / 50% auto;
 }
 @media (max-width: 600px){/*SP以下 表示*/
  .l-header_language::after{
    width: 25px;
  }
 }/*END SP以下 表示*/
 .l-header_language > span{
  display: block;
  font-size: 12px;
 }
 @media (max-width: 600px){/*SP以下 表示*/
  .l-header_language > span{
    font-size: 10px;
   } 
 }/*END SP以下 表示*/
.l-header_language ul{
	display: block;
  opacity: 0;
  height: 0;
  width: 100%;
  position: absolute;
  top: 100%;
  left: 0;
	color: #333;
  background-color: #fff;
  border:1px solid #D2D2D2;
  transition: all .5s ease-in-out;
  overflow: hidden;
}
.l-header_language.is-open ul{
  opacity: 1;
  height: auto;/* calc-size()未対応のブラウザのためのフォールバック */
  height: calc-size(auto, size);
}
header.top nav li .l-header_language ul li a,
.l-header_language ul li a{
  display: block;
  font-size: 12px;
  padding: 5px 10px;
	color: #333;
}
@media (max-width: 600px){/*SP以下 表示*/
  .l-header_language ul li a{
    font-size: 10px;
  }
}/*END SP以下 表示*/
.l-header_language ul li a:hover{
  background-color: #f2f2f2;
}



/* 250918 */
/* おすすめ情報：2ブロック横並び（PCで合計4枚） */
.p-topics_groups {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}
.p-topics_group { grid-column: span 2; }

/* 帯 */
.p-topics_group-band {
  display: block;
  width: 100%;
  background: #C9171E;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.3;
  padding: 8px 12px;
  border-radius: 4px;
  margin-bottom: 12px;
}

/* 各ブロック内カード：PC=2列、SP=1列 */
.p-topics_group-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

/* SP（～767px） */
@media (max-width: 767px) {
  .p-topics_groups { grid-template-columns: 1fr; }
  .p-topics_group { grid-column: auto; }
  .p-topics_group-grid { grid-template-columns: 1fr; }
  .p-topics_group-band { margin-bottom: 10px; }
}

