@charset "utf-8";
/* CSS Document */

/*------------------------------------------------------

	リセット

------------------------------------------------------*/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-style: normal;
	font-weight: 500;
	vertical-align: baseline;
	background: transparent;
}
body { line-height: 1;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block;}
ul { list-style: none;}
blockquote, q { quotes: none;}
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none;}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
/*table { border-collapse: collapse; border-spacing: 0;}*/
hr {
	display: block;
	height: 0px;
	border: 0;
	border-bottom: 1px solid #4d4d4d;
	margin: 0;
	padding: 0;
}
input, select { vertical-align: middle;}
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: top;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}
*, *:before, *:after { box-sizing: border-box;}

/*------------------------------------------------------

	グローバル

------------------------------------------------------*/

body {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: #333333;
	font-size: 1em;
	line-height: 1.8;
	position: relative;
	min-width: 1030px;
}

p { margin-bottom: 25px;}
p:last-child { margin-bottom: 0px;}

a { color: #333333; text-decoration: none;}
a:hover, a:active { color: #0074d6;}

h4{
	text-align: center;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 2.0em !important;
}

@media screen and ( max-width : 860px ){
	h4{
		font-size: 16px!important;
	}
}

h4 span{
  border-bottom: solid #FFD599;
  position: relative;
}

h4 span:after{
  position: absolute;
  content: "";
  display: block;
  border-bottom: solid 3px #FE9625;
  bottom: -3px;
  width: 50%;
  left: 50%;
}

table{
  text-align: center;
  margin: auto;
  width: 50%;
}

caption {
  font-weight: bold;
  caption-side: bottom; /* 下 */
  text-align: left; /* 左 */
}

figcaption {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: bold;
}

/* 文字装飾 */
.fo06 { font-size: 0.6em !important;}
.fo07 { font-size: 0.7em !important;}
.fo075 { font-size: 0.75em !important;}
.fo08 { font-size: 0.8em !important;}
.fo085 { font-size: 0.85em !important;}
.fo0875 { font-size: 0.875em !important;}
.fo09 { font-size: 0.9em !important;}
.fo0938 { font-size: 0.938em !important;}
.fo11 { font-size: 1.1em !important;}
.fo1125 { font-size: 1.125em !important;}
.fo115 { font-size: 1.15em !important;}
.fo1188 { font-size: 1.188em !important;}
.fo12 { font-size: 1.2em !important;}
.fo125 { font-size: 1.25em !important;}
.fo13 { font-size: 1.3em !important;}
.fo1375 { font-size: 1.375em !important;}
.fo14 { font-size: 1.4em !important;}
.fo15 { font-size: 1.5em !important;}
.fo16 { font-size: 1.6em !important;}
.fo17 { font-size: 1.7em !important;}
.fo18 { font-size: 1.8em !important;}
.fo1875 { font-size: 1.875em !important;}
.fo20 { font-size: 2.0em !important;}
.fo2125 { font-size: 2.125em !important;}
.fo25 { font-size: 2.5em !important;}

/* 文字装飾(ピクセル指定) */
.pxfo10 {font-size: 10px!important;}
.pxfo11 {font-size: 11px!important;}
.pxfo12 {font-size: 12px!important;}
.pxfo13 {font-size: 13px!important;}
.pxfo14 {font-size: 14px!important;}
.pxfo15 {font-size: 15px!important;}
.pxfo16 {font-size: 16px!important;}
.pxfo17 {font-size: 17px!important;}
.pxfo18 {font-size: 18px!important;}
.pxfo22 {font-size: 22px!important;}
.pxfo28 {font-size: 28px!important;}

.lh12 { line-height: 1.2;}
.lh14 { line-height: 1.4;}
.lh16 { line-height: 1.6;}
.lh18 { line-height: 1.8;}
.lh20 { line-height: 2;}
.lh23 { line-height: 2.3;}

.ls02 { letter-spacing: 0.2em;}

.fo_noto { font-family: 'Noto Sans JP', sans-serif;}

.fo_white { color: #FFFFFF;}
.fo_blue { color: #0074d6;}

/* ボックス */
.container { max-width: 1030px; padding: 0px 15px; margin: 0px auto;}

.left { float: left;}
.right { float: right;}

.pos_rel { position: relative;}
.pos_ab { position: absolute;}

.bold { font-weight: bold;}

.ta_center { text-align: center;}
.ta_right { text-align: right;}
.ta_left { text-align: left;}
.ta_right-s_center { text-align: right;}
.ta_left-s_center { text-align: left;}

.back_white { background-color: #fff !important;}

@media (min-width: 861px) {
	.hidden_l { display: none !important;}
}

/* リスト */
ol { padding-left: 2em;}
ol li { list-style: outside decimal;}

.list_indent { padding-left: 1em;}
.list_indent li { text-indent: -1em;}

.list_disc { padding-left: 1em;}
.list_disc li { list-style: outside disc;}

/* margin */
.mb00 { margin-bottom: 0px !important;}
.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb29_63 { margin-bottom: 29.63px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb38 { margin-bottom: 38px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb42 { margin-bottom: 42px !important;}
.mb46 { margin-bottom: 46px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb53 { margin-bottom: 53px !important;}
.mb60 { margin-bottom: 60px !important;}
.mb80 { margin-bottom: 80px !important;}
.mb90 { margin-bottom: 90px !important;}
.mb129 { margin-bottom: 129px !important;}
.mb145 { margin-bottom: 145px !important;}
.mb190 { margin-bottom: 190px !important;}
.mb234 { margin-bottom: 234px !important;}

.mb40-20 { margin-bottom: 40px !important;}
.mb60-30 { margin-bottom: 60px !important;}
.mb80-40 { margin-bottom: 80px !important;}
.mb100-60 { margin-bottom: 100px !important;}
.mb120-60 { margin-bottom: 120px !important;}
.mb160-80 { margin-bottom: 160px !important;}

.mt9 {margin-top: 9px !important;}
.mt10 {margin-top: 10px !important;}
.mt13 {margin-top: 13px !important;}
.mt15 {margin-top: 15px !important;}
.mt20 {margin-top: 20px !important;}
.mt28 {margin-top: 28px !important;}
.mt33 {margin-top: 33px !important;}
.mt40 {margin-top: 40px !important;}
.mt50 {margin-top: 50px !important;}
.mt52 {margin-top: 52px !important;}
.mt100 {margin-top: 100px !important;}
.mt120 {margin-top: 120px !important;}
.mt-271{margin-top: -413px !important;}

.ml10{margin-left: 10px !important;}
.ml20{margin-left: 20px !important;}
.ml45{margin-left: 45px !important;}
.ml60{margin-left: 60px !important;}
.ml140{margin-left: 140px !important;}
.mr280{margin-right: 280px !important;}

/* padding */
.pb20 {padding-bottom: 20px!important;}
.pb40 {padding-bottom: 40px!important;}
.pb50 {padding-bottom: 50px!important;}
.pb99 {padding-bottom: 99px!important;}
.pb120 {padding-bottom: 120px!important;}

.pt10 {padding-top: 10px!important;}
.pt13 {padding-top: 13px!important;}
.pt20 {padding-top: 20px!important;}
.pt30 {padding-top: 30px!important;}
.pt33 {padding-top: 33px!important;}
.pt40 {padding-top: 40px!important;}
.pt50 {padding-top: 50px!important;}
.pt52 {padding-top: 52px!important;}

.pl05{padding-left: 5px!important;}
.pl20{padding-left: 20px!important;}
.pl2em{padding-left: 2em!important;}

.pr100{padding-right: 100px!important;}
.pr300{padding-right: 300px!important;}

.left50{left: 50px}

/* ==========================
	ヘッダー 
   ========================== */

/* 画像がコンテナに収まるように調整 */
.mainimage img {
    max-width: 100%; /* 親要素の幅に合わせて最大幅を設定 */
    height: auto;    /* アスペクト比を維持して高さを自動調整 */
    display: block;  /* 画像の下に不要なスペースができないように */
    margin: 0 auto;  /* 画像を中央揃えにする（任意） */
}

/* ページ全体の余白を調整（任意） */
body {
    margin: 0;
    padding: 0;
}

/* mainimage の高さを調整したい場合（任意） */
.mainimage {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh; /* ビューポートの高さに合わせて調整 */
    /* 背景画像として設定する場合は、以下のコメントアウトを外してください */
    /* background-image: url('/images/top/comingsoon_img.jpg'); */
    /* background-size: cover; */
    /* background-position: center; */
    /* background-repeat: no-repeat; */
}

/* 画像を背景として表示する場合に、imgタグを削除してこのスタイルを使用することも検討できます */
.mainimage figure {
    /* 画像を背景にする場合は不要になります */
}