﻿/* defined on 25th Jan 2021 */

/* Common */
#HeaderPane {
	width: 100%;
	background: #fff;
	box-sizing: border-box;
}

#HeaderPane .header-inner {
	box-sizing: border-box;
	position: relative;
}

/* SP */
@media screen and (max-width: 640px) {
  #HeaderPane {
    height: 83px;
    border-top: 3px solid #c1272d;
    position: fixed;
    box-shadow: 0 0px 5px rgba(0, 0, 0, 0.5);
    z-index: 99;
    top: 0;
    left: 0;
  }
  
  #HeaderPane .header-inner {
    background: #fff;
    width: 100%;
    height: 80px;
  }
  
  #HeaderPane .header-inner.opened {
    background: #c1272d;
    border-bottom: 1px solid #fff;
  }
  
  #HeaderPane .header-inner.opened h1 {
    background: url("/miryoku/aruku/secure/8113/sp_logo.png") no-repeat center;
    background-size: 192.5px 56.7px;
  }
  
  #HeaderPane .header-inner.opened h1 img {opacity: 0;}
  
  #HeaderPane h1 {
    width: 192.5px;
    height: 56.7px;
    position: relative;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
    z-index: 99;
  }
  
  #HeaderPane h1 img {
    width: 100%;
    min-width: 100%;
    height: auto;
    vertical-align: top;
  }
  
  #HeaderPane .navopener {
    width: 60px;
    height: 60px;
    background: #c1272d;
    border-radius: 10px;
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 100;
    transition: background-color .25s;
  }
  
  #HeaderPane .navopener.opened {background: #fff;}
  
  #HeaderPane .navopener .switch {
    display: block;
    position: relative;
    width: 25px;
    height: 60px;
    margin: 0 auto !important;
  }
  
  #HeaderPane .navopener .switch span {
    display: block;
    width: 25px;
    height: 2px;
    background: #fff;
    position: absolute;
    transition: transform .25s;
  }
  
  #HeaderPane .navopener .switch span:nth-child(1) {
    top: 50%;
    left: 0px;
    transform: translateY(-10px);
  }
  
  #HeaderPane .navopener .switch span:nth-child(2) {
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
  }
  
  #HeaderPane .navopener .switch span:nth-child(3) {
    top: 50%;
    left: 0px;
    transform: translateY(8px);
  }
  
  #HeaderPane .navopener .switch.active span {
    transform-origin: center;
    background: #c1272d;
  }
  
  #HeaderPane .navopener .switch.active span:nth-child(1) {transform: rotate(135deg);}
  #HeaderPane .navopener .switch.active span:nth-child(2) {display: none;}
  #HeaderPane .navopener .switch.active span:nth-child(3) {transform: rotate(-135deg);}
  
  #HeaderPane nav {
    display: none;
    z-index: 98;
    position: fixed;
    top: 83px;
    left: 0px;
    background: #c1272d;
    width: 100%;
    height: 100vh;
  }
  
  #HeaderPane nav .nav-inner {
    box-sizing: border-box;
    overflow: auto;
    height: 100%;
    padding-bottom: 200px !important;
  }
  
  #HeaderPane nav a {
    font-size: 15px;
    text-decoration: none;
    letter-spacing: -0.05em;
    display: block;
    color: #fff;
    padding: 14px 20px !important;
    border-bottom: 1px solid #8e2b29;
    position: relative;
  }
  
  #HeaderPane nav .n1,
  #HeaderPane nav .n2,
  #HeaderPane nav .n3,
  #HeaderPane nav .n4,
  #HeaderPane nav .utility {padding-left: 50px !important;}
  #HeaderPane nav .n1::after,
  #HeaderPane nav .n2::after,
  #HeaderPane nav .n3::after,
  #HeaderPane nav .n4::after,
  #HeaderPane nav .utility::after {
    content: '';
    width: 8.5px;
    height: 15px;
    background: url("/miryoku/aruku/secure/8113/arrow.png") no-repeat center;
    background-size: 8.5px 15px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
  }
  
  #HeaderPane nav .n1::before,
  #HeaderPane nav .n2::before,
  #HeaderPane nav .n3::before,
  #HeaderPane nav .n4::before,
  #HeaderPane nav .utility::before {
    content: '';
    width: 22px;
    height: 20px;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
  }
  
  #HeaderPane nav .n3::after {
    transform-origin: center;
    transform: translateY(-50%) rotate(90deg);
  }
  
  #HeaderPane nav .n1::before {
    background: url("/miryoku/aruku/secure/8113/sp_icon1.png") no-repeat center;
    background-size: 22px 20px;
  }
  
  #HeaderPane nav .n2::before {
    background: url("/miryoku/aruku/secure/8113/sp_icon2.png") no-repeat center;
    background-size: 17px 20px;
  }
  
  #HeaderPane nav .n3::before {
    background: url("/miryoku/aruku/secure/8113/sp_icon3.png") no-repeat center;
    background-size: 19.5px 20px;
  }
  
  #HeaderPane nav .n4::before {
    background: url("/miryoku/aruku/secure/8113/sp_icon4.png") no-repeat center;
    background-size: 14.5px 20px;
  }
  
  #HeaderPane nav .utility::before {
    background: url("/miryoku/aruku/secure/8113/sp_icon5.png") no-repeat center;
    background-size: 21.5px 16px;
  }
  
  #HeaderPane nav .sub li a {
    background: #ad2328;
    border-color: #8a1c20;
    padding-left: 80px !important;
  }
  
  #HeaderPane nav .sub li a::after {
    content: '';
    width: 15.5px;
    height: 20px;
    background: url("/miryoku/aruku/secure/8113/sp_icon_search.png") no-repeat;
    background-size: 15.5px 20px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
  }
  
  #HeaderPane nav .sub li a::before {
    content: '';
    width: 22px;
    height: 20px;
    position: absolute;
    top: 50%;
    left: 50px;
    transform: translateY(-50%);
  }
  
  #HeaderPane nav .n31::before {
    background: url("/miryoku/aruku/secure/8113/sp_icon31.png") no-repeat center;
    background-size: 12.5px 20px;
  }
  
  #HeaderPane nav .n32::before {
    background: url("/miryoku/aruku/secure/8113/sp_icon32.png") no-repeat center;
    background-size: 21.5px 16px;
  }
  
  #HeaderPane nav .n33::before {
    background: url("/miryoku/aruku/secure/8113/sp_icon33.png") no-repeat center;
    background-size: 21px 20px;
  }
  
  #HeaderPane nav .n34::before {
    background: url("/miryoku/aruku/secure/8113/sp_icon34.png") no-repeat center;
    background-size: 12.5px 19.5px;
  }
  
  #HeaderPane nav .n35::before {
    background: url("/miryoku/aruku/secure/8113/sp_icon35.png") no-repeat center;
    background-size: 13.5px 20px;
  }
  
  #HeaderPane nav .n36::before {
    background: url("/miryoku/aruku/secure/8113/sp_icon36.png") no-repeat center;
    background-size: 21px 20px;
  }  
}

/* PC */
@media screen and (min-width: 641px) {
  #HeaderPane {
    min-width: 1100px;
    height: 125px;
    border-top: 5px solid #c1272d;
    box-shadow: 0 0px 5px rgba(0, 0, 0, 0.7);
    z-index: 3;
    position: fixed;
  }

  #HeaderPane .header-inner {
    width: 1100px;
    height: 120px;
    margin: 0 auto;
    padding: 0px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }

  #HeaderPane h1 {
    flex: 0 0 275px;
    width: 275px;
    height: 81px;
    margin-bottom: 20px;
  }
  
  #HeaderPane h1 img {
    transition: opacity 0.3s;
    min-width: 100%;
    width: 100%;
    height: auto;
    vertical-align: top;
  }
  
  #HeaderPane h1 a:hover img,
  #HeaderPane h1 a:active img {opacity: 0.5;}
  #HeaderPane .navopener {display: none;}

  #HeaderPane nav a {
    font-size: 15px;
    text-decoration: none;
    letter-spacing: -0.05em;
    display: block;
  }
  
  #HeaderPane nav li {
    display: inline-block;
    box-sizing: border-box;
    margin: 0;
    padding-bottom: 10px;
    position: relative;
  }
  
  #HeaderPane nav li .nv {
    box-sizing: border-box;
    margin: 0;
    padding: 12px 15px 10px 0;
    background: #fff;
    line-height: 1;
    border-radius: 5px;
    color: #333;
    background: #fff;
    transition: background-color .25s;
    position: relative;
  }
  
  #HeaderPane nav li .nv::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%);
  }
  
  #HeaderPane nav li .nv.n1 {padding-left: 25px !important;}
  
  #HeaderPane nav li .nv.n1:hover,
  #HeaderPane nav li .nv.n1:active {
    color: #f7931e;
    background: #fde4c7;
  }
  
  #HeaderPane nav li .nv.n1::before {
    width: 12.5px;
    height: 20px;
    background: url("/miryoku/aruku/secure/8113/nav_icon1.png") no-repeat center;
    background-size: 12.5px 20px;
  }
  
  #HeaderPane nav li .nv.n2 {padding-left: 42px !important;}
  
  #HeaderPane nav li .nv.n2:hover,
  #HeaderPane nav li .nv.n2:active {
    color: #d4145a;
    background: #f5cbda;
  }
  
  #HeaderPane nav li .nv.n2::before {
    width: 22px;
    height: 20px;
    background: url("/miryoku/aruku/secure/8113/nav_icon2.png") no-repeat center;
    background-size: 22px, 20px;
  }
  
  #HeaderPane nav li .nv.n3 {padding-left: 42px;}
  
  #HeaderPane nav li .nv.n3:hover,
  #HeaderPane nav li .nv.n3:active,
  #HeaderPane nav li .nv.n3.active {
    color: #39b54a;
    background: #d9f1dd;
  }
  
  #HeaderPane nav li .nv.n3::before {
    width: 20px;
    height: 20px;
    background: url("/miryoku/aruku/secure/8113/nav_icon3.png") no-repeat center;
    background-size: 20px, 20px;
  }
  
  #HeaderPane nav li .nv.n4 {padding-left: 40px;}
  #HeaderPane nav li .nv.n4:hover,
  #HeaderPane nav li .nv.n4:active {
    color: #29abe2;
    background: #ccebf8;
  }
  
  #HeaderPane nav li .nv.n4::before {
    width: 14.5px;
    height: 20px;
    background: url("/miryoku/aruku/secure/8113/nav_icon4.png") no-repeat center;
    background-size: 14.5px, 20px;
  }
  
  #HeaderPane nav li .sub {
    display: none;
    margin: 0;
    position: absolute;
    top: 35px;
    left: 50%;
    transform: translateX(-50%);
    width: 220px;
    background: #d9f1dd;
    border-radius: 5px;
    z-index: 3;
  }
  
  #HeaderPane nav li .sub li {
    position: relative;
    width: 100%;
    padding: 0 10px;
  }
  
  #HeaderPane nav li .sub li a {
    display: block;
    position: relative;
    padding: 15px 0;
    width: 100%;
    border-bottom: 1px solid #fff;
    text-decoration: none;
    color: #333;
  }
  
  #HeaderPane nav li .sub li a:hover,
  #HeaderPane nav li .sub li a:active {color: #39b54a;}
  
  #HeaderPane nav li .sub li a:hover::before,
  #HeaderPane nav li .sub li a:hover::after,
  #HeaderPane nav li .sub li a:active::before,
  #HeaderPane nav li .sub li a:active::after {right: 5px;}
  
  #HeaderPane nav li .sub li a::before,
  #HeaderPane nav li .sub li a::after {
    content: '';
    width: 10px;
    height: 2px;
    background: #39b54a;
    position: absolute;
    top: 45%;
    right: 10px;
    transition: right 0.25s;
  }
  
  #HeaderPane nav li .sub li a::before {transform: rotate(45deg) translateY(-200%);}
  #HeaderPane nav li .sub li a::after {transform: rotate(-45deg) translateY(200%);}
  #HeaderPane nav li .sub li:last-child a {border: none;}
  
  #HeaderPane nav .utility {
    position: absolute;
    top: 0px;
    right: 0px;
    background: #c1272d;
    border-radius: 0 0 5px 5px;
    color: #fff;
    line-height: 1;
    padding: 8px 20px 12px 20px;
  }  
}