@charset "UTF-8";

/************************************************

baseStyle_v1-0-1

Create:2020/05/14
Update:2020/05/14


●BEM記法をベースとした命名規則

・親子関係（block、element）は「アンダーバー」でつなぐ

（例）
.block_element-modifier


・バリエーション違い（Modifier)は「ハイフン」でつなぐ

（例）
.block-modifier-modifier
または
.block_element-modifier-modifier


・親子関係は孫まで。3階層以上になる場合、新たにブロック名を検討すること

（例）
.block_element_element-modifier


・命名時の単語が2語以上の場合、ローワーキャメルケースを使う

（例）
.block_childElement-modifier

*************************************************/
/*-----------------------------------------------
スタイル初期化
-----------------------------------------------*/
*{
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

html{
	font-size: 62.5%; /*font-size: 10px*/
}

body{
	font-size: 1.6rem; /*font-size: 16px*/
/*	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
/*	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', "游ゴシック", 'Meiryo', 'メイリオ', 'MS PGothic', 'ＭＳ Ｐゴシック', Helvetica, Arial, sans-serif;*/
/*	font-weight: 500;*/
	text-align: justify;
	-webkit-text-size-adjust: 100%;
	line-height: 1.5;
}

/*見出し*/
h1, h2, h3, h4, h5, h6{
	font-weight: normal;
}

/*テーブル*/
table{
	border-collapse: collapse;
	border-spacing: 0;
}

/*リスト*/
ol, ul{list-style: none;}

/*リンク*/
a{
	outline: none;
	text-decoration: none;
	cursor: pointer;
	user-select: none;
	-webkit-tap-highlight-color:rgba(0,0,0,.15);
}

@media ( min-width : 980px ){
	a[href^="tel:"] {
		pointer-events: none;
	}
	a:hover,a:hover img{
		opacity: .75;
	}
}

img{
	width: 100%;
	max-width: 100%;
	height: auto;
	border-style: none;
	vertical-align: bottom;
}

/*印刷用*/
@page {
	size: A4 portrait;
	margin: 12.7mm 9.7mm;
}

@media print{
	body{
		color: #000;
		font-size: 10pt;
		line-height: 1.5;
		-webkit-print-color-adjust: exact;/*chrome用　印刷プレビューで背景色表示*/
	}
}

/*-----------------------------------------------
input系
-----------------------------------------------*/
input::placeholder,
textarea::placeholder{
	color: #b1b1b1;
}

/* IE */
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
	color: #b1b1b1;
}

button, input, select, textarea {
	font-family: inherit;
	font-size: 100%;
}

input[type="text"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="email"],
input[type="password"],
select,
textarea{
	display: inline-block;
	width: 100%;
	padding: .5em;
	font-size: 1.6rem;
	background: #fafafa;
	border: 1px solid #ddd;
	border-radius: 3px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

/*ie用セレクト右矢印非表示*/
select::-ms-expand {
	display: none;
}

select{
	cursor: pointer;
}

/* サブミット&ボタン */
input[type="submit"],
input[type="button"],
button{
	border: none;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline:0;
}

/*-----------------------------------------------
グリッド関連
-----------------------------------------------*/
.container{
	width: 100%;
	padding: 0 8px;
	margin-right:auto;
	margin-left:auto;
}

.row{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-right: -8px;
	margin-left: -8px;
}

[class^="col-"]{
	padding: 8px;
}

.col-1{
	-ms-flex: 0 0 8.333333%;
	flex: 0 0 8.333333%;
	max-width: 8.333333%;
}

.col-2{
	-ms-flex: 0 0 16.666667%;
	flex: 0 0 16.666667%;
	max-width: 16.666667%;
}

.col-3{
	-ms-flex: 0 0 25%;
	flex: 0 0 25%;
	max-width: 25%;
}

.col-4{
	-ms-flex: 0 0 33.333333%;
	flex: 0 0 33.333333%;
	max-width: 33.333333%;
}

.col-5{
	-ms-flex: 0 0 41.666667%;
	flex: 0 0 41.666667%;
	max-width: 41.666667%;
}

.col-6{
	-ms-flex: 0 0 50%;
	flex: 0 0 50%;
	max-width: 50%;
}

.col-7{
	-ms-flex: 0 0 58.333333%;
	flex: 0 0 58.333333%;
	max-width: 58.333333%;
}

.col-8{
	-ms-flex: 0 0 66.666667%;
	flex: 0 0 66.666667%;
	max-width: 66.666667%;
}

.col-9{
	-ms-flex: 0 0 75%;
	flex: 0 0 75%;
	max-width: 75%;
}

.col-10{
	-ms-flex: 0 0 83.333333%;
	flex: 0 0 83.333333%;
	max-width: 83.333333%;
}

.col-11{
	-ms-flex: 0 0 91.666667%;
	flex: 0 0 91.666667%;
	max-width: 91.666667%;
}

.col-12{
	-ms-flex: 0 0 100%;
	flex: 0 0 100%;
	max-width: 100%;
}

/*980pxから PC用*/
@media print, ( min-width : 980px ){
	.container{
		width: 960px;
	}

	.col-lg-1{
		-ms-flex: 0 0 8.333333%;
		flex: 0 0 8.333333%;
		max-width: 8.333333%;
	}
	.col-lg-2{
		-ms-flex: 0 0 16.666667%;
		flex: 0 0 16.666667%;
		max-width: 16.666667%;
	}
	.col-lg-3{
		-ms-flex: 0 0 25%;
		flex: 0 0 25%;
		max-width: 25%;
	}
	.col-lg-4{
		-ms-flex: 0 0 33.333333%;
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}
	.col-lg-5{
		-ms-flex: 0 0 41.666667%;
		flex: 0 0 41.666667%;
		max-width: 41.666667%;
	}
	.col-lg-6{
		-ms-flex: 0 0 50%;
		flex: 0 0 50%;
		max-width: 50%;
	}
	.col-lg-7{
		-ms-flex: 0 0 58.333333%;
		flex: 0 0 58.333333%;
		max-width: 58.333333%;
	}
	.col-lg-8{
		-ms-flex: 0 0 66.666667%;
		flex: 0 0 66.666667%;
		max-width: 66.666667%;
	}
	.col-lg-9{
		-ms-flex: 0 0 75%;
		flex: 0 0 75%;
		max-width: 75%;
	}
	.col-lg-10{
		-ms-flex: 0 0 83.333333%;
		flex: 0 0 83.333333%;
		max-width: 83.333333%;
	}
	.col-lg-11{
		-ms-flex: 0 0 91.666667%;
		flex: 0 0 91.666667%;
		max-width: 91.666667%;
	}
	.col-lg-12{
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}
}

/*-----------------------------------------------
汎用ボックス
-----------------------------------------------*/
.inBox{
	height: 100%;
	padding: 8px;
	border: 1px solid #e5e5e5;
	background: #fff;
}

/*-----------------------------------------------
フレックスボックス 折り返えす
-----------------------------------------------*/
/*左端配置（初期値）*/
.flexWrap{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

/*右端配置*/
.flexWrap-End{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}

/*中央配置*/
.flexWrap-Center{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

/*アイテム均等配置 最初と最後を両端寄せ*/
.flexWrap-Between{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

/*アイテム均等配置 アイテムの両側に半分の大きさの間隔を置く*/
.flexWrap-Around{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

.flexWrap-Evenly{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
}

/*-----------------------------------------------
フレックスボックス 折り返えさない
-----------------------------------------------*/
/*左端配置（初期値）*/
.flexNoWrap{
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
}

/*右端配置*/
.flexNoWrap-End{
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
}

/*中央配置*/
.flexNoWrap-Center{
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
}

/*アイテム均等配置 最初と最後を両端寄せ*/
.flexNoWrap-Between{
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}

/*アイテム均等配置 最初と最後の両端にも間隔空ける*/
.flexNoWrap-Around{
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-around;
}

.flexNoWrap-Evenly{
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-evenly;
}

/*-----------------------------------------------
フレックスボックスの子要素
-----------------------------------------------*/
/*子要素の垂直方向の位置(rowの場合、vertical-align的な動き、columnの場合、text-align的な動き)*/
.alignItemsCenter{
	align-items: center;
}

.alignItemsEnd{
	align-items: flex-end;
}

/*縦並び*/
.column{
	flex-direction: column;
}

/*-----------------------------------------------
float
-----------------------------------------------*/
.float-left{float: left;}

.float-right{float: right;}

.cf:after{
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

/*-----------------------------------------------
マージン
-----------------------------------------------*/
.m-0a{margin: 0 auto;}

.m-8a{margin: 8px auto;}

.m-16a{margin: 16px auto;}

.m-24a{margin: 24px auto;}

.m-32a{margin: 32px auto;}

.m-t8{margin-top: 8px;}

.m-t16{margin-top: 16px;}

.m-t24{margin-top: 24px;}

.m-t32{margin-top: 32px;}

.m-t48{margin-top: 48px;}

.m-b8{margin-bottom: 8px;}

.m-b16{margin-bottom: 16px;}

.m-b24{margin-bottom: 24px;}

.m-b32{margin-bottom: 32px;}

.m-b48{margin-bottom: 48px;}

/*-----------------------------------------------
パディング
-----------------------------------------------*/
.p-8{padding: 8px;}

.p-16{padding: 16px;}

.p-24{padding: 24px;}

.p-tb8{padding: 8px 0;}

.p-tb16{padding: 16px 0;}

.p-tb24{padding: 24px 0;}

.p-lr8{padding: 0 8px;}

.p-lr16{padding: 0 16px;}

.p-lr24{padding: 0 24px;}

/*-----------------------------------------------
見出し
-----------------------------------------------*/
.ttl{
	padding: .5em 0;
	font-weight: bold;
}

.ttl-xxl{
	font-size: 3.2rem;
}

.ttl-xl{
	font-size: 2.4rem;
}

.ttl-lg{
	font-size: 1.8rem;
}

.ttl-md{
	font-size: 1.6rem;
}

.ttl-sm{
	font-size: 1.4rem;
}

.ttl-xs{
	font-size: 1.2rem;
}

.ttl-leftMarkBorderBottom{
	width: 100%;
	height: 40px;
	line-height: 40px;
	margin: 16px auto;
	padding: 0 0 0 16px;
	font-weight: bold;
	border-bottom: 1px solid #e5e5e5;
	position: relative;
}

.ttl-leftMarkBorderBottom:before{
	position: absolute;
	top: 10px;
	left: 0;
	display: block;
	content: "";
	width: 6px;
	height: 20px;
	margin-right: 8px;
	background: #d0d0d0;
	border-radius: 16px;
}

/*-----------------------------------------------
リスト
-----------------------------------------------*/
.list{
	border:1px solid #e5e5e5;
}

.list_item{
	padding: .5em 12px;
	border-bottom:1px solid #e5e5e5;
}

.list_item:last-child{
	border:none;
}

/*-----------------------------------------------
クロスフェードリスト用(ボタン交互に表示系)
-----------------------------------------------*/
/*配置用BOX ※サイズ・位置はダミー*/

.crossFade{
	position: relative;
		width: 120px;
	height: 120px;
	margin: 16px auto;
}

.crossFade_item{
	position: absolute;
	top: 0;
	left: 0;
}

.crossFade_item:first-child{
	z-index: 999;
}

/*---------------------------------------------------
ハンバーガーメニュー
---------------------------------------------------*/
#hamburger-menu{
	position: absolute;
	position: fixed;
	top:8px;
	right:8px;
	width: 48px;
	height: 48px;
	z-index: 999;
	transition: all 1s;
	cursor: pointer;
}

#hamburger-menu.is-opened{
	position: fixed;
}

@media ( min-width : 980px ){
	#hamburger-menu{
		display: none !important;
	}
}

/*バー部分*/
.hamburger-line{
	display: block;
	width: 40px;
	height: 3px;
	margin: 6px auto;
	background: #525252;
	border-radius: 1.5px;
	transition: all .5s;
}

#hamburger-menu.is-opened .hamburger-line:nth-of-type(1){
	transform: rotate(45deg) translate(5px, 5px);
}

#hamburger-menu.is-opened .hamburger-line:nth-of-type(2){
	opacity: 0;
}

#hamburger-menu.is-opened .hamburger-line:nth-of-type(3){
	transform: rotate(-45deg) translate(8px, -8px);
}

/*バー下の文字*/
.hamburger-text{
	color: #525252;
	font-size: 1.2rem;
	text-align: center;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
		user-select: none;
}

/*Close 初期非表示*/
.hamburger-text.colse{
	display: none;
}

/*Close　メニューオープン中表示*/
#hamburger-menu.is-opened .hamburger-text.colse{
	display: block;
}

/*menu　メニューオープン中非表示*/
#hamburger-menu.is-opened .hamburger-text.menu{
	display: none;
}

/*ハンバーガーメニュー表示時の背景スクロール禁止*/
.noScroll{
	width: 100%;
	height: 100%;
	position: fixed;
}

/*-----------------------------------------------
ナビゲーション
-----------------------------------------------*/
#navi{
	background:#afafaf;
}

/*スライドトグルパターン*/
#navi.typeSlideToggle{
	display: none;
}

/*ドロワーメニュー右側パターン*/
#navi.typeDrawerRight{
	position: fixed;
	top:0;
	right: -300px;
	width: 300px;
/*	height: 100vh;*/
	height: 100%;
	z-index: 998;
}

/*ドロワーメニュー左側パターン*/
#navi.typeDrawerLeft{
	position: fixed;
	top:0;
	left: -300px;
	width: 300px;
	height: 100vh;
	z-index: 9998;
}

/*全画面オーバーレイパターン*/
#navi.typeOverlay{
	background: #ff9d93;
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 998;
	display: none;
	overflow-y: scroll;
	-ms-overflow-style: none;    /* IE, Edge 対応 */
	scrollbar-width: none;       /* Firefox 対応 */
}

#navi.typeOverlay::-webkit-scrollbar{  /* Chrome, Safari 対応 */
	display:none;
}

.naviList_item{
	width:100%;
}

.naviList_item_link{
	display: block;
	padding: .5em;
}

@media ( min-width : 980px ){
	/*PCで横並びナビゲーションの場合*/
	#navi.pcHorizontalNavi{
		position: relative;
		top: 0;
		left: 0 !important;
		width: 100%;
		height: auto;
		padding: 0 !important;
		display: block !important;
		/*typeSlideToggle利用時はコメントアウト*/
	}

	#navi.pcHorizontalNavi .naviList{
		display: flex;
		justify-content: center;
		margin: 0 auto;
	}

	#navi.pcHorizontalNavi .naviList_item{
		width: 20%;
		text-align: center;
	}

	.naviList_item_link:hover{
		opacity: .75;
	}

	.noScroll{
		position: relative;
	}

	.overlay{
		display: none;
	}
}


/*-----------------------------------------------
矢印付きリンク
-----------------------------------------------*/
.link-leftArrow,.link-rightArrow{
	display: block;
	position: relative;
}

.link-leftArrow{
	padding-left: 24px;
}

.link-leftArrow:after,.link-rightArrow:after{
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - 4px);
	width: 8px;
	height: 8px;
	border-top: 1px solid #7f8499;
	border-right: 1px solid #7f8499;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.link-leftArrow:after{
	left: 0px;
}

.link-rightArrow:after{
	right: 12px;
}

/*-----------------------------------------------
テキストリンク
-----------------------------------------------*/
.textLink{
	text-decoration: underline;
}

@media ( min-width : 980px ){
	.textLink:hover{
		opacity: .75;
	}
}

/*-----------------------------------------------
ボタン
-----------------------------------------------*/
.btn{
	display: block;
	width: 60%;
	margin: 32px auto 16px;
	padding: .5em;
	text-align: center;
	font-weight: bold;
	border-radius: 4px;
}

@media ( min-width : 980px ){
	.btn:hover{
		opacity: .75;
	}
}

.btn-cancel{
	background: #ddd;
}

#scrollToTop{
	position: fixed;
	right: 8px;
	bottom: 120px;
	font-size: 4rem;
	cursor: pointer;
}

.horizontalBtnBox{
	display: flex;
	justify-content: center;
	align-items: center;
}

.horizontalBtnBox .btn{
	width: 48%;
}

/*-----------------------------------------------
パンくず
-----------------------------------------------*/
.breadCrumb{
	padding: 16px 0;
}

.breadCrumb_item{
	display: inline;
	font-size: 1.3rem;
}

.breadCrumb_item a{
	display: inline;
	padding-right: 8px;
	text-decoration: underline;
}

.breadCrumb_item a:after{
	content: "\f054";
	font-family: "Font Awesome 5 Free","Font Awesome 5 Brands";
	font-weight: 900;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	margin-left: 4px;
}

/*-----------------------------------------------
ページング
-----------------------------------------------*/
.pageCount{
	margin-bottom: 8px;
	font-weight: normal;
	font-size: 1.2rem;
	text-align: right;
	color: #a5a5a5;
}

.pagination{
	margin: 16px auto;
	letter-spacing: -.4em;
	text-align: center;
}

.pagination_item{
	letter-spacing: normal;
	display: inline-block;
	width: 16%;
	height: 32px;
	line-height: 32px;
	margin: 0 2px;
}

.pagination_item.nowPage{
	color:#fff;
	background: #b1e1e3;
}

.pagination_item_link{
	display: block;
	font-weight: normal;
	text-align: center;
	color: #a5a5a5;
	background: #f7f7f7;
}


/*-----------------------------------------------
スクロール可能table
-----------------------------------------------*/
.table-scrollable{
	display: block;
	background: #fff;
	border: 1px solid #e5e5e5;
}

.table-scrollable th,
.table-scrollable td{
	height: 40px;
	line-height: 40px;
	text-align: center;
	font-size: 1.3rem;
	border-right: 1px solid #e5e5e5;
	border-bottom: 1px solid #e5e5e5;
	vertical-align: middle;
}

.table-scrollable thead{
	display: block;
	float:left;
}

.table-scrollable thead th{
	display: block;
	width: 130px;
	font-weight: normal;
}

.table-scrollable thead th:last-child{
	border-bottom: none;
}

.table-scrollable .headline{
	background: #f4f4f4;
}

.table-scrollable tbody{
	display: block;
	white-space: nowrap;
	overflow-y: scroll;
-webkit-overflow-scrolling: touch;
}

.table-scrollable tbody td{
	display: inline-block;
	width: 40px;
}

.table-scrollable tbody tr:last-child td{
	border-bottom: none;
}

/*---------------------------------------------------
フォームレイアウト関連
---------------------------------------------------*/
.formBox{
	padding: 16px;
}

/*フォーム上部のタイトル*/
.formBox_ttl{
	margin: 0 auto 24px;
	padding: 16px 8px;
	font-size: 1.6rem;
	text-align: center;
	background: #fff8ea;
	border-radius: 8px;
}

/*フォーム内各行*/
.formBox_row{
	margin-bottom: 16px;
	position: relative;
}

/*各項目名*/
.formBox_row_item{
	display: inline-block;
	color: #888;
	font-size: 1.3rem;
	margin-bottom: 8px;
	padding: .5em 0;
}

/*各種項目名アイコン*/
.formBox_row_item:before{
	font-family: "Font Awesome 5 Free","Font Awesome 5 Brands";
	font-weight: 900;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	margin: 0 8px;
	content: '\f138';
	transform: rotate(90deg);
}

/*---------------------------------------------------
フォーム入力関連
---------------------------------------------------*/
/*ラジオボタン 不可視化*/
.formBox input[type="radio"],
.formBox input[type="checkbox"]{
	display: none;
}

/*ラジオボタンの代替要素*/
.altRadioBtn{
	padding: 8px 0;
	font-size: 1.5rem;
	text-align: center;
	background: #fafafa;
	border: 1px solid #ddd;
	border-radius: 3px;
	cursor: pointer;
}

/*性別ボタン*/
.altRadioBtn.male,
.altRadioBtn.female{
	width: 48%;
}

/*血液型ボタン*/
.altRadioBtn.bloodType{
	width: 24%;
}

/*婚姻暦ボタン*/
.altRadioBtn.maritalHistory{
	width: 32%;
}

/*女性選択色*/
input[type="radio"]#female:checked + .altRadioBtn{
	color: #fff;
	background-color: #ef5b8e;
}

/*男性選択色*/
input[type="radio"]#male:checked + .altRadioBtn{
	color: #fff;
	background-color: #4b97b9;
}

/*血液型選択色*/
input[type="radio"].inputItem-bloodType:checked + .altRadioBtn{
	color: #fff;
	background-color: #f24a4a;
}

/*婚姻暦選択色*/
input[type="radio"].inputItem-maritalHistory:checked + .altRadioBtn{
	color: #fff;
	background-color: #a66bcb;
}

/*生年月日のセレクト*/
.inputItem-year,
.inputItem-month,
.inputItem-day{
	max-width: 32%; /*ie用 padding設定時、box-sizing:border-boxが効かない対策*/
	flex-basis: 32%;
}

/*チェックボックスの代替要素*/
.altCheckBox{
	display: block;
	width: 32%;
	margin-bottom: 16px;
	padding: 0 0 0 24px;
	vertical-align: middle;
	cursor: pointer;
	-webkit-transition: background-color 0.2s linear;
	transition: background-color 0.2s linear;
	position: relative;
}

/*pc*/
@media screen and ( min-width : 980px ){
	.altCheckBox{
		width: 160px;
	}
	.altCheckBox:hover{
		opacity: .75;
	}
}

/*チェックボックス枠*/
.altCheckBox:after{
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	content: '';
	width: 16px;
	height: 16px;
	margin-top: -10px;
	border: 2px solid #e5e5e5;
	border-radius: 4px;
}

/*チェックマーク*/
.altCheckBox:before{
	position: absolute;
	top: 50%;
	left: 6px;
	display: block;
	content: '';
	margin-top: -7px;
	width: 5px;
	height: 9px;
	border-right: 3px solid #00b98e;
	border-bottom: 3px solid #00b98e;
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	transition: opacity 0.2s linear;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*チェックマーク チェック時に表示*/
input[type="checkbox"].inputItem-week:checked + .altCheckBox:before{
	opacity: 1;
}

input[type="checkbox"].inputItem-week:checked + .altCheckBox:after{
	border: 2px solid #00b98e;
}

input[type="checkbox"].inputItem-week:checked + .altCheckBox{
	color: #00b98e;
	font-weight: bold;
}

/* テキストエリア */
.formBox textarea{
	height: 128px;
	overflow-y: scroll;
}

.limit{
	font-size: 1.2rem;
	font-weight: normal;
	text-align: right;
	color: #888;
}

/*エラー吹き出し*/
.errorMsg{
	padding: 0 16px;
	min-width: 33%;
	height: 25px;
	line-height: 25px;
	font-size:1.2rem;
	text-align: center;
	font-weight: normal;
	color: #fff;
	background: #f52828;
	border-radius: 2px;
	position:absolute;
	top: 4px;
	right: 0;
	display: none;
}

.completedMsg{
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
}

.site_domain{
	margin: 16px auto;
	padding: .8em;
	text-align: center;
	font-weight:bold;
	font-size: 1.6rem;
	background: #fafafa;
	border:1px solid #e5e5e5;
	border-radius: 4px;
	-webkit-user-select:all;
	user-select:all;
}

/*-----------------------------------------------
その他
-----------------------------------------------*/
/*AOS利用時*/
.forAos{
	overflow: hidden;
}

/*PC非表示*/
@media ( min-width : 980px ){
	.hide-pc{
		display:none;
	}
}

/*SP非表示*/
@media ( max-width :979px){
	.hide-sp{
		display:none;
	}
}

/*-----------------------------------------------
テキスト関連
-----------------------------------------------*/
.textHide{
	text-indent: 150%;
	white-space: nowrap;
	overflow: hidden;
}

.text-center{
	text-align: center;
}

.text-left{
	text-align: left;
}

.text-right{
	text-align: right;
}

.text-bold{
	font-weight: bold;
}

.fontSize-10{
	font-size: 1rem;
}

.fontSize-11{
	font-size: 1.1rem;
}

.fontSize-12{
	font-size: 1.2rem;
}

.fontSize-13{
	font-size: 1.3rem;
}

.fontSize-14{
	font-size: 1.4rem;
}

.fontSize-15{
	font-size: 1.5rem;
}

/*コピーライト*/
.copyright{
	width: 100%;
	padding: 3.5em 0;
	text-align: center;
	font-size: 1.2rem;
}

/*注釈系*/
.memo{
	margin: 8px auto;
	padding: .4em;
	font-size: 1.2rem;
	font-weight: normal;
	background: #fafafa;
	border: 1px solid #e5e5e5;
	border-radius: 4px;
}

.text-caution{
	color:#f00;
}

/*-----------------------------------------------
Font Awesome アイコン
-----------------------------------------------*/
.icn_fa:before{
	font-family: "Font Awesome 5 Free","Font Awesome 5 Brands";
	font-weight: 900;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}

/*ホーム*/
.icn_home:before{ content:'\f015'; }

/*カメラ*/
.icn_camera:before{ content:'\f030'; }

/*歯車*/
.icn_cog:before{ content:'\f085'; }

/*メール*/
.icn_mail:before{ content:'\f0e0'; }

/*メール四角枠*/
.icn_mail_sq:before{ content:'\f199'; }

/*携帯*/
.icn_mob:before{ content:'\f3cd'; }

/*電話*/
.icn_tel:before{ content:'\f095'; }

/*送信*/
.icn_send:before{ content:'\f1d8'; }

/*リンク*/
.icn_link:before{ content:'\f0c1'; }

/*パソコン*/
.icn_pc:before{ content:'\f108'; }

/*カレンダー*/
.icn_days:before{ content:'\f073'; }

/*電卓*/
.icn_cal:before{ content:'\f1ec'; }

/*鉛筆*/
.icn_memo:before{ content:'\f303'; }

/*マップ*/
.icn_map:before{ content:'\f3c5'; }

/*コメント*/
.icn_come:before{ content:'\f27a'; }

/*四角ペン*/
.icn_pencil:before{ content:'\f044'; }

/*サイトマップ*/
.icn_sitemap:before{ content:'\f0e8'; }

/*いいね*/
.icn_good:before{ content:'\f164'; }

/*コード*/
.icn_code:before{ content:'\f1c9'; }

/*ギフト*/
.icn_gift:before{ content:'\f06b'; }

/*人々*/
.icn_users:before{ content:'\f0c0'; }

/*人*/
.icn_user:before{ content:'\f007'; }

/*人（丸枠）*/
.icn_user-circle:before{ content:'\f2bd'; }

/*鍵*/
.icn_lock:before{ content:"\f023"; }

/*テキストファイル*/
.icn_file:before{ content:'\f15c' }

/*円マーク*/
.icn_yen:before{ content:'\f157'; }

/*二重丸*/
.icn_dot:before{ content:'\f192'; }

/*リスト*/
.icn_list:before{ content:"\f03a"; }

/*リスト（番号付き）*/
.icn_list_ol:before{ content:"\f0cb"; }

/*虫眼鏡*/
.icn_search:before{ content:"\f002"; }

/*スピン*/
.icn_spin:before{ content:"\f110"; }

/*電話*/
.icn_phone:before{ content:"\f2a0"; }

/*電話四角枠*/
.icn_phone_sq:before{ content:"\f098"; }

/*前へ*/
.icn_prev:before{ content:"\f100"; }

/*次へ*/
.icn_next:before{ content:"\f101"; }

/*ツイッター*/
.icn_tw:before{ content:"\f099"; }

/*フェイスブック*/
.icn_fb:before{ content:"\f39e"; }

/*フォーク＆ナイフ*/
.icn_utensils:before{ content:"\f2e7"; }

/*グラス*/
.icn_glass:before{ content:"\f000"; }

/*タグ*/
.icn_tag:before{ content:"\f02b"; }

/*前へ*/
.icn_prev:before{ content:"\f100"; }

/*次へ*/
.icn_next:before{ content:"\f101"; }

/*男性*/
.icn_male:before{ content:'\f183'; }

/*女性*/
.icn_female:before{ content:'\f182'; }

/*星*/
.icn_star:before{ content:'\f005'; }

/*月*/
.icn_moon:before{ content:'\f186'; }

/*ハート*/
.icn_heart:before{ content:'\f004'; }

/*エクスクラメーション*/
.icn_excla:before{ content:'\f06a'; }

/*クエスチョン*/
.icn_question:before{ content:'\f059'; }

/*お知らせ*/
.icn_info:before{ content:'\f05a'; }

/*グラフ*/
.icn_chart:before{ content:'\f080'; }

/*クレジットカード*/
.icn_credit:before{ content:'\f09d'; }

/*ポイント*/
.icn_pt:before{ content:'\f288'; }

/*コイン*/
.icn_coin:before{ content:'\f1f9'; }

/*三本バー*/
.icn_bars:before{ content:'\f0c9'; }

/*ベル*/
.icn_bell:before{ content:'\f0f3'; }

/*プロフィール*/
.icn_prof:before{ content:'\f2bb'; }

/*イメージ*/
.icn_images:before{ content:'\f302'; }

/*履歴*/
.icn_history:before{ content:'\f1da'; }

/*口座*/
.icn_bank:before{ content:'\f09d'; }

/*ログアウト*/
.icn_logout:before{ content:'\f2f5'; }

/*チェックマーク*/
.icn_check:before{ content:'\f00c'; }

/*右二重矢印*/
.icn_double_right_arrow:before{ content:'\f101'; }

/*上向き矢印*/
.icn_arrow_up:before{ content:'\f062'; }

/*ランキング*/
.icn_rank:before{ content:'\f43f'; }

/*上向き矢印*/
.icn_arrow_up:before{ content:'\f062'; }

/*マイナス*/
.icn_minus:before{ content:'\f068'; }

/*バツ*/
.icn_times_circle:before{ content:'\f057'; }

/*チェック丸型*/
.icn_check_circle:before{ content:'\f058'; }


