@charset "utf-8";

*{ box-sizing:border-box; }

button,label{ cursor:pointer; }

img{
	max-width:100%;
	height:auto;
}

/*------------------------ 分類：表示、非表示系------------------------*/
.pc-hidden{ display:none !important; }
.sp-hidden{ display:block !important; }

.pc-hidden-inline{ display:none !important; }
.sp-hidden-inline{ display:inline !important; }

.pc-hidden-inline-block{ display:none !important; }
.sp-hidden-inline-block{ display:inline-block !important; }

@media screen and (max-width:768px){
	.pc-hidden{ display:block !important; }
	.sp-hidden{ display:none !important; }
	
	.pc-hidden-inline{ display:inline !important; }
	.sp-hidden-inline{ display:none !important; }
	
	.pc-hidden-inline-block{ display:inline-block !important; }
	.sp-hidden-inline-block{ display:none !important; }
}

/*------------------------ 分類：レイアウト系 ------------------------*/
.m-inner{
	width:100%;
	max-width:950px;
	margin:0 auto;
}
@media screen and (max-width:768px){
	.m-inner{
		padding:0 10px;
	}
}

/*------------------------ MV、ページタイトル ------------------------*/
.m-mv{
	width:100%;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	height:400px;
	position:relative;
	margin:0 0 50px;
}
@media screen and (max-width:768px){
	.m-mv{
		background-size:cover;
		height:300px;
		position:relative;
		margin:0 0 125px;
	}
}

/* MVサイズ */
.m-mv-L{
	height:700px;
}
.m-mv-S{
	height:125px;
	background-image:none !important;
}
@media screen and (max-width:768px){
	.m-mv{
		height:150px;
		margin-bottom:50px;
	}
	.m-mv-L{
		height:400px;
	}
	.m-mv-S{
		height:100px;
	}
}

/* タイトルボックス */
.m-mv-ttl{
	width:100%;
	position:absolute;
	left:0;
	bottom:0;
	z-index:5555;
}
.m-mv-ttl-inner{
	width:100%;
	padding: 30px 10px;
	margin:0 auto;
	background-color: #fff;
	text-align: center;
}
.m-mv-ttl-inner-main{
	font-size:20px;
	font-weight:bold;
	padding:0 0 15px;
	margin:0 0 25px;
	background-image:url("../images/bg_pagettl.png");
	background-repeat:no-repeat;
	background-position:center bottom;
}
@media screen and (max-width:768px){
	
	.m-mv-ttl-inner{
		padding:15px;
	}
	.m-mv-ttl-inner-main{
		padding:0 0 15px;
		margin:0 0 25px;
		background-image:url("../images/bg_pagettl.png");
		background-repeat:no-repeat;
		background-position:center bottom;
	}
}


/* パンくずリスト */
.m-mv .l-title-path{
	text-align:right;
	padding:20px 0 0;
}
.m-mv .l-title-path li{
	display:inline-block;
}
.m-mv .l-title-path li a{
	color:#333;
}

/*------------------------ 頻用パーツ ------------------------*/


/*------------------------ 見出し系 ------------------------*/
/* 見出し（大） */
.m-bh{
	font-size:20px;
	text-align:center;
	font-weight:bold;
	padding:0 120px 15px;
	margin:0 0 30px;
	background-image:url("../images/bg_bh.png");
	background-repeat:no-repeat;
	background-size:100px 1px;
	background-position:center bottom;
}
@media screen and (max-width:768px){
	.m-bh{
		font-size:18px;
		padding:0 10px 15px;
	}
}

/* 見出し（中） */
.m-mh{
	font-size:18px;
	font-weight:bold;
	padding:0 0 0 45px;
	margin:0 0 30px;
	background-image:url("../images/bg_mh.png");
	background-repeat:no-repeat;
	background-size:30px 6px;
	background-position:left center;
}
.m-mh span{
	font-size:15px;
	padding:0 0 0 10px;
}
@media screen and (max-width:768px){
	.m-mh{
		font-size:17px;
	}
	.m-mh span{
		display:block;
		padding:0;
	}
}

/* 見出し（小） */
.m-sh{
	font-size:17px;
	font-weight:bold;
	padding:0 0 0 25px;
	margin:0 0 30px;
}
@media screen and (max-width:768px){
	.m-sh{
		font-size:16px;
	}
}

/*------------------------ テキスト系 ------------------------*/
/* 通常テキスト */
.m-inner p{
	line-height:2.0em;
	padding:0 30px;
	margin:0 0 30px;
}
@media screen and (max-width:768px){
	.m-inner p{
		padding:0 10px;
		font-size:14px;
	}
}

/*------------------------ リスト系 ------------------------*/
/* リスト */
.m-list{
	padding:0 30px;
	margin:0 0 30px;
}
.m-list li{
	background-image:url("../images/icn_list.png");
	background-size:6px 12px;
	background-repeat:no-repeat;
	background-position:left center;
	padding:0 0 0 15px;
	margin:0 0 10px;
}
.m-list li a{
	text-decoration:none;
	color:#333;
}
.m-list li a:hover{
	text-decoration:underline;
}
@media screen and (max-width:768px){
	.m-list{
		padding:0 10px;
	}
}

/*------------------------ テーブル系 ------------------------*/
/* テーブル */
.m-tbl{
	width:100%;
	margin:0 0 30px;
	background-color:#fff;
}
.m-tbl th,
.m-tbl td{
	border:1px solid #7d7d7d;
	padding:15px;
}
.m-tbl th{
	font-weight:bold;
	vertical-align:top;
	background-color:#d0e8ec;
}
@media screen and (max-width:768px){
	.m-tbl{
		border-left:1px solid #7d7d7d;
		border-right:1px solid #7d7d7d;
		border-bottom:1px solid #7d7d7d;
	}
	.m-tbl th,
	.m-tbl td{
		display:block;
		padding:10px;
		border:none !important;
	}
	.m-tbl th{
		border-top:1px solid #7d7d7d !important;
	}
}

/* フォーム用テーブル */
.m-tbl.m-tbl-form th{
	width:200px;
	text-align:left;
}

@media screen and (max-width:768px){
	.m-tbl.m-tbl-form th{
		width:100%;
	}
}

/*------------------------ フォーム系 ------------------------*/

/* 必須 */
.m-form-must{
	color:#a40035;
}

/* inputタグ */
.m-tbl input[type="text"],
.m-tbl textarea,
.m-tbl select{
	border:1px solid #ddd;
	width:100%;
	padding:10px;
	border-radius:5px;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.m-tbl select{
	cursor:pointer;
}

.m-tbl textarea{
	min-height:75px;
	resize:vertical;
}

.m-tbl label{
	display:inline-block;
	padding-right:30px;
}
@media screen and (max-width:768px){
	.m-tbl label{
		display:block;
		padding-right:0;
	}
}

/*------------------------ 導入系 ------------------------*/
.m-intro{
	display:table;
	width:100%;
	margin:0 0 30px;
	table-layout: fixed;
}
.m-intro-box{
	display:table-cell;
	width:50%;
	vertical-align:middle;
	
}
.m-intro p{
	font-family:"游明朝体", "Yu Mincho", YuMincho, "Sawarabi Mincho","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	font-weight:500;
	font-size:18px;
	text-align:center;
	margin:0;
	padding:20px;
	height:100%;
}
@media screen and (max-width:768px){
	.m-intro{
		display:block;
		margin:0 0 30px;
	}
	.m-intro-box{
		display:block;
		width:100%;
	}
	.m-intro p{
		font-size:16px;
		padding:10px;
	}
}

/*------------------------ カラム系 ------------------------*/
.m-2col{
	width:100%;
	display:block;
	margin:0 0 30px;
}
.m-2col-box{
	display:inline-block;
	width:48.5%;
}
.m-2col-box:nth-child(2n+1){
	float:left;
}
.m-2col-box:nth-child(2n){
	float:right;
}
@media screen and (max-width:768px){
	.m-2col-box{
		display:block;
		width:100%;
		margin:0 0 30px;
	}
	.m-2col-box:nth-child(2n+1){
		float:none;
	}
	.m-2col-box:nth-child(2n){
		float:none;
	}
}


/*------------------------ ボタン系 ------------------------*/

.m-btn-link{
	font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#454545;
	background:transparent;
	border-width:1px;
	border-style: solid;
	border-color: #454545;
	position:relative;
	display:inline-block;
	padding:0.5em 1em;
	transition:all 0.3s ease-in-out;
	text-align:center;
	text-decoration:none;
	font-size:15px;
	min-width:250px;
	height:50px;
	vertical-align:middle;
	margin:0 10px 30px;
}
a.m-btn-link{
	padding-top:12px;
}
.m-btn-link:before,
.m-btn-link:after {
	content:'';
	display:block;
	position:absolute;
	border-color:#454545;
	box-sizing:border-box;
	border-style:solid;
	width:1em;
	height:1em;
	transition:all 0.3s ease-in-out
}
.m-btn-link:before {
	top:-6px;
	left:-6px;
	border-width:1px 0 0 1px;
	z-index:5;
}
.m-btn-link:after {
	bottom:-6px;
	right:-6px;
	border-width:0 1px 1px 0;
}

.m-btn-link:hover:before,
.m-btn-link:hover:after {
	width:calc(100% + 12px);
	height:calc(100% + 12px);
	border-color:#fff
}
.m-btn-link:hover {
	color:#353535;
	background-color:#fff;
	border-color:#fff
}
	
@media screen and (max-width:768px){
	.m-btn-link{

	}
}


/* サブミットボタン */
.m-btn-submit{
	font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	display:inline-block;
	width:250px;
	height:50px;
	color:#fff;
	text-decoration:none;
	background-color:#14899e;
	vertical-align:middle;
	border:none;
	padding:15px;
	margin:0 10px 30px;
	font-size:16px;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
.m-btn-submit:hover{
	box-shadow:0px 4px 15px -3px #0a3e47 inset;
}
@media screen and (max-width:768px){
	.m-btn-submit{

	}
}

/* キャンセルボタン */
.m-btn-cancel{
	font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	display:inline-block;
	width:250px;
	height:50px;
	text-decoration:none;
	color:#333;
	background-color:#c9c9c9;
	vertical-align:middle;
	border:none;
	padding:15px;
	margin:0 10px 30px;
	font-size:16px;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;

}
.m-btn-cancel:hover{
	box-shadow:0px 4px 15px -3px #666 inset;
}
@media screen and (max-width:768px){
	.m-btn-cancel{

	}
}

/*------------------------ 記事一覧 ------------------------*/

.m-archive{
	margin:0 0 50px;
}

/* カテゴリセレクト */
.m-archive-cat{
	margin:0 0 30px;
	text-align:center;
}
.m-archive-cat li{
	display:inline-block;
	margin:0 10px;
}
.m-archive-cat li a{
	display:block;
	min-width:150px;
	height:25px;
	border-radius:12.5px;
	-moz-border-radius:12.5px;
	-webkit-border-radius:12.5px;
	border:1px solid #1b1b1b;
	text-decoration:none;
	color:#1b1b1b;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;

}
.m-archive-cat li a:hover,
.m-archive-cat li.current-cat a{
	background-color:#1b1b1b;
	color:#fff;
}

@media screen and (max-width:768px){
	/* カテゴリセレクト */
	.m-archive-cat{
		margin:0 0 30px;
	}
	.m-archive-cat li{
		display:block;
		margin:0 0 10px;
	}
}

/* 記事一覧 */
.m-archive-list{
	
}
.m-archive-list li{
	display:table;
	width:100%;
	background-image:url("../images/icn_arrow.png");
	background-position: 98% center;
	background-repeat:no-repeat;
	margin:0 0 30px;
	
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;

}
.m-archive-list li:hover{
	background-position: 99% center;
}
.m-archive-list li a{
	display:block;
	color:#333;
	text-decoration:none;
}
@media screen and (max-width:768px){
	.m-archive-list li{
		display:block;
		background-size:8.5px auto;
	}
}

/* サムネイル */
.m-archive-list-img{
	/*display:table-cell;*/
	width:250px;
	height:150px;
	position:relative;
	overflow:hidden;
	float: left;
}
.m-archive-list-img img{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	height: auto;
}
@media screen and (max-width:768px){
	.m-archive-list-img{
		display:block;
		margin:0 auto;
		float: none;
	}
}

/* テキスト */
.m-archive-list-txt{
	display:table-cell;
	padding:10px 75px 10px 25px;
}
.m-archive-list-txt p{
	padding:0;
	margin:0;
}
@media screen and (max-width:768px){
	.m-archive-list-txt{
		display:block;
		padding:10px 20px 10px 0;
	}
}

/* カテゴリ */
.m-archive-list-txt-date{
	margin:0 0 10px !important;
	vertical-align:middle;
}
.m-archive-list-txt-date span{
	display:inline-block;
	min-width:150px;
	height:25px;
	border-radius:12.5px;
	-moz-border-radius:12.5px;
	-webkit-border-radius:12.5px;
	background-color:#1b1b1b;
	color:#fff;
	text-align:center;
	vertical-align:middle;
	line-height:25px;
	margin-left:10px;
}
@media screen and (max-width:768px){
	.m-archive-list-txt-date{
		text-align:center;
	}
	.m-archive-list-txt-date span{
		min-width:120px;
	}
}

/* タイトル */
.m-archive-list-txt-ttl{
	font-size:17px;
	font-weight:bold;
	margin:0 0 10px;
}

/* ページャー */
.m-archive-pager{
	text-align:center;
}
.m-archive-pager .page-numbers{
	font-size:20px;
	font-family:"游明朝体", "Yu Mincho", YuMincho, "Sawarabi Mincho","Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	font-weight:500;
	color:#333;
	text-decoration:none;
	font-weight:bold;
	display:inline-block;
	vertical-align:middle;
	min-width:40px;
	height:40px;
	line-height:40px;
	border:1px solid #313131;
	margin:0 5px;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:8px 15px;
}
.m-archive-pager .page-numbers.next{
	background-image:url("../images/icn_pager_next_off.png");
}
.m-archive-pager .page-numbers.prev{
	background-image:url("../images/icn_pager_prev_off.png");
}
.m-archive-pager .page-numbers.next:hover{
	background-image:url("../images/icn_pager_next_on.png");
}
.m-archive-pager .page-numbers.prev:hover{
	background-image:url("../images/icn_pager_prev_on.png");
}

.m-archive-pager .page-numbers:hover,
.m-archive-pager .page-numbers.current{
	background-color:#333;
	color:#fff;
}
@media screen and (max-width:768px){
	.m-archive-pager .page-numbers{
		font-size:16px;
		min-width:30px;
		height:30px;
		line-height:30px;
		margin-bottom:10px;
	}
}

/*------------------------ 記事詳細 ------------------------*/
.m-post{
	
}
.m-post-main{
	background-color:#fff;
	padding:30px;
	margin:0 0 20px;
}
@media screen and (max-width:768px){
	.m-post-main{
		padding:15px;
	}
}

/* 日付・カテゴリ */
.m-post-main-date{
	text-align:right;
	margin:0 0 30px;
}
.m-post-main-date span{
	display:inline-block;
	min-width:150px;
	height:25px;
	border-radius:12.5px;
	-moz-border-radius:12.5px;
	-webkit-border-radius:12.5px;
	background-color:#1b1b1b;
	color:#fff;
	text-align:center;
	vertical-align:middle;
	line-height:25px;
	margin-left:10px;
}
@media screen and (max-width:768px){
	.m-post-main-date span{
		min-width:120px;
	}
}

/* 本文スタイル調整 */
.m-post-main-contents p{
	padding:0;
	margin:0 30px 30px;
}
.m-post-main-contents strong{
	font-weight:bold;
}
.m-post-main-contents em{
	font-style:italic;
}

.m-post-main-contents h1,
.m-post-main-contents h2{
	font-size:18px;
	font-weight:bold;
	padding:0 0 0 45px;
	margin:0 0 30px;
	background-image:url("../images/bg_mh.png");
	background-repeat:no-repeat;
	background-size:30px 6px;
	background-position:left center;
}
.m-post-main-contents h3,
.m-post-main-contents h4{
	font-size:17px;
	font-weight:bold;
	padding:0 0 0 25px;
	margin:0 0 30px;
}

.m-post-main-contents blockquote{
	padding:20px 20px 5px;
	margin:0 0 30px;
	background-color:#fafaed;
}
@media screen and (max-width:768px){
	.m-post-main-contents p{
		margin:0 10px 10px;
	}
	.m-post-main-contents h1,
	.m-post-main-contents h2{
		font-size:17px;
		margin:0 0 20px;
	}
	.m-post-main-contents h3,
	.m-post-main-contents h4{
		font-size:16px;
		margin:0 0 20px;
		padding-left:10px;
	}

	.m-post-main-contents blockquote{
		padding:10px 10px 5px;
	}
}

/* 通常リスト */
.m-post-main-contents ul{
	margin:0 30px 30px;
	list-style-type: square;
}

/* 数字リスト */
.m-post-main-contents ol{
	margin:0 30px 30px;
	list-style-type: decimal-leading-zero;
}

/* タグ */
.m-post-tags{
	text-align:right;
	vertical-align:middle;
	margin:0 0 30px;
}
.m-post-tags img{
	vertical-align:middle;
}
@media screen and (max-width:768px){
	.m-post-tags{
		margin:0 0 50px;
	}
	.m-post-tags img{
		width:10px;
		height:12px;
		
	}
}

/* シェアボタン */
.m-post-sns{
	text-align:center;
	margin:0 0 50px;
}
.m-post-sns-inner{
	display:inline-block;
	width:250px;
	position:relative;
}
.m-post-sns-inner-ttl{
	position:absolute;
	top:-30px;
	left:-20px;
}
.m-post-sns-inner-ttl img{
	height:39px;
	width:auto;
}

.m-post-sns-inner a{
	display:inline-block;
	margin:0 10px;
}
.m-post-sns-inner a img{
	width:60px;
	height:60px;
}