@charset "UTF-8";

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

 base.css
 
 Copyright (C) Ichizu

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

/* root
================================================================================*/
:root {
	--color-blue: #0082cd;
	--color-blue-dark: #165f98;
	--color-red: #e50012;
	--color-red-dark: #a80e20;
	--color-green: #009c45;
	--color-green-dark: #006934;
	--color-hover: #fff100;
	--color-hover-light: #fffdda;
	--color-warning: #f00;
}

/* reset
================================================================================*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, 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, 
main, footer, header, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	font-size: 100%;
	vertical-align: baseline;
}
main, article, aside, details, figcaption, figure,
footer, header, menu, nav, section { 
	display: block;
}
ul, ol {
	list-style: none;
}
input, select {
	vertical-align: middle;
}
input, button, textarea, select {
	outline: none;
}

/* iOSでのデフォルトスタイルをリセット
------------------------------------------------*/
[type="submit"],
[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;
	border: none;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	cursor: pointer;
}
[type="submit"]::-webkit-search-decoration,
[type="button"]::-webkit-search-decoration {
	display: none;
}
[type="submit"]::focus,
[type="button"]::focus {
	outline-offset: -2px;
}

/* general layout
================================================================================*/
/* html
------------------------------------------------*/
html {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 62.5%;
	overflow-y: scroll;
	-webkit-print-color-adjust: exact;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%; 
	-moz-osx-font-smoothing: grayscale;
}

/* body
------------------------------------------------*/
body {
	/* footer固定 */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	min-height: 100vh;
	
	margin: 0;
	padding: 0;
	background: #fff;
	color: #666;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	font-weight: 500;
	font-size: 1.6rem;
	font-style: normal;
	line-height: 1.8;
	word-spacing: 0;
	word-wrap: break-word;
	overflow-wrap : break-word;
	
	/* IE11 Google Material Icons表示 */
	text-rendering: optimizeLegibility;
    -webkit-font-kerning: normal;
    font-kerning: normal;               
    -webkit-font-variant-ligatures: common-ligatures contextual;               
    font-variant-ligatures: common-ligatures contextual;
    -webkit-font-feature-settings: "kern", "liga", "clig", "calt";
    font-feature-settings: "kern", "liga", "clig", "calt";
}

/* box-sizing
------------------------------------------------*/
*, *:before, *:after {
	-webkit-box-sizing: inherit;
	box-sizing: inherit;
}

/* a
------------------------------------------------*/
a {
	outline: 0;
	text-decoration: none;
	cursor: pointer;
	-webkit-transition: 0.6s linear;
	transition: 0.6s linear;
}
a:link {
	color: #444;
	text-decoration: none;
}
a:visited {
	color: #444;
	text-decoration: none;
}
a:hover, a:active {
	color: #444;
	text-decoration: none;
}
a:focus {
	outline: none;
}
a img {
	-webkit-transition: 0.6s linear;
	transition: 0.6s linear;
}
a:hover img {
	/* opacity: 1; */
}
a:active img {
	text-decoration: none;
}

/* font
------------------------------------------------*/
.fontSerif {
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}
.fontSansSerif {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}
.fontMaruFolk {
	font-family: "丸フォーク M",	"Maru Folk Medium", "Yu Gothic",Meiryo, sans-serif;
}
.en {
	font-family: 'Open Sans', sans-serif;
}
	
/* img
------------------------------------------------*/
img {
	max-width: 100%;
	max-height: 100%;
	height: auto;
	border: 0;
	line-height: 1;
	vertical-align: bottom;
}

/* text
------------------------------------------------*/
strong {
	font-weight: bold;
	font-size: 123.1%;
	font-style: normal;
}
em {
	color: #000;
	font-weight: bold;
	font-style: normal;
}
address {
	font-style: normal;
	display: block;
}
::-moz-selection {
	background: #fffdda;
	background: var(--color-hover-light);
	color: #000;
}
::selection {
	background: #fffdda;
	background: var(--color-hover-light);
	color: #000;
}

/* h1, h2, h3, h4
------------------------------------------------*/
h1, h2, h3 {
	color: #333;
	font-weight: bold;
	/* font-feature-settings: "palt"; */
	line-height: 1.6;
	/* letter-spacing: 0.01em; */
}

/* div, p
------------------------------------------------*/
div :last-child,
section :last-child,
li :last-child,
dd :last-child {
	margin-bottom: 0;
}
p {
	margin-bottom: 40px;
	line-height: 2;
	text-justify: auto;
	text-justify: inter-ideograph;
}

/* span
------------------------------------------------*/
span {
	font-weight: inherit;
}

/* dl
------------------------------------------------*/
dl {
	margin-bottom: 40px;
}

/* table
------------------------------------------------*/
table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: inherit;
	font: 100%;
	line-height: 1.6;
}
table th {
	padding: 12px 15px;
	border-bottom: 1px solid #eee;
	background: #fff;
	color: #333;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}
table td {
	padding: 12px 15px;
	border-bottom: 1px solid #eee;
	background: #fff;
	vertical-align: top;
}
table .nowrap {
	white-space: nowrap;
}

/* form
--------------------------------------*/
label {
	font-weight: inherit;
	cursor: pointer;
}
[type="text"],
[type="tel"],
[type="email"],
textarea,
select { 
	padding: 10px;
	border: 1px solid #0082cd;
	border: 1px solid var(--color-blue);
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
    font-size: 1.6rem !important;
}
textarea {
	line-height: 1.6;
}
[type="text"]:focus,
[type="tel"]:focus,
[type="email"]:focus,
textarea:focus,
select:focus {
	background: #fffdda;
	background: var(--color-hover-light);
}
[type="radio"] {
	display: inline-block;
	position: relative;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	margin-right: 10px;
	margin-top: -3px;
	border: 1px solid #0082cd;
	border: 1px solid var(--color-blue);
	-webkit-box-shadow: none;
	box-shadow: none;
	background-color: #fff;
	outline: none;
	vertical-align: middle;
}
[type="radio"]:after {
	content: "";
	display: none;
	width: 8px;
	height: 8px;
	background-color: #0082cd;
	background-color: var(--color-blue);
	position: absolute;
	left: 50%;
	top: 50%;
	margin-top: -4px;
	margin-left: -4px;
	border-radius: 100%;
}
[type="radio"] {
    border-radius: 100%;
}
[type="radio"]:checked:after {
    display: block;
}
[type="radio"] + label {
	margin-right: 40px;
}
[type="checkbox"] {
	position: relative;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 18px;
	height: 18px;
	margin-right: 10px;
	margin-top: -3px;
	border: 1px solid #0082cd;
	border: 1px solid var(--color-blue);
	-webkit-box-shadow: none;
	box-shadow: none;
	background-color: #fff;
	outline: none;
	vertical-align: middle;
}
[type="checkbox"]:after {
	content: "";
	display: none;
	width: 6px;
	height: 12px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-top: -8px;
	margin-left: -3px;
	border-bottom: 1px solid #0082cd;
	border-bottom: 1px solid var(--color-blue);
	border-right: 1px solid #0082cd;
	border-right: 1px solid var(--color-blue);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
[type="checkbox"]:checked:after {
	display: block;
}
::-webkit-input-placeholder {
  color: #ccc;
}
::-moz-placeholder {
  color: #ccc;
}
:-ms-input-placeholder {
  color: #ccc;
}
::-ms-input-placeholder {
  color: #ccc;
}
::placeholder {
  color: #ccc;
}


/* common rules
================================================================================*/
/* align ctrl
------------------------------------------------*/
.taR { text-align: right; }
.taC { text-align: center; }
.taL { text-align: left; }
.middle { vertical-align: middle; }
.bottom { vertical-align: bottom; }
.top { vertical-align: top; }

/* text
------------------------------------------------*/
.f-blue { color: #0082cd; color: var(--color-blue); }
.f-blueDark { color: #165f98; color: var(--color-blue-dark); }
.f-red { color: #e50012; color: var(--color-red); }
.f-redDark { color: #a80e20; color: var(--color-red-dark); }
.f-green { color: #009c45; color: var(--color-green); }
.f-greenDark { color: #006934; color: var(--color-green-dark); }
.f-primary { color: var(--color-primary); }
.f-primary-light { color:  var(--color-primary-light); }
.f-white { color: #fff; }
.f-bold { font-weight: bold; }
.f-plane { font-weight: normal; }

/* img float
------------------------------------------------*/
.floatL {
	float: left;
	margin: 0 20px 20px 0;
}
.floatR {
	float: right;
	margin: 0 0 20px 20px;
}
.floatL0 {
	float: left;
	margin: 0 20px 0 0;
}
.floatR0 {
	float: right;
	margin: 0 0 0 20px;
}

/* margin
------------------------------------------------*/
.bt0 {	margin-bottom: 0 !important }
.bt5 {	margin-bottom: 5px !important }
.bt10 {	margin-bottom: 10px !important }
.bt15 {	margin-bottom: 15px !important }
.bt20 {	margin-bottom: 20px !important }
.bt30 {	margin-bottom: 30px !important }
.bt40 {	margin-bottom: 40px !important }
.bt50 {	margin-bottom: 50px !important }
.bt60 {	margin-bottom: 60px !important }
.bt70 {	margin-bottom: 70px !important }
.bt80 {	margin-bottom: 80px !important }
.bt90 {	margin-bottom: 90px !important }
.bt100 { margin-bottom: 100px !important }


/* [hack] overflow
--------------------------------------*/
.overflow {
	_zoom: 1;
	overflow: hidden;
}

/* [hack] clear fix
--------------------------------------*/
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}

/* Material icons
--------------------------------------*/
.material-icons {
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	font-size: 2.4rem;
	display: inline-block;
	width: 1em;
	height: 1em;
	line-height: 1;
	text-transform: none;

	/* WebKit*/
	-webkit-font-smoothing: antialiased;
	/* Chrome、Safari*/
	text-rendering: optimizeLegibility;
	/* Firefox*/
	-moz-osx-font-smoothing: grayscale;

	/* IEサポート */
	-webkit-font-feature-settings: 'liga';
	font-feature-settings: 'liga';
}

/* サイズ調整する場合 */
.material-icons.md-18 { font-size: 1.8rem; }
.material-icons.md-24 { font-size: 2.4rem; }
.material-icons.md-30 { font-size: 3.0rem; }
.material-icons.md-36 { font-size: 3.6rem; }
.material-icons.md-48 { font-size: 4.8rem; }

/* 回転 */
.material-icons.rotate90 {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

/* 明るい背景でアイコンの色を暗くする場合 */
.material-icons.md-dark { color: rgba(0, 0, 0, 0.54); }
.material-icons.md-dark.md-inactive { color: rgba(0, 0, 0, 0.26); }

/* 暗い背景でアイコンの色を明るくする場合 */
.material-icons.md-light { color: rgba(255, 255, 255, 1); }
.material-icons.md-light.md-inactive { color: rgba(255, 255, 255, 0.3); }