/* CSS Document */

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

html { height:100%; }
body { height:100%; margin:0; font-size:16px; color:#2c2c2c; background: FFFFFF; line-height: 200%; /*word-break:break-all;*/ text-align: justify; text-justify: inter-ideograph; }
@media screen and (min-width: 0px) and (max-width: 768px)  {
body { font-size: 12px; line-height: 160%; }
}
/*明朝の場合 body, textarea { font-family :YuMincho, Yu Mincho, '游明朝', serif; font-weight: 400; } */
body, textarea { font-family :YuGothic,    /* Mac用 */ 'Yu Gothic', /* Windows用 */ sans-serif; font-weight: 400; }

/* 高さ自動調整 */
.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: 768px)  {
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; }


/* フォントの指定 */
.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:#F8B934; }
.textorange_b { color:#F8B934; font-weight:bold; }
.textred { color:#db0000; }
.textred_b { color:#db0000; 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:8px; }
.size8 { font-size:10px; }
.size10 { font-size:12px; }
.size12 { font-size:14px; }
.size14 { font-size:16px; }


/* 罫線など */
.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; }


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

/* svgの設定 */
svg { width: 100%; height: auto; }

/* 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:#474747; text-decoration:underline; }
a:visited { color:#474747; text-decoration:underline; transition: 1.0s ; }
a:active { color:#FF8804; text-decoration:underline; transition: 1.0s ; }
a:hover { color:#FF8804; text-decoration:underline; transition: 1.0s ; }
@media screen and (min-width: 0px) and (max-width: 768px)  {
a:link { color:#474747; text-decoration:underline; }
a:visited { color:#474747; text-decoration:underline; }
a:active { color:#FFFFFF; text-decoration:underline; }
a:hover { color:#FFFFFF; text-decoration:underline; }
}


/* position:absolute;の高ささ対策（親ボックスに入れる） */
.ratio-1_1:before {
    content: "";
    display: block;
    padding-top: 100%; /* 1:1 */
}
/* //position:absolute;の高ささ対策（親ボックスに入れる） */


/* ローディング */
#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: 768px)  {
#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;/*グルグルを真ん中にするために、画像の幅分マイナスで*/
}
}
/* //ローディング */


/* ヘッドバックグラウンド */
#headbg { height: 10px; background: url(../common_img/rainbowbg.svg) repeat; }
@media screen and (min-width: 0px) and (max-width: 767px)  {
#headbg { display: none; }
}
/* //ヘッドリンク */


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

header {
    display: none;
    width:1200px;
	padding:0;
	margin:30px auto;
  }

#pcheadlogobox01 {
	width: 700px;
	height: 131px;
	margin: 0 auto;
	background: url(../common_img/pclogobg.png) no-repeat;
	position: absolute;
	z-index: 8001;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
#pcheadlogo { width:428px; margin: 0 auto; padding: 13px 0 0 0; }
#pcheadlogo img { width: 100%; height: auto; }
@media screen and (min-width: 0px) and (max-width: 767px)  {
#headbox { width:100%; display:block; height:70px; position: fixed; background: url(../common_img/rainbowbg.svg) repeat-x top,url(../common_img/rainbowbg.svg) repeat-x bottom,#FFFFFF; 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:50px; padding:10px 0 0; }
	
#pcheadlogobox01 { display: none; }

#k-pcheadlogobox01 { display: none; }
}
/* //ヘッドメニュー */


/* PCナビゲーション */
#pcnavibox {
	width: 100%;
	position: relative;
	bottom: 13%;
	left: 0;
	z-index: 8000;
}
#k-pcnavibox {
	width: 100%;
	margin: 30px 0 0;
}
ul#navi {
	display:block;
	width: 940px;
	margin: 0 auto;
	padding:10px 0;
	background:rgba(34,143,210,1.00);
	/*border-top: 1px solid rgba(34,143,210,1.00);
	border-bottom: 1px solid rgba(34,143,210,1.00);*/
	text-align:center;
	font-size:16px;
	font-weight:600;
	line-height: 180%;
	color: #FFFFFF;
	}
ul#navi li { display:inline-block; position: relative; }
ul#navi li:after { content: "\FF5C"; padding: 0 0 0 5px; color:rgba(255,255,255,1.00); }
ul#navi li:last-child:after { content: ""; padding: 0; }

ul#navi a:link { color:rgba(255,255,255,1.00); text-decoration:none; padding:14px 5px; transition:1.0s; }
ul#navi a:visited { color:rgba(255,255,255,1.00); text-decoration:none; transition: 1.0s; }
ul#navi a:active { color:rgba(255,255,255,1.00); text-decoration:none; transition: 1.0s; }
ul#navi a:hover { color:rgba(255,255,255,1.00); text-decoration:none; border-top:1px solid rgba(255,255,255,1.00); border-bottom:1px solid rgba(255,255,255,1.00); transition:0.5s; padding:8px 5px; }
@media screen and (min-width: 0px) and (max-width: 767px)  {
#k-pcnavibox {
	width: 100%;
	margin: 20px 0;
	display: none;
}
ul#navi { display:none; }
}
/* //PCナビゲーション */


/* ページトップ */
#pagetop { width:1000px; margin:0 auto; text-align:right; padding: 0 0 20px; }
#pagetop img { width:62px; height:auto; }
@media screen and (min-width: 0px) and (max-width: 768px)  {
#pagetop { width:96%; margin:0 auto; text-align:right; padding: 0 0 10px; }
#pagetop img { width:auto; height:40px; }
}
/* //ページトップ */


/* 円弧 */
.arcwraptop01 {
overflow: hidden;
}
.arcwraptop02 {
min-height: 250px;
overflow: hidden;
position: relative;
}
.arcwrapbottom01 {
overflow: hidden;
position: relative;
}
.arctop01 {
	width: 100%;
	min-height: 160px;
	border-top-right-radius: 1600px 300px;
	border-top-left-radius: 1600px 300px;
	margin-left: -50px;
	margin-right: -50px;
	padding-left: 50px;
	padding-right: 50px;
	background: rgba(255,255,255,1.00);
}
.arctop02 {
	width: 100%;
	min-height: 150px;
	border-top-right-radius: 1600px 300px;
	border-top-left-radius: 1600px 300px;
	margin-left: -50px;
	margin-right: -50px;
	padding-left: 50px;
	padding-right: 50px;
	background: rgba(255,255,255,1.00);
}
.arcbottom01 {
	width: 100%;
	min-height: 200px;
	border-bottom-right-radius: 1600px 300px;
	border-bottom-left-radius: 1600px 300px;
	margin-left: -50px;
	margin-right: -50px;
	padding-left: 50px;
	padding-right: 50px;
	background: rgba(255,255,255,1.00);
}
.arctop01position01 { position: absolute; top: 0; }
.arctop01position02 { padding: 0; }
.arcbottom01position01 { position: absolute; bottom: 0; }
@media screen and (min-width: 0px) and (max-width: 768px)  {
.arcwraptop01 {
overflow: hidden;
}
.arcwraptop02 {
min-height: 80px;
overflow: hidden;
position: relative;
}
.arcwrapbottom01 {
overflow: hidden;
position: relative;
}
.arctop01 {
	width: 100%;
	min-height: 150px;
	border-top-right-radius: 100% 150px;
	border-top-left-radius: 100% 150px;
	margin-left: -50px;
	margin-right: -50px;
	padding-left: 50px;
	padding-right: 50px;
	background: rgba(255,255,255,1.00);
}
.arctop02 {
	width: 100%;
	min-height: 80px;
	border-top-right-radius: 100% 150px;
	border-top-left-radius: 100% 150px;
	margin-left: -50px;
	margin-right: -50px;
	padding-left: 50px;
	padding-right: 50px;
	background: rgba(255,255,255,1.00);
}
.arcbottom01 {
	width: 100%;
	min-height: 80px;
	border-bottom-right-radius: 100% 150px;
	border-bottom-left-radius: 100% 150px;
	margin-left: -50px;
	margin-right: -50px;
	padding-left: 50px;
	padding-right: 50px;
	background: rgba(255,255,255,1.00);
}
.arctop01position01 { position: absolute; top: -4%; z-index: 9000; }
.arctop01position02 { padding: 0 0 30px; }
.arcbottom01position01 { position: absolute; bottom: 0; }
}
/* //円弧 */


/* トップコンテンツ */
#toparcwrap01 { position: relative; margin: -100px 0 0 0; z-index: 8500; }
#toparcwrap02 { position: relative; z-index: 5; }
#toparcwrap03 { position: relative; margin:-6% 0 -32%; z-index: -1; }

#topcontents01 { }
#topcontents02 { position: absolute; top: 0; }
#topcontents03 { position: absolute; top: 22.5%; }
#topcontents03inner01 { 
	overflow: hidden;
	position: relative;
}
.topcontentsarcimg01 {
	border-top-right-radius: 1600px 280px;
	border-top-left-radius: 1600px 280px;
	border-bottom-right-radius: 1600px 280px;
	border-bottom-left-radius: 1600px 280px;
	margin-left: -50px;
	margin-right: -50px;
	padding-left: 50px;
	padding-right: 50px;
}

.topcontentbutton01 { width: 200px; margin: 0 auto; top: 5px; left: 0; right: 0; bottom: 0; z-index: 30; }
.topcontentbutton02 { width: 200px; margin: 0 auto; position: absolute; left: 0; right: 0; bottom: 50px; z-index: 30; }
.topcontentarctop01position01 { position: absolute; top: 98px; z-index: 20; }
.topcontentarcbottom01position01 { position: absolute; bottom: 0; z-index: 20; }
@media screen and (min-width: 0px) and (max-width: 768px)  {
#toparcwrap01 { position: relative; margin: -8% 0 0 0; z-index: 8500; }
#toparcwrap02 { position: relative; z-index: 5; }
#toparcwrap03 { position: relative; margin:-10% 0 -8%; z-index: -1; }

#topcontents01 { }
#topcontents02 { position: absolute; top: 0; }
#topcontents03 { position: absolute; top: 30%; }
#topcontents03inner01 { 
	overflow: hidden;
	position: relative;
}
.topcontentsarcimg01 {
	width: 100%;
	border-top-right-radius: 100% 30%;
	border-top-left-radius: 100% 30%;
	border-bottom-right-radius: 100% 30%;
	border-bottom-left-radius: 100% 30%;
	margin-left: -50px;
	margin-right: -50px;
	padding-left: 50px;
	padding-right: 50px;
}

.topcontentbutton01 { width: 20%; margin: 0 auto; top: 1%; left: 0; right: 0; bottom: 0; z-index: 30; }
.topcontentbutton02 { width: 20%; margin: 0 auto; position: absolute; left: 0; right: 0; bottom: 4%; z-index: 30; }
.topcontentarctop01position01 { position: absolute; top: 15%; z-index: 20; }
.topcontentarcbottom01position01 { position: absolute; bottom: 0; z-index: 20; }
}
/* //トップコンテンツ */


/* 表示非表示 */
.pconly { display: block; }
@media screen and (min-width: 0px) and (max-width: 768px)  {
.pconly { display: none; }
}
/* //表示非表示 */


/* 文字頭揃え */
.indent1 { text-indent: -1em; padding: 0 0 0 1em;}
.indent1-5 { text-indent: -1.5em; padding: 0 0 0 1.5em;}
.indent2 { text-indent: -2em; padding: 0 0 0 2em;}
/* //文字頭揃え */