@charset "utf-8";

/* ############################################################
 * common
 *
 * ------
 * 2022.02.28
 * ############################################################ */

/* ==========================================================================
   reset fix
   ========================================================================== */

* { 
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box; 
}

body {
	-webkit-text-size-adjust : none;
	font-family: "メイリオ","Meiryo",verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
}

a,
a:link,
a:visited,
a:hover {
	color: #333;
	text-decoration: none;
}

a.link_blue { color: #00a; }
a.link_white { color: #fff; }

h1 { margin-bottom: 0; }
h2, h3, h4 {
	margin-bottom: 0;
	font-size: 16px;
}

select,
input,
button,
textarea {
	color: #333;
}

ul {
	margin: 0;
	padding: 0;
}
li {
	list-style:none;
}

/* ==========================================================================
   a
   ========================================================================== */

a.textlink,
a.textlink:link,
a.textlink:visited {
	color: #0d6efd;
}
a.textlink:hover {
	color: #0d6efd;
	text-decoration: underline;
}
a.textlink.link_yellow,
a.textlink.link_yellow:link,
a.textlink.link_yellow:visited {
	color: #ff0;
}

/* ==========================================================================
   clear
   ========================================================================== */

.clear {
	clear: both;
}

.clearfix {
	zoom: 1;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

/* ==========================================================================
   position
   ========================================================================== */

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

/* ==========================================================================
   display
   ========================================================================== */

.disnon {
	display: none;
}

.display_block {
	display: block;
}

/* ==========================================================================
   float
   ========================================================================== */

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

/* ==========================================================================
   layout
   ========================================================================== */

body {}

#page_header {
	height: 82px;
	padding: 10px 0;
	background: #eee;
}
body.jra #page_header { background: #3a0; }
body.nar #page_header { background: #a10; }
body.coliseum #page_header { background: #c9171e; }
body.promax #page_header { background-color: #a89427; }
body.boat #page_header { background: #39e; }
body.boat #page_header.header_mypage { background: #fff; }
body.sponity #page_header { background: #fff; }

body.boat #page_header.header_mypage { border-bottom: 1px solid #ccc; }

#wrapper,
.wrapper {
	max-width: 1000px;
}
@media (min-width: 376px) and (max-width: 1010px) {
	/* PC表示で幅が1010以下の場合に左右余白 */
	#wrapper, .wrapper { padding: 0 5px; }
}

.flex_container {
	display: flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}
@media screen and (max-width: 767px) {
	.flex_container { display: block; }
}

.main_area {
	flex: 1;
}
.main_area.overflow_hidden {
	overflow: hidden;
}

#page_footer {
}

.side_area {
	width: 350px;
	margin-left: 30px;
}
@media screen and (max-width: 767px) {
	.side_area {
		width: auto;
		margin-left: 0;
	}
}

.side_area.w50p {
	width: 495px;
	margin-left: 5px;
}
@media screen and (max-width: 767px) {
	.side_area.w50p {
		width: auto;
		margin-left: 0;
	}
}

/* ==========================================================================
   pc/sp only
   ========================================================================== */

.pc_only { display: block; }
.sp_only { display: none; }
.pc_only_inline { display: inline; }
.sp_only_inline { display: none; }
.pc_only_cell { display: table-cell; }
.sp_only_cell { display: none; }

@media screen and (max-width: 767px) {
	.pc_only { display: none; }
	.sp_only { display: block; }
	.pc_only_inline { display: none; }
	.sp_only_inline { display: inline; }
	.pc_only_cell { display: none; }
	.sp_only_cell { display: table-cell; }
}

.br375 {display:none;}
@media (max-width: 375px) {
	.br375 {display:inline;}
	/* 375以下で改行,376以上は無効 */
}
.br767 {display:none;}
@media (max-width: 767px) {
	.br767 {display:inline;}
	/* 767以下で改行,768以上は無効 */
}

/* PCでマウスドラッグを可能に parts.js参照 */
.pc_scroll_item {}

/* ==========================================================================
   wrap
   ========================================================================== */

.nowrap { white-space:nowrap; }

/* ==========================================================================
   align
   ========================================================================== */

.text_left {
	text-align:left !important;
}
.text_right {
	text-align:right !important;
}
.text_center {
	text-align:center !important;
}

.text_valign_top,
table.valign_top td,
table td.valign_top {
	vertical-align:top !important;
}

.text_valign_middle,
table.valign_middle td,
table td.valign_middle {
	vertical-align:middle !important;
}

.text_valign_bottom,
table.valign_bottom td,
table td.valign_bottom {
	vertical-align:bottom !important;
}

img.valigntop {vertical-align:top;}
img.valignmiddle {vertical-align:middle;}
img.valignbottom {vertical-align:bottom;}
img.valignbaseline {vertical-align:baseline;}
img.valigntexttop {vertical-align:text-top;}
img.valigntextbottom {vertical-align:text-bottom;}

/* ==========================================================================
   namedot
   ========================================================================== */

.namedot_out {
	position: relative;

	display: inline-block;
	_display: inline;

	width: 100%;
	height: 1em;
	padding: 0;
}
.namedot_out.display_block {
	display: block;
}

.namedot_in {
	position: absolute;

	display: inline-block;
	_display: inline;

	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
	-o-text-overflow: ellipsis;

	min-width: 100%;
	max-width: 100%;
}

.namedot_in_mark {
	min-width: calc(100% - 40px);
	max-width: calc(100% - 40px);
}

/* ==========================================================================
   page top link
   ========================================================================== */

.go_pagetop {
	display: block;
	padding: 10px 0;
	background: #2b6389;
	color: #fff;
}
.go_pagetop:link,
.go_pagetop:visited {
	color: #fff;
}

/* ==========================================================================
   flexbox
   ========================================================================== */

.flexbox {
	display: flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}

.flexbox.space-between {-webkit-justify-content:space-between;justify-content:space-between;}
.flexbox.space-around {-webkit-justify-content:space-around;justify-content:space-around;}
.flexbox.flex-end {-webkit-justify-content:flex-end;justify-content:flex-end;}
.flexbox.flex-start {-webkit-justify-content:flex-start;justify-content:flex-start;}
.flexbox.center {-webkit-justify-content:center;justify-content:center;}

.flexbox.wrap {-webkit-flex-wrap:wrap;flex-wrap:wrap;}
.flexbox.nowrap {-webkit-flex-wrap:wrap;flex-wrap:nowrap;}

.flexbox .flex1 {-webkit-flex:1;flex:1;}

.flexbox.align-items-center {-webkit-align-items:center;align-items:center;}	/*flexbox（外側）に指定*/
.flexbox .align-self-center {-webkit-align-self:center;align-self:center;}	/*flexbox内の要素に個別に指定*/

.flexbox .mlauto {margin-left:auto;}
.flexbox .mrauto {margin-right:auto;}

/* ==========================================================================
   font size
   ========================================================================== */

.font10 { font-size:10px !important; }
.font11 { font-size:11px !important; }
.font12 { font-size:12px !important; }
.font13 { font-size:13px !important; }
.font14 { font-size:14px !important; }
.font15 { font-size:15px !important; }
.font16 { font-size:16px !important; }
.font18 { font-size:18px !important; }
.font20 { font-size:20px !important; }
.font22 { font-size:22px !important; }
.font24 { font-size:24px !important; }
.font26 { font-size:26px !important; }
.font30 { font-size:30px !important; }

.font10px { font-size:10px !important; }
.font11px { font-size:11px !important; }
.font12px { font-size:12px !important; }
.font13px { font-size:13px !important; }
.font14px { font-size:14px !important; }
.font15px { font-size:15px !important; }
.font16px { font-size:16px !important; }
.font18px { font-size:18px !important; }
.font20px { font-size:20px !important; }
.font22px { font-size:22px !important; }
.font24px { font-size:24px !important; }
.font26px { font-size:26px !important; }
.font30px { font-size:30px !important; }


/* 767以上でフォントサイズ拡大 1_1なら1.1倍 */
@media screen and (min-width: 767px) {
	.font_pc_1_1 { font-size: 1.1rem; }
	.font_pc_1_2 { font-size: 1.2rem; }
	.font_pc_1_3 { font-size: 1.3rem; }
	.font_pc_1_4 { font-size: 1.4rem; }
	.font_pc_1_5 { font-size: 1.5rem; }
}

/* ==========================================================================
   line-height
   ========================================================================== */

.lh11 {line-height:1.1;}
.lh13 {line-height:1.3;}
.lh15 {line-height:1.5;}
.lh17 {line-height:1.7;}
.lh175 {line-height:1.75;}
.lh18 {line-height:1.8;}
.lh20 {line-height:2.0;}

/* ==========================================================================
   margin
   ========================================================================== */

.mgauto {
	margin-left: auto;
	margin-right: auto;
}

.mt00 { margin-top:0 !important; }
.mt03 { margin-top:3px; }
.mt05 { margin-top:5px; }
.mt10 { margin-top:10px; }
.mt15 { margin-top:15px; }
.mt20 { margin-top:20px; }
.mt25 { margin-top:25px; }
.mt30 { margin-top:30px; }
.mt35 { margin-top:35px; }
.mt40 { margin-top:40px; }
.mt45 { margin-top:45px; }
.mt50 { margin-top:50px; }
.mt55 { margin-top:55px; }

.mb00 { margin-bottom:0px !important; }
.mb03 { margin-bottom:3px; }
.mb05 { margin-bottom:5px; }
.mb10 { margin-bottom:10px; }
.mb15 { margin-bottom:15px; }
.mb20 { margin-bottom:20px; }
.mb25 { margin-bottom:25px; }
.mb30 { margin-bottom:30px; }
.mb35 { margin-bottom:35px; }
.mb40 { margin-bottom:40px; }
.mb45 { margin-bottom:45px; }
.mb50 { margin-bottom:50px; }
.mb55 { margin-bottom:55px; }

.mr00 { margin-right:0 !important; }
.mr03 { margin-right:3px; }
.mr05 { margin-right:5px; }
.mr10 { margin-right:10px; }
.mr15 { margin-right:15px; }
.mr20 { margin-right:20px; }
.mr25 { margin-right:25px; }
.mr30 { margin-right:30px; }
.mr35 { margin-right:35px; }
.mr40 { margin-right:40px; }
.mr45 { margin-right:45px; }
.mr50 { margin-right:50px; }
.mr55 { margin-right:55px; }

.ml00 { margin-left:0 !important; }
.ml03 { margin-left:3px; }
.ml05 { margin-left:5px; }
.ml10 { margin-left:10px; }
.ml15 { margin-left:15px; }
.ml20 { margin-left:20px; }
.ml25 { margin-left:25px; }
.ml30 { margin-left:30px; }
.ml35 { margin-left:35px; }
.ml40 { margin-left:40px; }
.ml45 { margin-left:45px; }
.ml50 { margin-left:50px; }
.ml55 { margin-left:55px; }

/* ==========================================================================
   padding
   ========================================================================== */

/* all */

.p00 { padding:0 !important; }
.p02 { padding:2px !important; }
.p03 { padding:3px !important; }
.p04 { padding:4px !important; }
.p05 { padding:5px !important; }
.p08 { padding:8px !important; }
.p10 { padding:10px !important; }
.p15 { padding:15px !important; }
.p20 { padding:20px !important; }
.p25 { padding:25px !important; }
.p30 { padding:30px !important; }
.p35 { padding:35px !important; }
.p40 { padding:40px !important; }
.p45 { padding:45px !important; }
.p50 { padding:50px !important; }
.p55 { padding:55px !important; }

/* top */

.pt00 { padding-top:0 !important; }
.pt02 { padding-top:2px !important; }
.pt03 { padding-top:3px !important; }
.pt04 { padding-top:4px !important; }
.pt05 { padding-top:5px !important; }
.pt08 { padding-top:8px !important; }
.pt10 { padding-top:10px !important; }
.pt15 { padding-top:15px !important; }
.pt20 { padding-top:20px !important; }
.pt25 { padding-top:25px !important; }
.pt30 { padding-top:30px !important; }
.pt35 { padding-top:35px !important; }
.pt40 { padding-top:40px !important; }
.pt45 { padding-top:45px !important; }
.pt50 { padding-top:50px !important; }
.pt55 { padding-top:55px !important; }

/* right */

.pr00 { padding-right:0 !important; }
.pr02 { padding-right:2px !important; }
.pr03 { padding-right:3px !important; }
.pr04 { padding-right:4px !important; }
.pr05 { padding-right:5px !important; }
.pr08 { padding-right:8px !important; }
.pr10 { padding-right:10px !important; }
.pr15 { padding-right:15px !important; }
.pr20 { padding-right:20px !important; }
.pr25 { padding-right:25px !important; }
.pr30 { padding-right:30px !important; }
.pr35 { padding-right:35px !important; }
.pr40 { padding-right:40px !important; }
.pr45 { padding-right:45px !important; }
.pr50 { padding-right:50px !important; }
.pr55 { padding-right:55px !important; }

/* bottom */

.pb00 { padding-bottom:0 !important; }
.pb02 { padding-bottom:2px !important; }
.pb03 { padding-bottom:3px !important; }
.pb04 { padding-bottom:4px !important; }
.pb05 { padding-bottom:5px !important; }
.pb08 { padding-bottom:8px !important; }
.pb10 { padding-bottom:10px !important; }
.pb15 { padding-bottom:15px !important; }
.pb20 { padding-bottom:20px !important; }
.pb25 { padding-bottom:25px !important; }
.pb30 { padding-bottom:30px !important; }
.pb35 { padding-bottom:35px !important; }
.pb40 { padding-bottom:40px !important; }
.pb45 { padding-bottom:45px !important; }
.pb50 { padding-bottom:50px !important; }
.pb55 { padding-bottom:55px !important; }

/* left */

.pl00 { padding-left:0 !important; }
.pl02 { padding-left:2px !important; }
.pl03 { padding-left:3px !important; }
.pl04 { padding-left:4px !important; }
.pl05 { padding-left:5px !important; }
.pl08 { padding-left:8px !important; }
.pl10 { padding-left:10px !important; }
.pl15 { padding-left:15px !important; }
.pl20 { padding-left:20px !important; }
.pl25 { padding-left:25px !important; }
.pl30 { padding-left:30px !important; }
.pl35 { padding-left:35px !important; }
.pl40 { padding-left:40px !important; }
.pl45 { padding-left:45px !important; }
.pl50 { padding-left:50px !important; }
.pl55 { padding-left:55px !important; }

/* right and left */

.px00 { padding-right:0 !important;padding-left:0 !important; }
.px02 { padding-right:2px !important;padding-left:2px !important; }
.px03 { padding-right:3px !important;padding-left:3px !important; }
.px04 { padding-right:4px !important;padding-left:4px !important; }
.px05 { padding-right:5px !important;padding-left:5px !important; }
.px08 { padding-right:8px !important;padding-left:8px !important; }
.px10 { padding-right:10px !important;padding-left:10px !important; }
.px15 { padding-right:15px !important;padding-left:15px !important; }
.px20 { padding-right:20px !important;padding-left:20px !important; }
.px25 { padding-right:25px !important;padding-left:25px !important; }
.px30 { padding-right:30px !important;padding-left:30px !important; }
.px35 { padding-right:35px !important;padding-left:35px !important; }
.px40 { padding-right:40px !important;padding-left:40px !important; }
.px45 { padding-right:45px !important;padding-left:45px !important; }
.px50 { padding-right:50px !important;padding-left:50px !important; }
.px55 { padding-right:55px !important;padding-left:55px !important; }

/* top and bottom */

.py00 { padding-top:0 !important;padding-bottom:0 !important; }
.py02 { padding-top:2px !important;padding-bottom:2px !important; }
.py03 { padding-top:3px !important;padding-bottom:3px !important; }
.py04 { padding-top:4px !important;padding-bottom:4px !important; }
.py05 { padding-top:5px !important;padding-bottom:5px !important; }
.py08 { padding-top:8px !important;padding-bottom:8px !important; }
.py10 { padding-top:10px !important;padding-bottom:10px !important; }
.py15 { padding-top:15px !important;padding-bottom:15px !important; }
.py20 { padding-top:20px !important;padding-bottom:20px !important; }
.py25 { padding-top:25px !important;padding-bottom:25px !important; }
.py30 { padding-top:30px !important;padding-bottom:30px !important; }
.py35 { padding-top:35px !important;padding-bottom:35px !important; }
.py40 { padding-top:40px !important;padding-bottom:40px !important; }
.py45 { padding-top:45px !important;padding-bottom:45px !important; }
.py50 { padding-top:50px !important;padding-bottom:50px !important; }
.py55 { padding-top:55px !important;padding-bottom:55px !important; }

