@charset "utf-8";
/*
==================================================

    CSS File Name - layout.css
    Last-updated: 2014-03-26
	
    +1: Formatting Reset
    +2: Redefine
	+3: Float, Clear, Align Set, Valign Set
	+4: body
	+5: #wrap
	+6: #header
	+7: #mainBody
	+8: #footer

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


/*--------------------------------------------------
+1: Formatting Reset
==================================================*/
html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
div,
p,
pre,
address,
blockquote,
ul,
ol,
dl,
dt,
dd,
form,
fieldset {
	display: block;
	margin: 0;
	padding: 0;
}
strong,
em {
	font-weight: bold;
}
ol,
ul {
	list-style-type: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 1em;
	font-weight: normal;
}
address,
em {
	font-style: normal;
}
img {
	border: none;
	vertical-align: top;
	max-width: 100%;
}
table,
thead,
tbody,
tfoot,
tr,
th,
td,
caption,
col,
colgroup {
	text-align: inherit;
	line-height: inherit;
	font-size: 100%;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
thead {
	display: table-header-group;
}
tbody {
	display: table-row-group;
}
tfoot {
	display: table-footer-group;
}
tr {
	display: table-row;
}
th,
td {
	display: table-cell;
}
caption {
	display: table-caption;
}
col {
	display: table-column;
}
colgroup {
	display: table-column-group;
}
input,
select,
textarea,
button {
	font-size: inherit;
	line-height: inherit;
}
button {
	cursor: pointer;
}


/*----------------------------------------------------------------------*/
/*--------------------------------------------------
+2: Redefine
==================================================*/
a {
	text-decoration:underline;
}

a:link {
	text-decoration:underline;
}

a:visited {
	text-decoration:underline;
}

a:hover {
	text-decoration:none;
}

a:active {
	text-decoration:underline;
}


/* clearfix
-------------------------------------------------*/

.clearfix:after {
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}

.clearfix {display: inline-block;}/*IE7用*/

/* Hides from IE-mac \*/
* html .clearfix { height:1%;}
.clearfix { display:block;}
/* End hide from IE-mac */

/* alpha
-------------------------------------------------*/
a.alpha:hover img {  
	opacity:0.8;  
	filter: alpha(opacity=80);  
	-ms-filter: "alpha( opacity=80 )";  
	background: #fff;  
} 

/*--------------------------------------------------
+3: Float, Clear, Align Set, Valign Set
==================================================*/
.clear {
	font-size: 1px;
	height: 1px;
	clear: both;
}
.left{
	float:left;
	display:inline;
}

.right{
	float:right;
	display:inline;
}
.alignCenter {
	text-align: center;
}
.alignLeft {
	text-align: left;
}
.alignRight {
	text-align: right;
}
.valignTop {
	vertical-align: top;
}
.valignMiddle {
	vertical-align: middle;
}
.valignBottom {
	vertical-align: bottom;
}
/*----------------------------------------------------------------------*/
/*--------------------------------------------------
+4: body
==================================================*/
/* Font-size Setting

80%  = 10px	    |	130% = 16px	|	180% = 22px
90%  = 11px(*)	|	140% = 17px	|	190% = 23px
100% = 12px     |	150% = 18px	|	200% = 24px
105% = 13px	    |	160% = 19px	|	210% = 25px
115% = 14px	    |	165% = 20px	|	215% = 26px
125% = 15px	    |	175% = 21px	| 
/* font 
---------------------------------------------------*/
html { font-size: 62.5%; }
body {
	color: #000;
	font-family:'ＭＳ Ｐゴシック','MS PGothic','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif;
	font-size: 1.4rem;
	line-height:1.5;
	-webkit-text-size-adjust: none;
}
.fo10 { font-size:10px; }
.fo12 { font-size:12px; }
.fo14 { font-size:14px; }
.fo17 { font-size:17px; }
.fo18 { font-size:18px; }
.pink {
	color:#e96c93;
	font-weight: bold;
}
.dred { color:#b50000; }
.red  { color:#FF0000; }
.bul  { color:#1176da; }

.undln { border-bottom:#7f7c7d 2px solid; }

.smalls { vertical-align:top; }
/*=====================================================================/
/余白(margin)
/=====================================================================*/
/*上*/
.mt0 {margin-top: 0px !important;}
.mt5 {margin-top: 5px !important;}
.mt10 {margin-top: 10px !important;}
.mt15 {margin-top: 15px !important;}
.mt20 {margin-top: 20px !important;}
.mt25 {margin-top: 25px !important;}
.mt30 {margin-top: 30px !important;}
.mt35 {margin-top: 35px !important;}
.mt40 {margin-top: 40px !important;}
.mt45 {margin-top: 45px !important;}
.mt50 {margin-top: 50px !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;}
.mb95 {margin-bottom: 95px !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;}
/*右*/
.mr0 {margin-right: 0px !important;}
.mr5 {margin-right: 5px !important;}
.mr10 {margin-right: 10px !important;}
.mr15 {margin-right: 15px !important;}
.mr20 {margin-right: 20px !important;}
.mr30 {margin-right: 30px !important;}
.mr35 {margin-right: 35px !important;}
.mr40 {margin-right: 40px !important;}
.mr45 {margin-right: 45px !important;}
.mr50 {margin-right: 50px !important;}
/*=====================================================================/
/余白(padding)
/=====================================================================*/
/*上*/
.pt0 {padding-top: 0px !important;}
.pt5 {padding-top: 5px !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;}
/*下*/
.pb0 {padding-bottom: 0px !important;}
.pb5 {padding-bottom: 5px !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;}
.pb70 {padding-bottom: 70px !important;}
/*左*/
.pl0 {padding-left: 0px !important;}
.pl5 {padding-left: 5px !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;}
/*右*/
.pr0 {padding-right: 0px !important;}
.pr5 {padding-right: 5px !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;}
/*上下左右同じ*/
.p0 {padding: 0px !important;}
.p5 {padding: 5px !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;}
/*----------------------------------------------------------------------*/
/*border*/
.b_btm_bk { border-bottom: 1px solid #000;}
.b_btm_lg { border-bottom: 1px solid #dedede;}
.b_btm_wh { border-bottom: 1px solid #fff;}
.b_lg { border: solid 1px #dcdcdc;}
.b_btm_ble1 { border-bottom: 1px solid #00a2eb;}
.b_btm_dg1 { border-bottom: 1px solid #999999;}

.b_btm_ble2 { border-bottom: 2px solid #006fc7;}
.b_btm_mble { border-bottom: 2px solid #005cbb;}
.b_btm_og2 { border-bottom: 2px solid #eb6100;}
.b_btm_dg2 { border-bottom: 2px solid #999999;}
.b_btm_gr2 { border-bottom: 2px solid #019902;}


/*indent*/
.indent-1 { padding-left:1em; text-indent:-1em;}
.indent-1h { padding-left:1.5em; text-indent:-1.5em;}
.indent5 { padding-left:5em; }
.indent6 { padding-left:6em; }

/*font-weight*/
.b { font-weight: bold; }

/*background-color*/
.bg_wbue { background-color: #f7fdff; }
.bg_lbue { background-color: #f0f8ff; }
.bg_mbue { background-color: #c7e5ff; }
.bg_bue { background-color: #2196f3; }
.bg_lpnk { background-color: #fff5f5; }
.bg_mpnk { background-color: #fbcdcd; }
.bg_wht { background-color: #ffffff; }
.bg_f7 { background-color: #f7f7f7; }
.bg_ccc { background-color: #cccccc; }
.bg_ssel{ background-color: #fff5ee; }
.bg_ivry{ background-color: #fffff0; }
.bg_mintc{ background-color: #f5fffa; }
.bg_aquam{ background-color: #d5f5d1; }


.r45 { background:repeating-linear-gradient(-30deg, #ffd7c9 0, #ffd7c9 10px, #fff4f0 10px, #fff4f0 20px);}
.y45 { background:repeating-linear-gradient(-30deg, #fffcc9 0, #fffcc9 10px, #fffef0 10px, #fffef0 20px);}
.g45 { background:repeating-linear-gradient(-30deg, #d8fdda 0, #d8fdda 10px, #f0fff3 10px, #f0fff3 20px);}
.b45 { background:repeating-linear-gradient(-30deg, #c9e6ff 0, #c9e6ff 10px, #f0f8ff 10px, #f0f8ff 20px);}
.o45 { background:repeating-linear-gradient(-30deg, #ffdfbe 0, #ffdfbe 10px, #ffeddb 10px, #ffeddb 20px);}

/*font-size*/
.large  { font-size: large; }
.medium { font-size: medium; }
.small  { font-size: small; }

/*list-style-type*/
.disc    { list-style-type:disc; }
.circle  { list-style-type:circle; }
.square  { list-style-type:square; }
.decimal { list-style-type:decimal; }

/*letter-spacing*/
.ls2  { letter-spacing: 0.2rem; }
.ls-2 { letter-spacing: -0.2rem; }

.ws_no { white-space: nowrap; }

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

/*--------------------------------------------------
+5: #wrap
==================================================*/
#wrap {
	max-width:980px;
	margin:0 auto;
	overflow:hidden;
}
#wrap h1 {
	font-size: 2.6rem;
	padding-bottom: 3%;
	color: #000;
}

.lowBox {
	max-width:100%;
	margin:0 10px;
	padding-top: 4%;
	font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "MS PGothic", sans-serif;	
}

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

.lowBox .comment {
	font-size: 1.2rem;	
}
.lowBox a {
	color:#E34692;
}
.lowBox span.red {
	color: #E02563;
}
.lowBox span.redLine {
	color: #E02563;
	text-decoration:underline;	
}
.lowBox .pl6 {
	padding-left:6%;
}
.lowBox section {
	border-bottom:1px solid #dedede;
	margin-bottom:5%;
}

.lowBox section.last {
	border:none;
	margin-bottom:0;
}

/* ====== Mobile fix patch ====== */
@media (max-width: 600px) {
  /* 1) ラッパの切り捨てをやめる */
  #wrap { overflow: visible; }

  /* 2) 長文/URL/英数字の折返しを有効化 */
  body, #wrap, .lowBox, table, th, td, p, a, li, dt, dd {
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  /* 3) 改行禁止クラスをスマホでは解除（必要な場合）*/
  .ws_no { white-space: normal; }

  /* 4) テーブルが横に暴れないよう固定レイアウト */
  .tbl-r02 {
    width: 100%;
    table-layout: fixed;
  }

  /* 5) 画像は親幅で可変（念のため） */
  img { max-width: 100%; height: auto; }

  /* 6) ページの“足りない高さ”対策（100vh切り取りの予防） */
  html, body { min-height: 100dvh; height: auto; }
}