@charset "utf-8";
/* CSS Document */

/* ウェブフォント使用する際は下記を書き換える
@import url(http://fonts.googleapis.com/css?family=Droid+Serif);
 */

html { height:100%; }
body { height:100%; margin:0; font-size:16px; color:#2d2d2d; background: #FFFFFF; line-height: 180%; /*word-break:break-all;*/ text-align: justify; text-justify: inter-ideograph; }
@media screen and (min-width: 0px) and (max-width: 767px)  {
body { font-size: 12px; line-height: 160%; }
}
body, textarea { font-family: 'Noto Serif JP', serif; font-weight: 500; }
/*body, textarea { font-family :YuMincho, Yu Mincho, '游明朝', serif; font-weight: 500; }*/
/*ゴシックの場合 body, textarea { font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; font-weight: 500; }*/

/* 高さ自動調整 */
.clearfix:after {
content:".";
display:block;
height:0;
clear:both;
visibility:hidden;
}


/* 回り込み解除 */
.cl_l { clear: left; }
.cl_r { clear: right; }
.cl_both { clear:both; }


/* hタグなどの指定 */
h1 { display:block; font-style:normal; font-size:10pt; font-weight:normal; margin:0px; text-align:center; }
h1 img { width:auto; height:73px; padding:15px 0; }
@media screen and (min-width: 0px) and (max-width: 767px)  {
h1 { display:block; font-style:normal; font-size:10pt; font-weight:normal; margin:0px; text-align:center; }
h1 img { width:auto; height:40px; padding:5px 0; }
}
h2 { font-style:normal; font-size:10pt; font-weight:normal; margin:0px; }
h3 { font-style:normal; font-size:10pt; font-weight:normal; margin:0px; }
h4 { font-style:normal; font-size:10pt; font-weight:normal; margin:0px; }
h5 { font-style:normal; font-size:10pt; font-weight:normal; margin:0px; }


/* ul,li,pタグの指定 */
ul,li {
	list-style:none;
	margin:0;
	padding:0;
}

p { margin:0; }


/* テキスト位置の指定 */
.left { text-align: left; }
.center { text-align: center; }
.right { text-align: right; }

/* フォントの指定 */
.bold { font-weight:bold; }
.textblue { color:#09357f; }
.textblue_b { color:#09357f; font-weight:bold; }
.textgreen { color:#34AE42; }
.textgreen_b { color:#34AE42; font-weight:bold; }
.textorange { color:#de5e00; }
.textorange_b { color:#de5e00; font-weight:bold; }
.textred { color:#d70000; }
.textred_b { color:#d70000; font-weight:bold; }
.textpink { color:#d25b7f; }
.textpink_b { color:#d25b7f; font-weight:bold; }
.textpurple { color:#CC0199; }
.textpurple_b { color:#CC0199; font-weight:bold; }

.size6 { font-size:6px; }
.size8 { font-size:8px; }
.size10 { font-size:10px; }
.size12 { font-size:12px; }
.size14 { font-size:14px; }

.center { text-align: center; }
.right { text-align: right; }


/* ウェブフォントの指定 */
.noto-serif-jp { font-family: 'Noto Serif JP', serif; }
.mplusrounded { font-family: 'M PLUS Rounded 1c', sans-serif; }
.kosugimaru { font-family: 'Kosugi Maru', sans-serif; }
/* //ウェブフォントの指定 */


/* 罫線など */
.dashed_line { border-bottom: 1px dotted #343434; margin:10px 0px 10px 0px; }
.solid_line_orenge { border-bottom: 1px solid #EA5532; margin:10px 0px 15px 0px; }
.solid_line_blue { border-bottom: 1px solid #32BCF8; margin:10px 0px 15px 0px; }
.solid_line_green { border-bottom: 1px solid #45B035; margin:10px 0px 15px 0px; }
.solid_line_gray01 { border-bottom: 1px solid #B2B2B2; margin:14px 0px 14px 0px; }
.solid_line_purple { border-bottom: 1px solid #BE0089; margin:10px 0px 0px 0px; }
.solid_line_purple01 { border-bottom: 1px solid #BE0089; margin:14px 0px 14px 0px; }


/* 画像のリンク */
a img { border-style:none; }


/* 画像の余白対策 */
img {
   vertical-align:bottom
}


/* 画像サイズ */
img { width:100%; height:auto; image-rendering: auto; }


/* 画像フロート */
.imgright01 { width: 266px; float: right; padding: 0 0 0 30px; }
@media screen and (min-width: 0px) and (max-width: 767px)  {
.imgright01 { width: 40%; float: right; padding: 0 0 0 3%; }
}

/* ieに適用 */
img {
    width: inherit\9;
    max-width: 100%\9;
    height: auto\9;
}

/* svg */
img[src$=".svg"] {
    width: 100%;
}

/* hrの設定 */
hr.style-one {    border: 0;    height: 1px;    background: #999;    background-image: -webkit-linear-gradient(left, #ccc, #999, #ccc);    background-image:    -moz-linear-gradient(left, #ccc, #999, #ccc);    background-image:     -ms-linear-gradient(left, #ccc, #999, #ccc);    background-image:      -o-linear-gradient(left, #ccc, #999, #ccc);}


/* ページ全体のテキストリンク */
a:link { color:#2d2d2d; text-decoration:underline; }
a:visited { color:#2d2d2d; text-decoration:underline; transition: 1.0s ; }
a:active { color:#3c5079; text-decoration:underline; transition: 1.0s ; }
a:hover { color:#3c5079; text-decoration:underline; transition: 1.0s ; }
@media screen and (min-width: 0px) and (max-width: 767px)  {
a:link { color:#2d2d2d; text-decoration:underline; }
a:visited { color:#2d2d2d; text-decoration:underline; }
a:active { color:#FF8804; text-decoration:underline; }
a:hover { color:#FF8804; text-decoration:underline; }
}
/* //ページ全体のテキストリンク */

#link01,
#link02,
#link03,
#link04,
#link05,
#link06 { margin: -230px 0 0; padding: 230px 0 0; }
@media screen and (min-width: 0px) and (max-width: 767px)  {
#link01,
#link02,
#link03,
#link04,
#link05,
#link06 { margin: -80px 0 0; padding: 80px 0 0; }
}


/* ローディング */
#loading {
 width: 100%;
 height: 100%;
 margin: 0;
 background: #fff;/*グルグルの背景を白に*/
 opacity: 1.0;
 position: fixed;
 top: 0;
 left: 0;
 z-index: 99999; /*とりあえず一番前面に出るように*/
}
#loading img {
 position:absolute;
 top:50%;
 left:52%;
 width:30px;
 height:30px;
 margin-top:-30px;/*グルグルを真ん中にするために、画像の高さ分マイナスで*/
 margin-left:-30px;/*グルグルを真ん中にするために、画像の幅分マイナスで*/
}
@media screen and (min-width: 0px) and (max-width: 767px)  {
#loading {
 width: 100%;
 height: 100%;
 margin: 0;
 background: #fff;/*グルグルの背景を白に*/
 opacity: 1.0;
 position: fixed;
 top: 0;
 left: 0;
 z-index: 99999; /*とりあえず一番前面に出るように*/
}
#loading img {
 position:absolute;
 top:50%;
 left:55%;
 width:40px;
 height:40px;
 margin-top:-40px;/*グルグルを真ん中にするために、画像の高さ分マイナスで*/
 margin-left:-40px;/*グルグルを真ん中にするために、画像の幅分マイナスで*/
}
}
/* //ローディング */


/* ヘッドメニュー */
#headbox { width:100%; display:block; position:relative; background:#FFFFFF; top: 0; z-index: 2000; }

header {
    display: none;
    width:1200px;
	padding:0;
	margin:30px auto;
  }
@media screen and (min-width: 0px) and (max-width: 767px)  {
#headbox {
	width:100%;
	display:block;
	height:50px;
	position: fixed;
	background:rgba(237,239,225,1.00);
	-webkit-box-shadow: 0px 1px 15px 0px rgba(0,0,0,0.3);
	-moz-box-shadow: 0px 1px 15px 0px rgba(0,0,0,0.3);
	box-shadow: 0px 1px 15px 0px rgba(0,0,0,0.3);
	top: 0;
	z-index: 80000;
}

header {
    display: block;
    width: 100%;
	padding:0;
	margin:0 auto;
  }

#headlogo { width:100%; margin:0 auto; position:relative; text-align:center; }
#headlogo img { width:auto; height:25px; padding:10px 0 0; }
}
/* //ヘッドメニュー */


/* スマホナビゲーション */
#spheadbox { width:100%; display:none; position: fixed; background: rgba(255,255,255,0.75); top: 0; z-index: 8002; }
#sphead {
    display: block;
    width: 100%;
	padding:0;
	margin:0 auto;
	position: relative;
  }

.headmenu { width:1400px; margin:0 auto; display:table; }
.headmenu div { width:33%; display:table-cell; vertical-align:middle; }
.headmenu div:nth-child(1) { text-align:left; font-size:12px; font-weight:bold; vertical-align: top; }
.headmenu div:nth-child(2) { text-align:center; padding:15px 0; }
.headmenu div:nth-child(2) img { width:auto; height:84px; }
.headmenu div:nth-child(3) { text-align:right; }
@media screen and (min-width: 0px) and (max-width: 320px)  {
#spheadbox { width:100%; display:block; position: fixed; background: rgba(255,255,255,1.00); top: 0; z-index: 8002; }
#sphead {
    display: block;
    width: 100%;
	height:55px;
	padding:0;
	margin:0 auto;
	-webkit-box-shadow: 0px 1px 15px 0px rgba(0,0,0,0.3);
	-moz-box-shadow: 0px 1px 15px 0px rgba(0,0,0,0.3);
	box-shadow: 0px 1px 15px 0px rgba(0,0,0,0.3);
	border-top: 7px solid #6cab42;
  }

.headmenu { width:96%; margin:0 auto; padding:0; display:table; font-size:0; }
.headmenu div { width:auto; display:table-cell; vertical-align:middle; }
.headmenu div:nth-child(1) { display:table-cell; width:1%; text-align:left; }
.headmenu div:nth-child(2) { display:table-cell; width:87%; text-align:left; padding: 10px 0; }
.headmenu div:nth-child(3) { display:table-cell; width:12%; text-align:right; }
.headmenu div:nth-child(2) img { width:auto; height:35px; }
}
@media screen and (min-width: 321px) and (max-width: 768px)  {
#spheadbox { width:100%; display:block; position: fixed; background: rgba(255,255,255,1.00); top: 0; z-index: 8002; }
#sphead {
    display: block;
    width: 100%;
	height:55px;
	padding:0;
	margin:0 auto;
	-webkit-box-shadow: 0px 1px 15px 0px rgba(0,0,0,0.3);
	-moz-box-shadow: 0px 1px 15px 0px rgba(0,0,0,0.3);
	box-shadow: 0px 1px 15px 0px rgba(0,0,0,0.3);
	border-top: 7px solid #3c5079;
  }

.headmenu { width:96%; margin:0 auto; padding:0; display:table; font-size:0; }
.headmenu div { width:auto; display:table-cell; vertical-align:middle; }
.headmenu div:nth-child(1) { display:table-cell; width:12%; text-align:left; }
.headmenu div:nth-child(2) { display:table-cell; width:76%; text-align:center; padding: 10px 0; }
.headmenu div:nth-child(3) { display:table-cell; width:12%; text-align:right; }
.headmenu div:nth-child(2) img { width:auto; height:35px; }
}
/* //スマホナビゲーション */


/* PCナビゲーション */
#pcnavibox {
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 8000;
	border-top: 7px solid #3c5079;
	background: #FFFFFF;
}
#k-headimgbox01 #pcnavibox {
	width: 100%;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	z-index: 8000;
}

#headlogo { width: 402px; margin: 0 auto; padding: 17px 0; }
#headlogo img { width: 100%; height: auto; }
ul#navi {
	display:block;
	padding:8px 0;
	background:rgba(255,255,255,1.00);
	text-align:center;
	-webkit-box-shadow: 0px 5px 3px 0px rgba(0,0,0,0.1);
	-moz-box-shadow: 0px 5px 3px 0px rgba(0,0,0,0.1);
	box-shadow: 0px 5px 3px 0px rgba(0,0,0,0.1);
	}
ul#navi li { display:inline-block; vertical-align: middle; margin: 0 15px; }
ul#navi li a:before { content: "-"; display: inline-block; padding: 0 10px 0 0; vertical-align: top; }
ul#navi li:nth-child(3) a:before { content: "-"; display: table-cell; padding: 0 10px 0 0; vertical-align: middle; }
ul#navi li p { display:inline-block; line-height: 140%; }
ul#navi li p:nth-child(1) { font-size: 16px !important; letter-spacing: 0.2em; }
ul#navi li img { width: auto; height: 57px; }
ul#navi a:link { color:rgba(42,42,42,1.0); text-decoration:none; transition:1.0s; }
ul#navi a:visited { color:rgba(42,42,42,1.0); text-decoration:none; transition: 1.0s; }
ul#navi a:active { color:rgba(42,42,42,0.6); text-decoration:none; transition: 1.0s; }
ul#navi a:hover {
	color:rgba(42,42,42,0.6);
	text-decoration:none;
	transition: 1.0s;
	-moz-text-shadow: 0px 0px 5px rgba(42,42,42,0.8);
	-webkit-text-shadow: 0px 0px 5px rgba(42,42,42,0.8);
	-ms-text-shadow: 0px 0px 5px rgba(42,42,42,0.8);
	text-shadow: 0px 0px 5px rgba(42,42,42,0.8);
}


.flip > li{
  perspective: 600px;
}
.flip li ul{
	position: absolute;
	visibility: hidden;
	opacity: 0;
	transform: rotateX(-90deg);
	transform-origin: 50% 0;
	transition: .8s;
	top: 54px;
	left: -15px;
	padding: 10px 0;
	background:rgba(255,2255,255,0.8);
}
.flip li:hover ul{
	visibility: visible;
	transform: rotateX(0);
	opacity: 1;
}
.flip ul li{
	width: 280px;
	padding: 5px 0;
	text-align: left;
	display: block !important;
	border: none;
	color: #FFFFFF;
}
.flip ul li.wide01{
	width: 140px;
	padding: 15px 0;
	text-align: center;
	display: block !important;
	border: none;
}
.flip ul li a:link { color:rgba(42,42,42,1.0); text-decoration:none; transition:1.0s; }
.flip ul li a:visited { color:rgba(42,42,42,1.0); text-decoration:none; transition: 1.0s; }
.flip ul li a:active { color:rgba(42,42,42,0.6); text-decoration:none; transition: 1.0s; }
.flip ul li a:hover {
	color:rgba(42,42,42,0.6);
	text-decoration:none;
	transition: 1.0s;
	-moz-text-shadow: 0px 0px 5px rgba(42,42,42,0.8) !important;
	-webkit-text-shadow: 0px 0px 5px rgba(42,42,42,0.8) !important;
	-ms-text-shadow: 0px 0px 5px rgba(42,42,42,0.8) !important;
	text-shadow: 0px 0px 5px rgba(42,42,42,0.8) !important;
}
/*
.flip li ul {
	position: absolute;
	visibility: hidden;
	opacity: 0;
	perspective: 400px;
	top: 34px;
	left: -15px;
	padding: 0 0 20px 15px;
	transition: .5s;
}
.flip li:hover ul{
	visibility: visible;
	opacity: 1;
}
.flip ul li{
	width: 180px;
	padding: 15px 0;
	text-align: center;
	display: block !important;
	border: none;
	transform: rotateY(90deg);
	transform-origin: 50% 0;
	transition: .3s;
	background:rgba(0,0,0,0.7);
}
.flip ul li:after { content: "" !important; padding: 0 !important; }
.flip ul li:last-child:after { content: "" !important; padding: 0 !important; }
.flip ul li a:hover { color:#e60012; text-decoration:none; border-top:1px solid rgba(255,255,255,0.8); border-bottom:1px solid rgba(255,255,255,0.8); transition:0.5s; padding:8px 10px; }
.flip li:hover li{
  transform: rotateY(0);
}
.flip ul li:nth-child(2) {
  transition-delay: .1s;
}
.flip ul li:nth-child(3) {
  transition-delay: .2s;
}
.flip ul li:nth-child(4) {
  transition-delay: .3s;
}
.flip ul li:nth-child(5) {
  transition-delay: .4s;
}
*/
@media screen and (min-width: 0px) and (max-width: 767px)  {
#headlogo { display: none; width: 428px; margin: 0 auto; padding: 17px 0; }
ul#navi { display:none; }
}
/* //PCナビゲーション */


/* バナー（共通） */
.bannerbox01 { width: 208px; margin: 25px auto 0; }
@media screen and (min-width: 0px) and (max-width: 767px)  {
.bannerbox01 { width: 50%; margin: 20px auto 0; }
}
/* バナー（共通） */


/* ページトップ */
#pagetopwrap { width:100%; margin:0 auto; background: #3c5079; text-align: center; }
#pagetopwrap a { display: block; padding: 5px 0 15px; }
#pagetopwrap a img { width:27px; height:auto; }
@media screen and (min-width: 0px) and (max-width: 320px)  {
#pagetop { width:96%; margin:0 auto; position: relative; }
#pagetop { left: 0; right: 2%; position: fixed; margin: 0 0 0 85%; z-index: 7000; }
#pagetop img { width:40px; height:auto; }
}
@media screen and (min-width: 321px) and (max-width: 768px)  {
#pagetop { width:96%; margin:0 auto; position: relative; }
#pagetop { left: 0; right: 2%; position: fixed; margin: 0 0 0 85%; z-index: 7000; }
#pagetop img { width:40px; height:auto; }
}
.blinking{
	-webkit-animation:blink 0.5s ease-in-out infinite alternate;
    -moz-animation:blink 0.5s ease-in-out infinite alternate;
    animation:blink 0.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1.0;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1.0;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1.0;}
}
/* //ページトップ */


/* 文字頭揃え */
.indent00-05 { text-indent: -0.5em; padding: 0 0 0 0.5em; }
.indent00-08 { text-indent: -0.8em; padding: 0 0 0 0.8em; }
.indent00-09 { text-indent: -0.9em; padding: 0 0 0 0.9em; }
.indent01-01 { text-indent: -1em; padding: 0 0 0 1em; }
.indent01-03 { text-indent: -1.3em; padding: 0 0 0 1.3em; }
.indent01-036 { text-indent: -1.36em; padding: 0 0 0 1.36em; }
.indent01-04 { text-indent: -1.4em; padding: 0 0 0 1.4em; }
.indent01-05 { text-indent: -1.5em; padding: 0 0 0 1.5em; }
.indent01-06 { text-indent: -1.6em; padding: 0 0 0 1.6em; }
.indent01-08 { text-indent: -1.8em; padding: 0 0 0 1.8em; }
.indent02-05 { text-indent: -2.5em; padding: 0 0 0 2.5em; }
.indent04-01 { text-indent: -4.0em; padding: 0 0 0 4.0em; }
.indent05-01 { text-indent: -5.0em; padding: 0 0 0 5.0em; }
@media screen and (min-width: 0px) and (max-width: 767px)  {
.indent00-05 { text-indent: -0.5em; padding: 0 0 0 0.5em; }
.indent00-08 { text-indent: -0.8em; padding: 0 0 0 0.8em; }
.indent01-01 { text-indent: -1em; padding: 0 0 0 1em; }
.indent01-03 { text-indent: -1.3em; padding: 0 0 0 1.3em; }
.indent01-05 { text-indent: -1em; padding: 0 0 0 1em; }
.indent01-08 { text-indent: -1.8em; padding: 0 0 0 1.8em; }
}
/* //文字頭揃え */


/* 文字間調整 */
.letterspace01 { letter-spacing: 0.5em; }

/* //文字間調整 */


/* 改行設定 */
.break:before {
    content: "\A";
	white-space: pre;
}
.spno-break:before {
    content: "\A";
	white-space: pre;
}
.pcno-break:before {
    content: "";
	white-space: pre;
}
@media screen and (min-width: 0px) and (max-width: 767px)  {
.break:before {
    content: "\A";
	white-space: pre;
}
.spno-break:before {
    content: "";
	white-space: pre;
}
.pcno-break:before {
    content: "\A";
	white-space: pre;
}
}
/* //改行設定 */


/* 2カラム */
.columns02-01 {
  -webkit-columns: 380px 2;
  -moz-columns: 380px 2;
  -ms-columns: 380px 2;
  columns: 380px 2;
  column-gap: 80px;
}
/* //2カラム */


/* PCスマホ表示切り替え */
.pconly01 { display: block; }
.sponly01 { display: none; }
@media screen and (min-width: 0px) and (max-width: 767px)  {
.pconly01 { display: none; }
.sponly01 { display: block; }
}
/* //PCスマホ表示切り替え */


/* スマホのみtelイベント発動 */
@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}
/* //スマホのみtelイベント発動 */