@charset "utf-8";

/* -----------------------------------------------------------------
 横幅
----------------------------------------------------------------- */
.w100 {
  width: 100% !important;
}

@media screen and (max-width: 767px) {
  .w100_sp {
    width: 100% !important;
  }
}

/* -----------------------------------------------------------------
 見出し
----------------------------------------------------------------- */
/*-- ttl_lv2 --*/
.main_cont .ttl_lv2 {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top:2em;
	line-height:1.1;
	font-size:2em;
}
.main_cont .ttl_lv2 .ico {
	display:inline-block;
	display: flex;
	justify-content: center;
	align-items: center;
	width:1.8em;
	height:1.3em;
	margin-right:0.2em;
}
.main_cont .ttl_lv2 .ico img {
	display:inline;
	max-height:100%;
}

/*-- ttl_lv3 --*/
.main_cont .ttl_lv3 {
	display: flex;
	align-items: center;
	margin-top:2em;
	font-size:1.64em;
}
.main_cont .ttl_lv3 .ico {
	display:inline-block;
	width:1.1em;
	height:1.1em;
	margin-right:0.2em;
}
.main_cont .ttl_lv3 .ico img {
	display:inline;
	width:100%;
}
.main_cont .ttl_lv3 .small {
	font-size:80%;
}
/*-- ttl_lv4 --*/
.main_cont .ttl_lv4 {
	display: flex;
	margin-top:2.5em;
	font-weight:bold;
	font-size:1.35em;
	color:#026c9f;
}

@media screen and (min-width: 768px) {
.main_cont .ttl_lv2 {
	margin-top:1.58em;
}
}

@media screen and (min-width: 1024px) {
.main_cont .ttl_lv2 {
	font-size:2.32em;
}
.main_cont .ttl_lv3 {
	font-size:2em;
}
.main_cont .ttl_lv4 {
	font-size:1.44em;
}
}

/*-- ttl_lv5 --*/
.ttl_lv5 {
  color: #4b4948;
  font-size: 1.5em;  
  text-align: center;
  margin: 65px 0 35px 0;
}
.ttl_lv5 .en{
  font-size: 0.66em;  
  display: block;
	font-family: "Sorts Mill Goudy", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; 
}
@media screen and (max-width: 768px) {
  .ttl_lv5 {
    margin: 65px 0 25px 0;
  }
}

/*-- ttl_lv6 --*/
.ttl_lv6 {
  color: #fff;
  font-size: 1.16em;  
  margin: 30px 0 20px 0;
  padding: 10px 27px;
  background: #76b5d5;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
	.ttl_lv6 {
	  margin: 20px 0;
	  padding: 8px 16px;
	}
}

/*-- ttl_lv7 --*/
.box_ttl_lv7  {
  text-align: center;
  color: #4b4948;
  margin: 30px 0 20px 0;
}
.box_ttl_lv7  .ttl {
  font-size: 1.5em;
}
.box_ttl_lv7  .enttl {
	font-family: "Sorts Mill Goudy", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; 
}

/*-- ttl_lv8 --*/
.ttl_lv8 {
  color: #76b5d5;
  font-size: 1.22em;  
  margin: 30px 0 20px 0;
  padding: 7px 0 5px 0;
  font-weight: bold;
  border-top:1px solid #76b5d5;
  border-bottom:1px solid #76b5d5;  
}
@media screen and (max-width: 768px) {
	.ttl_lv6 {
	  margin: 20px 0;
	  padding: 8px 16px;
	}
}




/* -----------------------------------------------------------------
 文字
----------------------------------------------------------------- */
.font_css_1 {
	font-weight:bold;
	font-size:1.57em;
	color:#76b5d5;
}
@media screen and (min-width: 768px) {
.font_css_1 {
	font-size:1.55em;
}
}
.font_css_2 {
	font-weight:bold;
	font-size:1.22em;
	color:#76b5d5;
}
@media screen and (min-width: 768px) {
.font_css_2 {
	font-size:1.2em;
}
}

.txtRed,
.txtRed a {
  color: #ff7484;
}

.txtLblue,
.txtLblue a {
  color: #1baecb;
}



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

/*---------- btn ----------*/
.btn_moreview a {
	display:flex;
	justify-content: center;
	align-items: center;
	width:92vw;
	margin:1.5em auto 0;
	padding:1.3em 1em;
	border:#3f3a39 1px solid;
}
.btn_moreview a::after {
	content:"";
	display:block;
	width:1.2em;
	height:1.2em;
	margin-left:0.3em;
	background:url(/common/img/arrow_standard_black_large.svg) no-repeat center center;
	background-size:contain;
}

@media screen and (min-width: 768px) {
.btn_moreview a {
	width:50%;
	min-width:8em;
	max-width:620px;
	padding: 1.2em 1em;
	font-size:20px;
	font-size:1.11em;
	transition:all .3s ease;
}
.btn_moreview a::after {
	transition:all .3s ease;
}
.btn_moreview a:hover {
	background:#89bfdb;
	border:#89bfdb 1px solid;
	color:#fff;
}
.btn_moreview a:hover::after {
	background:url(/common/img/arrow_standard_white_large.svg) no-repeat center center;
	background-size:contain;
}

}

/*---------- 基本ボタン ----------*/
.cmn_btn {
}
.cmn_btn a { 
  display: inline-block;
  background-color: #0989e4;
  color: #fff;
  border: solid 1px #0989e4;
  box-shadow: 0 3px 0 rgba(10,104,170,1);  
  position: relative;
  line-height: 1.3;
  margin-bottom: 3px;
  padding: 20px 70px;
  border-radius: 50px;
  text-align: center;
	transition:all .3s ease;
}
.cmn_btn a::after{
  content: '';
  position: absolute;
  right: 15px;
  top: 50%;
  width: 10px;
  height: 18px;
  margin-top: -9px;
	background:url(/common/img/arrow_standard_white.svg) no-repeat center center;
	background-size:contain;
}
.cmn_btn a span {
  display: inline-block;
}
/*サイズ*/
.cmn_btn.small a { 
  padding: 10px 60px;
  font-size: 0.88em;
}
.cmn_btn.small a::after{
  width: 8px;
  height: 14px;
  margin-top: -7px;
}
.cmn_btn.large a { 
  padding: 30px 80px;
  font-size: 1.22em;
}
.cmn_btn.large a::after{
  width: 15px;
  height: 27px;
  margin-top: -15px;
}

@media screen and (min-width: 769px) {
  .cmn_btn a:hover {
    background-color: #fff;
    color: #0989e4;
  }
  .cmn_btn a:hover::after{
    background:url(/common/img/arrow_standard_dblue.svg) no-repeat center center;
    background-size:contain;
  }
}
@media screen and (max-width: 768px) {
  .cmn_btn a { 
    padding: 20px 40px;
  }
  /*サイズ*/
  .cmn_btn.small a { 
    padding: 10px 30px 10px 20px;
  }
  .cmn_btn.large a { 
    padding: 30px 40px;
  }  
}
/*影薄*/
.cmn_btn.pblue a { 
  box-shadow: 0 3px 0 rgba(200,226,244,1);  
}

/*pink*/
.cmn_btn.pink a { 
  background-color: #fb7383;
  border: solid 1px #fb7383;
  box-shadow: 0 3px 0 rgba(255,210,215,1); 
}
@media screen and (min-width: 769px) {
  .cmn_btn.pink a:hover {
    background-color: #fff;
    color: #fb7383;
  }
  .cmn_btn.pink a:hover::after{
    background:url(/common/img/arrow_standard_pink.svg) no-repeat center center;
    background-size:contain;
  }
}

/*white*/
.cmn_btn.white a { 
  background-color: #fff;
  border: solid 1px #0989e4 ;
  box-shadow: 0 3px 0 rgba(200,226,244,1);
  color: #0989e4 ;
}
.cmn_btn.white a::after{
  content: '';
  position: absolute;
  right: 15px;
  top: 50%;
  width: 10px;
  height: 18px;
  margin-top: -8px;
	background:url(/common/img/arrow_standard_dblue.svg) no-repeat center center;
	background-size:contain;
}
@media screen and (min-width: 769px) {
  .cmn_btn.white a:hover {
    background-color: #0989e4 ;
    color: #fff;
  }
  .cmn_btn.white a:hover::after{
    background:url(/common/img/arrow_standard_white.svg) no-repeat center center;
    background-size:contain;
  }
}

/*横幅*/
.cmn_btn.w100 a { width: 100%; padding-left: 20px; padding-right: 20px ; }
.cmn_btn.w80 a { width: 80%; padding-left: 20px; padding-right: 20px ; }
.cmn_btn.w60 a { width: 60%; padding-left: 20px; padding-right: 20px ; }
.cmn_btn.w50 a { width: 50%; padding-left: 20px; padding-right: 20px ; }

/*pdf*/
.cmn_btn a .pdf {
  position: relative;
  padding-right: 30px;
}
.cmn_btn a .pdf::after {
  display: inline-block;
  content: '';
  position: absolute;
  right: 0;
  top: 50%;  
  width: 24px;
  height: 25px;
  margin-top: -13px;
	background:url(/common/img/ico_file_pdf_white.svg) no-repeat center center;
	background-size:contain;
}
.cmn_btn.white a .pdf::after {
	background:url(/common/img/ico_file_pdf_blue.svg) no-repeat center center;
	background-size:contain;
}
@media screen and (min-width: 769px) {
  .cmn_btn a:hover .pdf::after {
    background:url(/common/img/ico_file_pdf_blue.svg) no-repeat center center;
    background-size:contain;
  }
  .cmn_btn.pink a:hover .pdf::after {
    background:url(/common/img/ico_file_pdf_pink.svg) no-repeat center center;
    background-size:contain;
  }
  .cmn_btn.white a:hover .pdf::after {
    background:url(/common/img/ico_file_pdf_white.svg) no-repeat center center;
    background-size:contain;
  }
}
.cmn_btn a  br + .pdf {
  display: inline-block;
  padding-top: 8px;
}

/*link*/
.cmn_btn a .link {
  position: relative;
  padding-right: 25px;
}
.cmn_btn a .link::after {
  display: inline-block;
  content: '';
  position: absolute;
  right: 0;
  top: 50%;  
  width: 17px;
  height: 17px;
  margin-top: -9px;
	background:url(/common/img/ico_link_blank_white.svg) no-repeat center center;
	background-size:contain;
}
.cmn_btn.white a .link::after {
	background:url(/common/img/ico_link_blank_blue.svg) no-repeat center center;
	background-size:contain;
}
@media screen and (min-width: 769px) {
  .cmn_btn a:hover .link::after {
    background:url(/common/img/ico_link_blank_blue.svg) no-repeat center center;
    background-size:contain;
  }
  .cmn_btn.pink a:hover .link::after {
    background:url(/common/img/ico_link_blank_pink.svg) no-repeat center center;
    background-size:contain;
  }
  .cmn_btn.white a:hover .link::after {
    background:url(/common/img/ico_link_blank_white.svg) no-repeat center center;
    background-size:contain;
  }
}
  .cmn_btn a  br + .link {
  display: inline-block;
  padding-top: 3px;
}

/*insidemap*/
.cmn_btn a .insidemap {
  position: relative;
  padding-left: 50px;
}
.cmn_btn a .insidemap::before {
  display: inline-block;
  content: '';
  position: absolute;
  left: 0;
  top: 50%;  
  width: 36px;
  height: 32px;
  margin-top: -18px;
	background:url(/common/img/ico_insidemap.svg) no-repeat center center;
	background-size:contain;
}
@media screen and (min-width: 769px) {
  .cmn_btn a:hover .insidemap::before {
    background:url(/common/img/ico_insidemap_pink.svg) no-repeat center center;
    background-size:contain;
  }
}


/* -----------------------------------------------------------------
 accordion
----------------------------------------------------------------- */
/*-- accordion_ttl --*/
.main_cont .accordion_ttl {
	position:relative;
	margin-top:1.5em;
	padding:.6em 1.8em .6em 1.2em;
	background:#e2eff6;
	border-radius:6em;
	font-weight:bold;
	font-size:1.35em;
	color:#76b5d5;
}
.main_cont .accordion_ttl::before {
	position:absolute;
	content:"";
	display:block;
	top:calc(50% - 1px);
	right:1em;
	width:1em;
	height:2px;
	background:#76b5d5;
	transform:rotate(90deg);
	transition:all .3s ease;
}
.main_cont .accordion_ttl::after {
	position:absolute;
	content:"";
	display:block;
	top:calc(50% - 1px);
	right:1em;
	width:1em;
	height:2px;
	background:#76b5d5;
}
/* on */
.main_cont .on .accordion_ttl::before {
	transform:rotate(0deg);
}

/*-- accordion_body --*/
.main_cont .accordion_body {
	display:none;
}
.main_cont .accordion_body.open {
	display:block;
}

@media screen and (min-width: 768px) {
.main_cont .accordion_ttl {
	margin-top:2.5em;
	cursor:pointer;
}

}


/* -----------------------------------------------------------------
 tab_control
----------------------------------------------------------------- */
.tab_control {
	display: flex;
	align-items: center;
	margin-top:3.67em;
}
.tab_control li {
	flex-grow: 1;
	position:relative;
	padding:.8em .5em;
	box-shadow: 0 2px 3px rgba(0,0,0,0.2);
	border:#76b5d5 1px solid;
	cursor:pointer;
	color:#76b5d5;
}
.tab_control .layout {
    width: 100%;
	line-height:1.2;
	text-align:center;
	font-weight:bold;
}
.tab_control li:nth-of-type(n+2) {
	margin-left:.4em;
}

/*-- 2分割 --*/
.tab_control.col2 li {
	width: calc((100%) / 2);
}

/*-- 3分割 --*/
.tab_control.col3 li {
	width: calc((100%) / 3);
}

/*-- current --*/
.tab_control li.tab.current {
	background:#76b5d5;
	box-shadow: 0 2px 3px rgba(0,0,0,0);
	color:#fff;
}
.tab_control li.tab.current::before {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: calc(50% - 5px);
  bottom: -10px;
  border-style: solid;
  border-width: 10px 10px 0 10px;
  border-color: #76b5d5 transparent transparent transparent;
}


@media screen and (min-width: 768px) {
.tab_control {
	margin-top:4.44em;
}
.tab_control li {
	display: flex;
	justify-content: center;
	align-items: center;
	align-self: stretch;
	padding:1em .5em;
	font-size:calc(0.889rem + 6 * (100vw - 768px) / 632); /* w768のとき16px → w1400のとき22px */ 
}
.tab_control li::after {
	content: '';
	display: block;
	width: .6em;
	height: .6em;
	margin-right:.2em;
	background:url(/common/img/arrow_standard_blue.svg) no-repeat center center;
	background-size:contain;
	transform:rotate(90deg);
}
.tab_control .layout {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
/*-- current --*/
.tab_control li.tab.current {
	transition:all .3s ease;
}
.tab_control li.tab.current::before {
  left: calc(50% - 6px);
  bottom: -12px;
  border-width: 12px 12px 0 12px;
}
.tab_control li.tab.current::after {
	background:url(/common/img/arrow_standard_white.svg) no-repeat center center;
}

}
@media screen and (min-width: 1400px) {
.tab_control li {
	font-size: 1.22em;

}
}




/* -----------------------------------------------------------------
 tabpage
----------------------------------------------------------------- */
.tabpage {
}




/* -----------------------------------------------------------------
 list
----------------------------------------------------------------- */
/*---------- disc_blue ----------*/
ul.disc_blue {
	margin-top:1em;
  overflow: hidden;
}
ul.disc_blue li {
	position:relative;
	padding-left:1em;
	line-height:1.2;
}
ul.disc_blue li+li {
	margin-top:.4em;
}
ul.disc_blue li::before {
	content:"●";
	display:inline-block;
	position:absolute;
	top:.1em;
	left:0;
	width:1em;
	height:1em;
	font-size:.8em;
	color:#76b5d5;
}
/*インデント*/
ul.disc_blue.ind > li{
  display: inline-block;
  margin-right: 15px;
}
/*2列*/
ul.disc_blue.col2 > li{
  width: 50%;
  float: left;
  padding-right: 1em;
	margin-top:.4em;
}
/*3列*/
ul.disc_blue.col3 > li{
  width:33.33%;
  float: left;
  padding-right: 1em;
	margin-top:.4em;
}
/*4列*/
ul.disc_blue.col4 > li{
  width:25%;
  float: left;
  padding-right: 1em;
	margin-top:.4em;
}
@media screen and (max-width :768px){
  /*インデント*/
  ul.disc_blue.ind > li{
    display: block;
    margin-right: 0;
  }  
  /*3列*/
  ul.disc_blue.col3 > li{
    width: 100%;
    float: none;
  }  
  /*4列*/
  ul.disc_blue.col4 > li{
    width: 50%;
  }    
}

/*---------- dot ----------*/
ul.dot {
	margin-top:1em;
}
ul.dot li {
	position:relative;
	padding-left:1em;
	line-height:1.2;
}
ul.dot li+li {
	margin-top:.4em;
}
ul.dot li::before {
	content:"・";
	display:inline-block;
	position:absolute;
	top:.1em;
	left:0;
	width:1em;
	height:1em;
	font-weight:bold;
	font-size:.8em;
}

/*---------- kome ----------*/
ul.kome {
	margin-top:1em;
}
ul.kome li {
	position:relative;
	padding-left:1.2em;
	line-height:1.2;
}
ul.kome li+li {
	margin-top:.4em;
}
ul.kome li::before {
	content:"※";
	display:inline-block;
	position:absolute;
	top:.1em;
	left:0;
	width:1.2em;
	height:1em;
}


/*---------- deci ----------*/
ol.deci {
	margin-top:1em;
	padding-left:1.5em;
	list-style-type: decimal;
}
ol.deci li {
	line-height:1.2;
}
ol.deci li+li {
	margin-top:.4em;
}


/* -----------------------------------------------------------------
 table
----------------------------------------------------------------- */

/*---------- tbl_standard ----------*/
.tbl_standard {
	width:100%;
	margin-top:1em
}
.tbl_standard th,
.tbl_standard td {
	padding:.8em;
	border:#e5e5e5 1px solid;
	vertical-align:middle;
}
.tbl_standard th {
	width:25%;
	background:#76b5d5;
	white-space:nowrap;
	line-height:1.2;
	color:#fff;
}
.tbl_standard td {
}
.tbl_standard td >*:first-of-type {
	margin-top:0;
}

@media screen and (min-width: 768px) {
.tbl_standard th {
	text-align:center;
	font-size:calc(1rem + 4 * (100vw - 768px) / 632);/* w768のとき16px → w1400のとき20px */
}
}
@media screen and (min-width: 1400px) {
.tbl_standard th {
	font-size:1.11em;
}
}



/* -----------------------------------------------------------------
 その他
----------------------------------------------------------------- */
/*電話番号-----------------------*/
@media print,screen and (min-width :769px){
  .tellink {
    pointer-events: none;
  }
}


/* -----------------------------------------------------------------
 お問い合わせbox
----------------------------------------------------------------- */
.cmn_contact_bdr {
  border: #026c9f 1px solid;
  margin: 0 0 10px 0;
}
.cmn_contact_bdr dt {
  background: #e4f0f7;
  border-bottom: #026c9f 1px solid;
  text-align: center;
  font-weight: bold;
  color: #026c9f;  
  font-size: 1.22em;
  padding: 0.4em 0;
}
.cmn_contact_bdr .cmn_col2 {
  display: table;
  margin:  0 auto;
}
.cmn_contact_bdr .cmn_col2_cont.txtRight {
  text-align: right;
  padding-right: 15px;
}
.cmn_contact_bdr .cmn_col2_cont {
  display: table-cell;
  vertical-align: middle;
  padding: 20px 0;
}
.cmn_contact_bdr .cmn_col2_cont.btn {
  width: 480px;
  padding: 0 20px 0 0;
}
.cmn_contact_bdr .cmn_telnum {
  color: #ff7484;
  font-size: 2.5em;
  font-weight: bold;
  line-height: 1;
}
.cmn_contact_bdr .cmn_telnum.small {
  font-size: 2em;
}
.cmn_contact_bdr .cmn_telnum a {
  color: #ff7484;
}
.cmn_contact_bdr .cmn_telnum .ico {
  margin-right: .2em;
  vertical-align: middle;
}
.cmn_contact_bdr .cmn_telnum .ico img {
  display: inline;
  width: 1em;
}
.cmn_contact_bdr .cmn_text {
  font-size: 1.1em;
  font-weight: bold;
}
.cmn_contact_bdr .cmn_text span {
  font-size: 0.9em;
  margin-left: 14px;
}
.cmn_contact_bdr .cmn_btn a {
  width: 460px;
  margin: 0 auto;
  font-weight: bold;
  font-size: 1.1em;
}

@media screen and (max-width: 1500px) {
  .cmn_contact_bdr .cmn_text span {
    display: block;
    margin-left: 0;
  }
  .cmn_contact_bdr .cmn_col2_cont.btn {
    width:auto;
  }
  .cmn_contact_bdr .cmn_btn a { 
    padding-left: 30px;
    padding-right: 30px;
    white-space: nowrap;
  } 
}
@media screen and (max-width: 1280px) {
  .cmn_contact_bdr .cmn_col2 {
    display: block;
    padding: 20px 0;
  }
  .cmn_contact_bdr .cmn_col2_cont {
    display: block;
    text-align: center;
    padding: 0 10px;
  }
  .cmn_contact_bdr .cmn_col2_cont.btn {
    padding: 0;
  }  
  .cmn_contact_bdr .cmn_telnum {
    margin: 0 0 8px 0;
    text-align: center;
  }
  .cmn_contact_bdr .cmn_btn {
    margin: 0 auto 15px auto;
  }
  .cmn_contact_bdr .cmn_btn a {
    width: 91%;
  }   
}
@media screen and (max-width: 768px) {
  .cmn_contact_bdr .cmn_telnum {
    font-size: 2em;
  }
}


/* -----------------------------------------------------------------
 よくある質問
----------------------------------------------------------------- */
.box_qacont .accordion .accordion_ttl  {
  margin-top: 35px;
}
.box_qacont .cmn_qacont {
  display: table;
  width: 100%;
  padding-left: 40px !important;
}
.box_qacont .cmn_qacont a:not(.tellink) {
	border-bottom:#9ec9e0 1px solid;
	color:#9ec9e0;
	transition:all .3s ease;
}
.box_qacont .cmn_qacont a:hover {
	border-bottom:#fff 1px solid;
}
.box_qacont .cmn_qacont dt {
  display: table-cell;
  width: 45px;
}
.box_qacont .cmn_qacont dd {
  display: table-cell;
  vertical-align: top;
}
.box_qacont .accordion_ttl.cmn_qacont {
}
.box_qacont .accordion_ttl.cmn_qacont dt,
.box_qacont .accordion_ttl.cmn_qacont dd {
  vertical-align: middle;
}
.box_qacont .accordion_ttl.cmn_qacont dd h3 {
  line-height: 1.41;
  font-weight: bold;
}
.box_qacont .accordion_body  {
  margin: 20px 0 0 0; 
}
.box_qacont .accordion_body .cmn_qacont dd {
  line-height: 1.38;
}
.box_qacont .cmn_q {
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #fff;
  text-align:center;
  line-height: 30px;
  font-size: 22px;
}
.box_qacont .cmn_a {
  display: inline-block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #ff7484;
  text-align:center;
  line-height: 30px;
  font-size: 22px;  
  color: #fff;
}

@media screen and (max-width: 768px) {
  .box_qacont .cmn_qacont {
    padding-left: 15px !important;
  }
  .box_qacont .cmn_qacont dt {
      width: 40px;
  }  
  .box_qacont .cmn_qacont.accordion_ttl  {
    padding-right: 45px !important;
  }  
  .box_qacont .accordion_body .cmn_qacont {
    margin: 10px 0 0 0; 
  }
}



/* -----------------------------------------------------------------
 ftr_nav_sp
----------------------------------------------------------------- */
#ftr_nav_sp{
  position: relative;
  background-color: #76b5d5;
  color: #fff;
  margin: 30px 0 0 0;
}
#ftr_nav_sp dt {
  border-bottom: 1px solid #e2eff6;
  background: url(/common/img/ico_link_w.svg) no-repeat 95.8% center;
  background-size: 7px auto;
}
#ftr_nav_sp dt a {
  color: #fff;
  display: block;
  padding: 14px 20px;  
}
#ftr_nav_sp .nav_tgl dt {
  background: url(/common/img/ico_plus_w.svg) no-repeat 95.8% center;
  background-size: 7px auto;
}
#ftr_nav_sp .nav_tgl dt {
  padding: 14px 20px;    
}
#ftr_nav_sp .nav_tgl dt.on {
  background: url(/common/img/ico_minus_w.svg) no-repeat 95.8% center;
  background-size: 7px auto;
}
#ftr_nav_sp .nav_tgl dd{
  display: none;
} 
#ftr_nav_sp .nav_tgl dd .nav_tgl_submenu li a{
  padding: 14px 20px;
  border-bottom: solid 1px #76b5d5; 
  display: block;
  color: #76b5d5;
  background:#e2eff6 url(/common/img/ico_link_b.svg) no-repeat 95.8% center;
  background-size: 7px auto;  
}


/* -----------------------------------------------------------------
 swiper
----------------------------------------------------------------- */
/*.swiper_arrow 矢印共通化*/
.swiper_arrow {
  position: relative;
}
.swiper_arrow .swiper-button-next,
.swiper_arrow .swiper-button-prev {
    position: absolute;
    top: 37%;
    width: 80px;
    height: 80px;   
    z-index: 10;    
}
.swiper_arrow .swiper-button-prev {
	background:url(/common/img/swiper_arrow.svg) no-repeat center center;
  background-size: cover;
}
 .swiper_arrow .swiper-button-next {
	background:url(/common/img/swiper_arrow.svg) no-repeat center center;
  background-size: cover;   
  transform: rotate(180deg);      
} 
.swiper_arrow .swiper-button-prev,
.swiper_arrow .swiper-container-rtl .swiper-button-next {
    left: 50px;
    right: auto
}
.swiper_arrow .swiper-button-next,
.swiper_arrow .swiper-container-rtl .swiper-button-prev {
    right: 50px;
    left: auto
}
@media screen and (max-width: 768px) {
  /*.swiper_arrow */
  .swiper_arrow .swiper-button-next,
  .swiper_arrow .swiper-button-prev {
    top: 40%;
    width: 50px;
    height: 50px;   
  }
  .swiper_arrow .swiper-button-prev,
  .swiper_arrow .swiper-container-rtl .swiper-button-next {
    left: 20px;
  }
  .swiper_arrow .swiper-button-next,
  .swiper_arrow .swiper-container-rtl .swiper-button-prev {
    right: 20px;
  }  
}


/* -----------------------------------------------------------------
 cmn_att
----------------------------------------------------------------- */
.cmn_att {
  background: #fffef7;
  color: #76b5d5;
  border: 1px solid #76b5d5;
  border-radius: 10px;
  text-align: center;
  padding: 15px;
  margin: 30px 0;
}
.cmn_att .text {
  font-weight: bold;
  font-size: 1.22em;
  line-height: 1.5;  
}
@media screen and (max-width: 768px) {
  .cmn_att .text {
    font-size: 1.1em;
  }  
}

/* -----------------------------------------------------------------
 cmn_checklist
----------------------------------------------------------------- */
.cmn_attimg  {
  text-align: center;
  margin-top: 0 !important;
}
.cmn_attimg  .box_attimg  {
  max-width:340px;
  display: inline-block;
  vertical-align: top;
  margin: 0 15px 30px 15px;
}
.cmn_attimg  .box_attimg .img img {
  margin: 0 auto;
}
.cmn_attimg  .box_attimg .img figcaption {
  text-align: center;
  font-weight: bold;
  font-size: 1.38em;
  line-height: 1.5;
  color: #026c9f;
  margin: 10px 0 5px 0;
}
.cmn_attimg  .box_attimg .text  {
  font-size: 0.94em;
  line-height: 1.5;
  text-align: left;
}
.cmn_attimg  .box_attimg.col2 {
  max-width:400px;
  margin: 0 15px 30px 15px;
}
@media screen and (max-width: 768px) {
  .cmn_attimg  .box_attimg .img img {
    width: 60%;
  }  
  .cmn_attimg  .box_attimg  {
    margin: 0 0 30px 0;
  }
  .cmn_attimg  .box_attimg .img figcaption {
    font-size: 1.2em;
  }
  .cmn_attimg  .box_attimg .text  {
    font-size: 1em;
  }  
}


/* -----------------------------------------------------------------
 cmn_checklist
----------------------------------------------------------------- */
.cmn_checklist .box_checklist {
  display: table;
  width: 100%;
  margin: 30px 0;
}
.cmn_checklist .box_checklist dt {
  display: table-cell;
  padding: 5px 0 0 0;
  width: 55px;
  vertical-align: top;
}
.cmn_checklist .box_checklist dd {
  display: table-cell;
  vertical-align: top;
}
.cmn_checklist .box_checklist .num {
  display: inline-block;
  height:40px;
  width:40px;
  font-size: 1.22em;
  font-weight: bold;
  color: #fff;
  border-radius:50%;
  line-height:40px;
  text-align:center;
  background: #76b5d5;
}
.cmn_checklist .box_checklist .ttl {
  font-weight: bold;
  font-size: 1.38em;
  line-height: 1.5;
  color: #76b5d5;
}



/* -----------------------------------------------------------------
 cmn_idol
----------------------------------------------------------------- */
.box_idol_list {
  margin-top: 100px;
}
.box_idol_list .ttl {
  margin-bottom: 30px;
}
.box_idol_list .ttl img {
  margin: auto;
  max-width: 374px;
}
.box_idol_list .swiper_idol .swiper-slide  .img img {
  margin: auto;
}
.box_idol_list .swiper_idol .swiper-slide  .txt {
  margin: 5px;
  font-size: .83em;
  color: #011952;
}
@media screen and (min-width: 769px) {
  .box_idol_list .swiper_idol .swiper-slide {
    width: 280px !important;
  }  
}
@media screen and (max-width: 768px) {
  .box_idol_list {
    margin-top: 30px;
  }  
  .box_idol_list .ttl img {
    max-width: 80%;
  }
  .box_idol_list .swiper_idol .swiper-slide  .txt {
    font-size: 1.07em;
  }  
}



/* -----------------------------------------------------------------
 cmn_picturebook
----------------------------------------------------------------- */
.cmn_picturebook {
  margin-bottom: 50px;
}
.cmn_picturebook ul.list {
	display: flex;
	flex-wrap: wrap;
	width: 94%;
	margin-top:1.3em;
	margin-left: auto;
	margin-right: auto;
	transition:all .3s ease;
}
.cmn_picturebook ul.list li {
	width:calc(94% / 3);
	margin:1em 1% 0 1%;
	opacity:1;
	cursor:pointer;
}
.cmn_picturebook ul.list li.hide{
	display:none;
	height:0;
	width:0;
}
.cmn_picturebook ul.list li figure .img {
	position:relative;
	display:inline-block;
}
.cmn_picturebook ul.list li figure .img::after{
	z-index:1;
	position:absolute;
	content:"";
	bottom:0;
	right:0;
	width:27%;
	height:27%;
	background:url(/special/img/ico_zoom.png) no-repeat center top;
	background-size:contain;
}
.cmn_picturebook ul.list li figure .img img{
	width:100%;/*IE11*/
	border:#d1ebf5 .5em solid;
	border-radius:50%;
}
.cmn_picturebook ul.list li figcaption{
	line-height:1.4;
	text-align:center;
	font-weight:bold;
	font-size:1em;
	color:#266ec1;
  padding: 0 5px;
}
.cmn_picturebook .not_found {
	display: flex;
	justify-content: center;
	align-items: center;
	width:90%;
	height:15em;
	margin:auto;
	text-align:center;
	font-weight:bold;
	color:#266ec1;
}
.cmn_picturebook .not_found.hide {
	display:none;
}
.cmn_picturebook ul.list.max06 li:nth-child(n+7) {
  display: none;
}

@media screen and (min-width: 768px) {
.cmn_picturebook ul.list {
	justify-content:center;
}
.cmn_picturebook ul.list li {
	width:200px;
  margin-right: 20px;
  margin-left: 20px;  
}
.cmn_picturebook ul.list li figcaption{
	font-size:1.2em;
}
.cmn_picturebook ul.list li figure .img::before{
	z-index:1;
	position:absolute;
	content:"";
	bottom:0;
	right:0;
	width:100%;
	height:100%;
	border:transparent 2px dashed;
	border-radius:50%;
	transition:all .6s ease;
	animation: rotation 8s infinite linear;
}
.cmn_picturebook ul.list li:hover figure .img::before{
	border:#266ec1 2px dashed;
}
.cmn_picturebook ul.list li figure .img::after{
	bottom:5%;
	right:5%;
	width:20%;
	height:20%;
}
.cmn_picturebook ul.list li figcaption{
	font-size:1.27em;
}
.cmn_picturebook ul.list.max06 li:nth-child(n+7) {
  display: block;
}
@keyframes rotation {
from {transform: rotate(0deg);}
to {transform: rotate(360deg);}
}
}

/* -----------------------------------------------------------------
 box_iframe
----------------------------------------------------------------- */
#box_iframe {
	display:none;
	z-index:1200;
	position:fixed;
	top:0;
	bottom:0;
	left:0;
	right:0;
	width:90%;
	height:90%;
	max-width:700px;
	max-height:500px;
	margin:auto;
	border-radius:.5em .5em 0 0 / .5em .5em 0 0;
	background:#fff;
	overflow: hidden;
}
#box_iframe iframe {
	width:100%;
	height:100%;
	overflow: hidden;
}
@media screen and (min-width: 768px) {
#box_iframe {
}
}

/*---------- btn_close ----------*/
#box_iframe .btn_close {
	position:absolute;
	bottom:0;
	display:flex;
	justify-content: center;
	align-items: center;
	width:100%;
	padding:.3em 0;
	background:#3477c5;
	letter-spacing:.2em;
	font-weight:bold;
	font-size:1.14em;
	color:#fff;
	cursor:pointer;
}
#box_iframe .btn_close::before {
	content:"";
	display:block;
	width:1em;
	height:1em;
	margin-right:0.6em;
	background:url(/special/picture_book/img/ico_close.svg) no-repeat right center;
	background-size:contain;
}

@media screen and (min-width: 768px) {
#box_iframe .btn_close {
	font-size:1em;

}
}

/* -----------------------------------------------------------------
 box_onlylink
----------------------------------------------------------------- */
.box_onlylink {
  display: -webkit-box;
  display: -ms-flex;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  word-break: break-all;
  justify-content: space-between;
  margin: 30px 0 ;
  text-align: center;
}
.box_onlylink .text {
  width: 60%;
}
.box_onlylink .bnr {
  width: 38%;
}
.box_onlylink dl {
  border: 1px solid #026c9f;
}
.box_onlylink dl dt {
  background: #e4f0f7;
  border-bottom: 1px solid #026c9f;
  font-weight: bold;
  font-size: 122%;
  color: #026c9f;
  padding: 10px;
  display: -webkit-box;
  display: -ms-flex;
  display: -webkit-flex;
  display: flex; 
  justify-content: center;
  align-items: center;  
}
.box_onlylink dl dd {
  padding: 15px 10px; 
  display: -webkit-box;
  display: -ms-flex;
  display: -webkit-flex;
  display: flex; 
  justify-content: center;
  align-items: center;  
}
@media screen and (max-width: 1280px)   {
  .box_onlylink {
    display: block;
  }
  .box_onlylink dl {
    width: 100% !important;
    margin-bottom: 20px;
  }
  .box_onlylink dl dt {
    display: block;
  }
  .box_onlylink dl dd {
    display: block;  
  }
  .box_onlylink dl dd img {
    margin:  auto;
  }
}