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

/* 11204変更pixel start */
@media screen and ( max-width: 1120px ) {

/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: fixed;
  right : 18px;
  top   : 8px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
  background: rgba(13, 93, 210, 0);
  z-index: 103;
}

.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #444;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger.active {
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition     : all 0.3s ease-in-out;
  transition        : all 0.3s ease-in-out;
  -webkit-transition-delay: 0.6s;
  -o-transition-delay     : 0.6s;
  transition-delay        : 0.6s;
  -webkit-transform: rotate(45deg);
  -ms-transform    : rotate(45deg);
  -o-transform     : rotate(45deg);
  transform        : rotate(45deg);
  background: rgba(13, 93, 210, 0);
  margin: 10px 0 0 0;
}
.hamburger.active span:nth-child(2){
  width: 0px;
}
.hamburger.active span:nth-child(1),
.hamburger.active span:nth-child(3){
  -webkit-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  transition-delay: 0.3s;
}
.hamburger.active span:nth-child(1){
  -webkit-transform: translateY(4px);
  -ms-transform    : translateY(4px);
  -o-transform     : translateY(4px);
  transform        : translateY(4px);
}

.hamburger.active span:nth-child(3){
  -webkit-transform: translateY(-16px) rotate(90deg);
  -ms-transform: translateY(-16px) rotate(90deg);
  -o-transform : translateY(-16px) rotate(90deg);
  transform    : translateY(-16px) rotate(90deg);
}

.hamburger::after {
  position: absolute;
  top: 160%;
  left: 50%;
  display: block;
  width: 46px;
  height: 46px;
  margin: -30px 0px 0px -24px;
  border-radius: 50%;
  border: 2px solid rgba(0, 0, 0, 0);
  transition: all .75s;
    
  content: "menu";
  font-size: 12px;
  font-weight: bold;
}



.hamburger.active::after {
  border: 2px solid #0d5dd2;
  background: rgba(13, 93, 210, 0.4);
　position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 46px;
  height: 46px;
  margin: -30px 0px 0px -24px;
  border-radius: 50%;
  transition: all .75s;
  content: "";
}

/* スクロールによってバーガーメニュー表示css切り替え */
/*　ハンバーガーボタン　ヘッダー固定の場合は使用しない*/
/*.scroll_on {
  background: rgba(13, 93, 210, 0.6);
  position: fixed;
}*/




/* バーガーメニュー内　リンク部分 */

nav.globalMenuSp {
  position: fixed;
  z-index : 102;
  top  : 0;
  left : 0;
  color: #444;
  background: #fff;
  transform: translateX(100%);
  transition: all .9s;
  width: 100%;
    
    height:100%;   /* スクロール用高さの追加     */
    overflow-y: scroll;   /* スクロールを追加     */
    -webkit-overflow-scrolling: touch;   /* 慣性スクロールを追加滑らかに     */
}

nav.globalMenuSp ul {
  background: #fff;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  border-bottom: 2px solid rgba(13, 93, 210, 0.7);
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
  /*  border-bottom: none; 元状態　*/
  border-bottom: 1px solid rgba(13, 93, 210, 0.7);
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}

nav.globalMenuSp ul li.hamburger_header_box a {
  display: block;
  color: #444;
  margin: 0px 0 0 10px;
  padding: 5px 0 0px 0;
  text-decoration :none;
  font-size: 16rem;
}

nav.globalMenuSp ul li.hamburger_header_box_host a {
  display: block;
  color: #444;
  margin: 0 0 0 25px;
  padding: 18px 0;
  text-decoration :none;
  font-size: 16rem;
  font-weight: bold;
  background-image: url("../img/icon/side_arrow.png");
  background-size: 20px 30px;
  background-repeat: no-repeat;
  background-position: 92% 50%;
}


nav.globalMenuSp .header_box_bar {
    width: 97%;
    height: 60px;
  margin: 0px;
  padding: 10px 0px 5px 5px;
  border-bottom: 2px solid rgba(13, 93, 210, 1);
  background: rgba(255,255,255,1);
}

nav.globalMenuSp .header_box_bar:after {
  content: "";
  display: block;
  clear: both;
}

nav.globalMenuSp .header_box_bar .header_box_logo {
  float: left;
  width: 40%;
  max-width: 180px;
}

nav.globalMenuSp .header_box_bar .header_box_logo img {
width: 100%;
}


nav.globalMenuSp ul li a {
  display: block;
  color: #444;
  margin: 0 0 0 25px;
  padding: 18px 0;
  text-decoration :none;
  font-size: 16rem;
}


/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateX(0%);
}





/*=====================================================
ハンバーガー(トグル)　アコーディオン
=====================================================*/

#conts .accordionBox {
	display: none;
}

#conts .headline h2 {
    margin: 0px;
	padding: 10px 0 10px 25px;
	background-image: -webkit-gradient(linear, left top, left bottom,
						from(#fff),
						to(#ddd));
	background-image: -moz-linear-gradient(
						#fff,
						#ddd);
	background-image: linear-gradient(
						#fff,
						#ddd);
	display: block;
	position: relative;
	color: #444;
	fonot-size: 10rem;
    font-weight: bold;
	box-shadow: inset 0 1px 1px rgba(0,0,0,0.5);
}

#conts .headline h2:before {
	margin-top: -6px;
	width: 12px;
	height: 12px;

	position: absolute;
	top: 50%;
	left: 10px;
	content: "";
}

#conts .headline h3 {
	margin-top: 20px;
	padding: 18px 10px 18px 15px;
	background-image: -webkit-gradient(linear, left top, left bottom,
						from(#eee),
						to(#eee));
	background-image: -moz-linear-gradient(
						#eee,
						#eee);
	background-image: linear-gradient(
						#eee,
						#eee);
	border-top: 3px solid #069;
	border-bottom: 1px solid rgba(13, 93, 210, 0.7);
	position: relative;
	color: #444;
	font-size: 1.8rem;
	font-weight: bold;
}

#conts .headline .accordion {
	margin: 0;
	padding-left: 30px;
	border-top: none;
    font-size: 100%;
}


#conts .headline .accordion:before {
	margin-top: -12px;
	width: 24px;
	height: 24px;
	background: url(../img/icon/sprite_icon.png) no-repeat -168px 0;
	-webkit-background-size: 216px 50px;
	background-size: 216px 50px;
	position: absolute;
	top: 50%;
	left: 86%;
	content: "";
}

#conts .headline .accordion.open:before {
	background-position: -192px 0;
}

#conts .headline .accordionBox {
	border-bottom: 3px solid #0d5dd2;
}

#conts .headline .accordionmenu li {
	font-size: 4vw;
    border-bottom: none;
    padding: 2px 0px;
}


#conts .headline .accordionmenu li:nth-child(odd) {
	/*background: #eee;元状態*/
	background: #fff;
    border-bottom: 1px solid #0d5dd2;
}

#conts .headline .accordionmenu li:nth-child(even) {
	background: #fff;
    border-bottom: 1px solid #0d5dd2;
}

#conts .headline .accordionmenu li.bg_fff {
	background: #fff;
    border-bottom: 1px solid #0d5dd2;
}

#conts .headline .accordionmenu li.bg_eee {
	background: #eee;
    border-bottom: 1px solid #0d5dd2;
}

#conts .headline .accordionmenu li a {
	padding: 15px 20px 13px 15px;
	overflow: hidden;
	display: block;
	position: relative;
	text-decoration: none;
}

#conts .headline .accordionmenu li a:after {
	margin-top: -7px;
	width: 7px;
	height: 14px;
	background: url(../img/icon/sprite_icon.png) no-repeat -38px -28px;
	-webkit-background-size: 216px 50px;
	background-size: 216px 50px;
	position: absolute;
	top: 50%;
	right: 12%;
	content: "";
}


}

/* 1120pixel end */