@charset "utf-8";

/*==========================================================================
　　Smart phone
==========================================================================*/

@media screen and (min-width: 1281px) {
#header ul.menu,
body.home #header.fixed.fixed2 ul.menu {
	font-size: 18px;
}
}


@media screen and (max-width: 1200px) {
#header .txt,
body.home #header.fixed.fixed2 .txt {
	font-size: 15px;
	line-height: 1.4em;
	padding: 17px 10px 0;
}

body.home #header.fixed .txt {
	font-size: 18px;
	line-height: 1.4em;
	padding: 13px 10px 0;
}

}


@media screen and (max-width: 1080px) {

br.w1080 { display: block; }

#header .txt,
body.home #header.fixed.fixed2 .txt {
	font-size: 15px;
	padding: 17px 10px 0;
}

body.home #header.fixed .txt {
	font-size: 16px;
	padding: 17px 10px 0;
}

body.home #header.fixed .logo .stxt {
	font-size: 16px;
}

#header ul.menu li a,
body.home #header.fixed.fixed2 ul.menu li a {
	padding: 15px 10px 12px;
}

body.home #header.fixed .header_in .headL {
	width: 52%;
}

body.home #header.fixed .header_in .headR {
	width: 48%;
}

}


@media screen and (max-width: 988px) {

br.w988 { display: block; }

#header .txt,
body.home #header.fixed.fixed2 .txt {
	width: 45%;
	padding: 5px 10px 0;
	margin: 0;
	text-align: center;
}

body.home #header.fixed .txt {
	width: 28%;
	padding: 15px 0 0;
	margin: 10px 0 0 10px;
	float: left;
	font-size: 15px;
}

#header .txt br,
body.home #header.fixed.fixed2 .txt br {
	display: block;
}

#header .logo,
body.home #header.fixed.fixed2 .logo {
	width: 55%;
}

body.home #header.fixed .logo {
	width: 68%;
	float: left;
	text-align: center;
}

body.home #header.fixed .logo .stxt {
	font-size: 15px;
	padding-top: 15px;
}

body.home #header.fixed .logo .img {
	padding: 0;
	margin: 0 auto;
	width: 156px;
	height: 50px;
}


#header ul.menu,
body.home #header.fixed.fixed2 ul.menu {
	font-size: 16px;
	/*font-size: 1.619vw;*/
}

#header ul.menu li a,
body.home #header.fixed.fixed2 ul.menu li a {
	padding: 15px 8px 12px;
}

#header #pc_btn br,
body.home #header.fixed.fixed2 #pc_btn br {
	display: block;
}

#header #pc_btn,
body.home #header.fixed.fixed2 #pc_btn {
	font-size: 12px;
	padding-top: 10px;
	top: 0;
}

body.home #header.fixed #pc_btn br {
	display: none;
}

body.home #header.fixed #pc_btn {
	top: 55px;
	width: 19%;
}

/*#ken_list {
	width: 165px;
}*/

#ken_list ul li {
	font-size: 15px;
}

#cont .cont_in {
	padding-right: 30px;
	padding-left: 30px;
}

.breadcrumbs {
	padding-right: 30px;
	padding-left: 30px;
}

#footer {
	padding-left: 30px;
	padding-right: 30px;
}

#footer .footer_nav {
	border-bottom: solid 1px #797979;	
}

#footer .footer_in01 ul.banner_box {
	width: 684px;
	margin: 0 auto;
}

#footer .footer_in01 ul.banner_box li {
	height: 80px;
}

#footer .footer_in01 ul.banner_box li.li01 {
	width : 210px;
}

#footer .footer_in01 ul.banner_box li.li02 {
	width : 182px;
}

#footer .footer_in01 ul.banner_box li.li03 {
	width : 256px;
}

#footer .footer_in_logo {
	padding: 20px;
	width: 100%;
}

#footer .footer_in_logo .ttl {
	font-size: 22px;
}

#footer .footer_in_logo .logo {
	margin: 0 30px 20px 0;
	width: 157px;
	height: auto;
	float: left;
}

#footer .footer_in_logo .logo img {
	width: 100%;
	height: auto;
}

#footer .footer_in_logo .txt {
	margin: 0;
	color:  #314DA4;
	font-size: 140%;
}

}


@media screen and (max-width: 920px) {

br.w920 { display: block; }

#header ul.menu,
body.home #header.fixed.fixed2 ul.menu {
	font-size: 14px;
}

body.home #header.fixed ul.menu {
	font-size: 16px;
}

}

@media screen and (max-width: 860px) {

br.pc_w860 { display: block; }

}

@media screen and (max-width: 810px) {

body.home #header.fixed .txt {
	padding: 20px 0 0;
	font-size: 14px;
}

body.home #header.fixed .logo .stxt {
	font-size: 14px;
	padding-top: 17px;
}

#header .logo .img,
body.home #header.fixed.fixed2 .logo .img {
	padding: 7px 0 0 0;
	width: 125px;
	height: 40px;
}

body.home #header.fixed .logo .img {
	padding: 0;
	width: 156px;
	height: 50px;
}

#header ul.menu,
body.home #header.fixed.fixed2 ul.menu {
	font-size: 12px;
}

#header ul.menu li a,
body.home #header.fixed.fixed2 ul.menu li a {
	padding: 15px 5px 12px;
}

body.home #header.fixed ul.menu {
	font-size: 15px;
}

body.home #header.fixed ul.menu li a {
	padding: 15px 8px 12px;
}

#footer .footer_in_logo .ttl {
	font-size: 21px;
}

}

@media screen and (max-width: 790px) {
.FBboxL48 { float: none; width: 100%; max-width: 500px; margin: 0 auto 30px;}
.FBboxR48 {  float: none; width: 100%; max-width: 500px; margin: 0 auto;}
}


@media screen and (max-width: 768px) {

/*---------- common ----------*/

body {
	min-width: 320px;
	font-size: 16px;
}

#loader #c_txt {
	font-size: 20px;
}

#loader #c_txt br,
#loader #l_txt br {
	display: block;
}

.caption_big {
	font-size: 16px;
}

.caption_big02 {
	font-size: 18px;
}

.txt_big { font-size: 18px; }

.photoC_w80,
.photoC_w90 {
	width: 100%;
	height: auto;
	margin: 0 0 30px;
	text-align: center;
}

br.pc_w860 { display: none; }

br.w768 { display: block; }

/*---------- header ----------*/

#header,
body.home #header.fixed,
body.home #header.fixed.fixed2 {
	min-width: 320px;
	height: 100px;
	background-image: none;
	background-color: #314DA4;
	box-shadow: none;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	-o-box-shadow: none;
}

#header .header_in,
body.home #header.fixed .header_in,
body.home #header.fixed.fixed2 .header_in {
	margin: 0;
	width: 100%;
	max-width: 100%;
	height: 100px;
	position: relative;
}

#header .header_in .headL,
body.home #header.fixed .header_in .headL,
body.home #header.fixed.fixed2 .header_in .headL,
#header .header_in .headR,
body.home #header.fixed .header_in .headR,
body.home #header.fixed.fixed2 .header_in .headR {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 50px;
	display: block;
}

/*#header .logo,
body.home #header.fixed .logo,
body.home #header.fixed.fixed2 .logo {
	width: 30%;
	min-width: 173px;
	position: absolute;
	top: 5px;
	left: 0;
	background: none;
	text-align: left;
}


#header .txt,
body.home #header.fixed .txt,
body.home #header.fixed.fixed2 .txt {
	display: block;
	font-size: 14px;
	position: absolute;
	top: 20px;
	left: 30%;
	background: none;
	width: 70%;
}*/


#header .txt,
body.home #header.fixed .txt,
body.home #header.fixed.fixed2 .txt {
	width: 55%;
	height: auto;
	font-size: 18px;
	line-height: 1.4em;
	padding: 13px 10px 0;
	text-align: right;
	border: none;
	margin: 0;
}

#header .txt br,
body.home #header.fixed .txt br,
body.home #header.fixed.fixed2 .txt br {
	display: none;
}

#header .logo,
body.home #header.fixed .logo,
body.home #header.fixed.fixed2 .logo {
	width: 45%;
	text-align: left;
	margin: 0;
	padding: 0 10px;
}

#header .logo .img,
body.home #header.fixed .logo .img,
body.home #header.fixed.fixed2 .logo .img {
	margin: 0;
	padding: 7px 0 0 0;
	width: 125px;
	height: 40px;
}

body.home #header.fixed .logo .stxt {
	display: none;
}

#header ul.menu,
body.home #header.fixed ul.menu,
body.home #header.fixed.fixed2 ul.menu {
	font-size: 18px;
	/*font-size: 1.406vw;*/
	line-height: 25px;
	text-align: center;
	width: 100%;
	height: auto;
	float: none;
}

#header ul.menu li a,
body.home #header.fixed ul.menu li a,
body.home #header.fixed.fixed2 ul.menu li a {
	color: #FFFFFF;
	padding: 13px 20px 8px;
}

#header ul.menu li a:hover,
body.home #header.fixed ul.menu li a:hover,
body.home #header.fixed.fixed2 ul.menu li a:hover {
	color: #EAEAEA;
	border-bottom-color: #FFFFFF;
}

#header #pc_btn,
body.home #header.fixed #pc_btn,
body.home #header.fixed.fixed2 #pc_btn {
	display: none;
}

#header #sp_btn,
body.home #header.fixed #sp_btn,
body.home #header.fixed.fixed2 #sp_btn {
	margin: 0;
	padding: 0;
	display: block;
	position: absolute;
	top: 7px;
	right: 7px;
	transition: 400ms ease;
	z-index: 9999;
}

#header #sp_btn.close,
body.home #header.fixed #sp_btn.close,
body.home #header.fixed.fixed2 #sp_btn.close {
	transition: 400ms ease;
}

#header #sp_btn a,
body.home #header.fixed #sp_btn a,
body.home #header.fixed.fixed2 #sp_btn a {
  display: inline-block;
  cursor: pointer;
  height: 40px;
  line-height: 40px;
  text-align: center;
  width: 40px;
  background: #FFFFFF;
}

#panel-btn-sp {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 2px;
  margin: -5px 0 0 -7px;
  background: #314DA4;
  transition: .2s;
}

#panel-btn-sp:before, #panel-btn-sp:after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 14px;
  height: 2px;
  background: #314DA4;
  transition: .3s;
}

#panel-btn-sp:before {
  margin-top: -6px;
}

#panel-btn-sp:after {
  margin-top: 4px;
}

#panel-btn-sp.close{
  background: transparent;
}

#panel-btn-sp.close:before, #panel-btn-sp.close:after {
  margin-top: 0;
}

#panel-btn-sp.close:before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#panel-btn-sp.close:after{
  -webkit-transform: rotate(-135deg);  
  transform: rotate(-135deg);
}

#ken_list {
	display: none;
	/*position: static;*/
	position: fixed;
	top: 100px;
	right: 0;
	width: 100%;
	border-left: none;
}

#ken_list .ttl {
	font-weight: bold;
	padding: 12px 0 10px;
	display: block;
	background: #EFEFEF;
}

#ken_list ul li a {
	background: #FFFFFF;
}

#ken_list ul li a:hover {
	background: #DFDFDF;
}

/*---------- contents ----------*/

.breadcrumbs {
	display: none;
}

#cont {
	padding: 30px 0 1px;
}

#cont .cont_in  {
	padding-top: 40px;
}

#cont .cont_in p {
	font-size: 18px;
}

#cont .cont_in ul.navi li {
	width : 48%;
	width: -webkit-calc(50% - 14px);
	width: calc(50% - 14px);
	margin: 0 5px 20px;
}

#cont .cont_in ul.navi li a .ttl {
	font-size: 20px;
}

#cont .cont_in ul.navi li a .txt {
	line-height: 1.6em;
}

.sns_nav .ttl {
	margin-bottom: 10px;
}

/*---------- page-top ----------*/

#page-top {
    bottom: 10px;
    right: 10px;
}

#page-top a {
    width: 44px;
	height: 38px;
}


#next_prev {
	display: block;
	font-size: 18px;
	background: #314DA4;
	padding: 8px 0;
}

#next_prev a {
	color: #FFFFFF;
}

#next_prev a:hover {
	color: #CCCCCC;
	border-bottom: dotted 1px #CCCCCC;
}

#next_prev ul {
	display: table;
	margin: 0 auto;
	border-collapse: separate;
	border-spacing: 30px 0;
}

#next_prev ul li {
	display: table-cell;
}

#next_prev ul li.prev a:before {
	content:'« ';
	font-size: 18px;
	color: #FFFFFF;
}

#next_prev ul li.next a:after {
	content:' »';
	font-size: 18px;
	color: #FFFFFF;
}

#next_prev ul li.prev a:hover:before,
#next_prev ul li.next a:hover:after {
	color: #CCCCCC;
	border-bottom: dotted 1px #CCCCCC;
}

.boxL48_2 { float: none; width: 100%; margin-bottom: 30px; }
.boxR48_2 { float: none; width: 100%; margin-bottom: 30px; }

/*---------- footer ----------*/

#footer {
	padding: 30px 20px 12px;
}

#footer .footer_linknav ul {
	width : 100%;
}

#footer .footer_in01 {
	padding-bottom: 10px;
	margin-bottom: 20px;
}

#footer .footer_in01 .ttl {
	font-size: 20px;
	line-height: 1.4em;
	margin-bottom: 10px;
}

#footer .footer_in01 ul.banner_box {
	width: 100%;
	margin: 0;
}

#footer .footer_in01 ul.banner_box li {
	margin: 0 auto 10px;
	height: 100px;
	float: none;
}

#footer .footer_in01 ul.banner_box li.li01 {
	width : 263px;
}

#footer .footer_in01 ul.banner_box li.li02 {
	width : 227px;
}

#footer .footer_in01 ul.banner_box li.li03 {
	width : 320px;
}

#footer .footer_in02 {
	margin-bottom: 40px;
	width: 100%;
	display: block;
	/*padding-bottom: 20px;
	border-bottom: solid 1px #797979;*/
}

#footer .footer_in02 .ttl {
	width: 100%;
	font-size: 18px;
	display: block;
	vertical-align: top;
	text-align: left;
	margin-bottom: 10px;
	text-align: center;
}

#footer .footer_in02 .banner {
	width: 100%;
	max-width: 270px;
	height: auto;
	margin: 0 auto;
	display: block;
}

#footer .footer_in02 .banner a {
	width: 100%;
	height: auto;
}

#footer .footer_in03 {
	width: 100%;
/*	padding-top: 20px;*/
}

#footer .footer_in03 ul.foot_nav {
	padding-top: 0;
}

#footer .footer_in03 ul.foot_nav li {
	width: 100%;
	margin: 0 0 10px;
	text-align: center;
}

#footer .footer_in03 ul.foot_nav li a { color: #0F0F0F; }
#footer .footer_in03 ul.foot_nav li a:hover	{ border-bottom: dotted 1px #2F5391; }

#footer .footer_in_logo .ttl {
	font-size: 20px;
}

#footer .copyright {
	width: 100%;
	text-align: center;
	margin-bottom: 20px;
}

#footer .footer_in_logo .txt {
	font-size: 15px;
}

}


@media screen and (max-width: 690px) {

#footer .footer_in_logo .ttl br {
	display: block;
}

#footer .footer_in_logo .ttl span {
	display: none;
}

}



@media screen and (max-width: 600px) {

br.w600 { display: block; }

#header .txt,
body.home #header.fixed .txt,
body.home #header.fixed.fixed2 .txt {
	font-size: 16px;
}

#header ul.menu li a,
body.home #header.fixed ul.menu li a,
body.home #header.fixed.fixed2 ul.menu li a {
	padding: 13px 10px 8px;
}

#footer .footer_in_logo {
	margin: 0 0 30px;
	width: 100%;
}

#footer .footer_in_logo .logo {
	margin: 0 30% 20px;
	width: 40%;
	height: auto;
	float: none;
}

}


@media screen and (max-width: 480px) {

body {
	font-size: 14px;
	line-height: 1.8;
}

.txt_big { font-size: 16px; }

.sp_mb30 { margin-bottom: 30px !important; }
.mb30_10 { margin-bottom: 10px !important; }

br.pc_w860 { display: block; }

br.pc_br {
	display: none;
}
br.sp_br {
	display: block;
}

span.sp_no {
	display: none;
}

.boxC50 { width: 100%; margin: 0 0 50px; }
.boxC70 { width: 100%; margin: 0 0 50px; }
.boxL43 { float: none; width: 100%; margin-bottom: 30px; }
.boxR43 { float: none; width: 100%; margin-bottom: 30px; }
.boxL48 { float: none; width: 100%; margin-bottom: 30px; }
.boxR48 { float: none; width: 100%; margin-bottom: 30px; }
.boxL50 { float: none; width: 100%; margin-bottom: 30px; }
.boxR50 { float: none; width: 100%; margin-bottom: 30px; }

.flex-container {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-box-direction:normal;
    -moz-box-direction:normal;
    -webkit-box-orient:vertical;
    -moz-box-orient:vertical;
    -webkit-flex-direction:column;
    -moz-flex-direction:column;
    flex-direction:column;
}

.flex-item01 {
    -webkit-box-ordinal-group: 0;
    -moz-box-ordinal-group: 0;
    -webkit-flex-order: 0;
    -moz-flex-order: 0;
    -webkit-order: 0;
    -moz-order: 0;
    order: 0;
	width: 100%;
}

.flex-item02 {
    -webkit-box-ordinal-group: 1;
    -moz-box-ordinal-group: 1;
    -webkit-flex-order: 1;
    -moz-flex-order: 1;
    -webkit-order: 1;
    -moz-order: 1;
    order: 1;  
	width: 100%;
}

.flex-item03 {
    -webkit-box-ordinal-group: 2;
    -moz-box-ordinal-group: 2;
    -webkit-flex-order: 2;
    -moz-flex-order: 2;
    -webkit-order: 2;
    -moz-order: 2;
    order: 2;  
	width: 100%;
}


.photoL {
	width: 100%;
	float: none;
	margin: 0 0 30px;
}

.photoC_w60,
.photoC_w50 {
	width: 100%;
	height: auto;
	margin: 0 0 30px;
	text-align: center;
}

.photoR {
	width: 100%;
	float: none;
	margin: 0 0 30px;
}

.app_store { width:135px; height: 40px; margin: 0 auto; padding: 10px 0 0 0; float:none; }
.google_play { width:155px; height: 60px; margin: 0 auto; float:none; padding: 0}

.pc_img_w48 {
	display: none;
}

.sp_img_w48 {
	display: block;
}

#header .txt,
body.home #header.fixed .txt,
body.home #header.fixed.fixed2 .txt {
	font-size: 14px;
	line-height: 1.2em;
	padding-top: 18px;
	width: 50%;
}

#header .logo,
body.home #header.fixed .logo,
body.home #header.fixed.fixed2 .logo {
	width: 50%;
}

#header ul.menu,
body.home #header.fixed ul.menu,
body.home #header.fixed.fixed2 ul.menu {
	font-size: 16px;
}

#header ul.menu li a,
body.home #header.fixed ul.menu li a,
body.home #header.fixed.fixed2 ul.menu li a {
	padding: 13px 10px 8px;
}

#cont .cont_in p {
	font-size: 16px;
}

#cont .cont_in ul.navi {
	margin: 0;
}

#cont .cont_in ul.navi li {
	width : 100%;
	margin: 0 0 20px;
	padding: 0 7px;
	display: block;
}

#cont .cont_in ul.navi li a .txt {
	width: 100%;
	margin: 0 auto 30px;
}

#footer .footer_nav .link_btn {
	position: relative;
	top: 0;
	right: 0;
	margin-bottom: 10px;
	width: 100%;
}

#footer .footer_nav .link_btn a {
	text-align: right;
	width: 100%;
	padding: 0;
	border-radius: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
}

#footer .footer_linknav {
	padding-bottom: 0;	
}

#footer .footer_linknav .title span {
	display: none;
}

#footer .footer_linknav .title br {
	display: block;
}

#footer .footer_linknav ul li {
	width : 96%;
	float: none;
	padding-bottom: 30px;
}

#footer .footer_in01 .ttl br {
	display: block;
}

#footer .footer_in01 ul.banner_box li.li03 {
	height: 85px;
	width : 270px;
}

#footer .footer_in_logo .ttl {
	font-size: 18px;
}

#footer .footer_in_logo .logo {
	margin: 0 20% 20px;
	width: 60%;
}

#footer .footer_in_logo .txt {
	font-size: 13px;
}

}

@media screen and (max-width: 412px) {
.FBboxL48 .pc_fb,.FBboxR48 .pc_fb { display: none;}
.FBboxL48 .sp_fb,.FBboxR48 .sp_fb { display: block; width: 100%;}
}


@media screen and (max-width: 400px) {

#header .txt,
body.home #header.fixed .txt,
body.home #header.fixed.fixed2 .txt {
	width: 42%;
	padding: 14px 0 0 40px;
	text-align: center;
	margin: 0 0 0 auto;
	font-size: 14px;
	line-height: 1.2em;
}

#header .txt br,
body.home #header.fixed .txt br,
body.home #header.fixed.fixed2 .txt br {
	display: block;
}

#header .logo,
body.home #header.fixed .logo,
body.home #header.fixed.fixed2 .logo {
	width: 58%;
	padding: 0;
}

#header .logo .img,
body.home #header.fixed .logo .img,
body.home #header.fixed.fixed2 .logo .img {
	margin: 0 auto 0 0;
	width: 125px;
	height: 40px;
}


#header ul.menu,
body.home #header.fixed ul.menu,
body.home #header.fixed.fixed2 ul.menu {
	font-size: 15px;
}

#header ul.menu li a,
body.home #header.fixed ul.menu li a,
body.home #header.fixed.fixed2 ul.menu li a {
	padding: 13px 5px 8px;
}

#header #sp_btn,
body.home #header.fixed #sp_btn,
body.home #header.fixed.fixed2 #sp_btn {
	top: 12px;
	right: 10px;
}

#header #sp_btn a,
body.home #header.fixed #sp_btn a,
body.home #header.fixed.fixed2 #sp_btn a {
  display: inline-block;
  cursor: pointer;
  height: 30px;
  line-height: 30px;
  text-align: center;
  width: 30px;
  background: #FFFFFF;
}

#footer .footer_in_logo .ttl {
	font-size: 15px;
}

}

@media screen and (max-width: 319px) {

#header,
body.home #header.fixed,
body.home #header.fixed.fixed2 {
	position: relative;
}

#header .txt,
body.home #header.fixed .txt,
body.home #header.fixed.fixed2 .txt {
	font-size: 3.00vw;
}

#header ul.menu,
body.home #header.fixed ul.menu,
body.home #header.fixed.fixed2 ul.menu {
	font-size: 3.00vw;
}

#contents {
    margin-top: 0;
    padding-top: 0;
}

}