@charset "UTF-8";
/* =====================================
	全体設定
===================================== */

@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP&display=swap');

html{
    font-size: 62.5%;
}

a{
	color:#000000;
	text-decoration:none;
}

.sp{
	display:none !important;
}

body{
	position: relative;
	margin: 0 auto;
	font-size: 1.4rem;
	font-family: 'Noto Sans', 'Noto Sans CJK JP', 'Noto Sans CJK JP Subset', sans-serif;
	color: #000000;
    line-height: 1.8;
	text-align: left;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;/*Chrome,Safari*/
	-ms-text-size-adjust: 100%;/*EgdeMobile*/
	-moz-text-size-adjust: 100%;/*firefox*/
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* =====================================
	head
===================================== */

header{
    position: absolute;
    top: 0;
    left: 0;
	width: 100%;
    z-index: 1000;
}

header > a img{
    float: left;
    margin: 19px 0 0 29px;
    transition: 0.3s all ease;
}

header > a picture:last-child img{
    display: none;
}

header a:hover img{
    opacity: 0.6;
}

header nav{
    float: right;
    margin: 18px 36px 0 0;
}

header nav ul:not(.menu):not(.result) li{
    float: left;
    margin: 8px 46px 0 0;
}

@media screen and (max-width:1280px){

header > a img{
    margin: 19px 0 0 2vw;
}

header nav{
    margin: 18px 2vw 0 0;
}

header nav ul:not(.menu):not(.result) li{
    margin: 8px 3vw 0 0;
}

}

header nav ul:not(.menu):not(.result) li:nth-child(4){
    margin: 8px 0 0 0;
}

header nav ul:not(.menu):not(.result) li.entry{
    margin: 0 0 0 46px;
}

@media screen and (max-width:1280px){

header nav ul:not(.menu):not(.result) li.entry{
    margin: 0 0 0 3vw;
}

}

header nav ul:not(.menu):not(.result) li a img{
    transition: 0.3s all ease;
}

header.fixed{
    position: fixed;
    background: #fff;
    height: 60px;
    z-index: 1000;
}

header.fixed > a img{
    display: none;
}

header.fixed > a picture:last-child img{
    display: block;
}

/* Effect1
 *************************************** */
/* 擬似要素の共通スタイル */
.change-border01::after,
.change-border01::before,
.change-border01__inner::after,
.change-border01__inner::before {
  background-color: #fff;
  content: '';
  display: block;
  position: absolute;
  z-index: 10;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
}
/* 左上へ配置 */
.change-border01::after {
    width: 0px;
    height: 2px;
    top: -1px;
    left: -1px;
}
/* 右下へ配置 */
.change-border01::before {
    width: 0px;
    height: 2px;
    right: -1px;
    bottom: -1px;
}
/* 左下へ配置 */
.change-border01__inner::after {
    width: 2px;
    height: 0px;
    left: -1px;
    bottom: -1px;
}
/* 右下へ配置 */
.change-border01__inner::before {
    width: 2px;
    height: 0px;
    top: -1px;
    right: -1px;
}

/* hover */
.change-border01:hover::after,
.change-border01:hover::before {
  width: 100%;
  width: calc(100% + 2px);
}
.change-border01:hover .change-border01__inner::after,
.change-border01:hover .change-border01__inner::before {
  height: 100%;
  height: calc(100% + 2px);
}


/* active */
.change-border01.active::after,
.change-border01.active::before {
  width: 100%;
  width: calc(100% + 2px);
}
.change-border01.active .change-border01__inner::after,
.change-border01.active .change-border01__inner::before {
  height: 100%;
  height: calc(100% + 2px);
}

.spNav{
    display: none;
}

/* =====================================
	footer
===================================== */

footer{
    position: relative;
	width:100%;
    /*padding: 128px 0 60px;*/
    padding: 286px 0 60px;
    background: #1f2c5c url("../img/common/bg01.jpg") center top no-repeat;
    background-size: 100% auto;
    margin-top: 170px;
}

footer img{
    margin: 0 auto;
}

footer > a:not(.pagetop){
    display: table;
    margin: 0 auto;
}

footer a img{
    transition: 0.3s all ease;
}

footer a:hover img{
    opacity: 0.6;
}

footer p{
    text-align: center;
    color: #fff;
    width: 100%;
    font-size: 1.2rem;
    margin: 30px 0 90px;
}

footer p a{
    text-decoration: underline;
    font-weight: bold;
    color: #fff;
}

footer address{
    text-align: center;
    color: #fff;
    width: 100%;
    font-size: 1.2rem;
    margin: 35px 0 0;
    font-style: normal;
}

.pagetop{
    position: absolute;
    bottom: 60px;
    right: 35px;
}


@media screen and (max-width:768px){

.pc{
	display:none !important;
}

.sp{
	display:block !important;
}

body{
    min-width: inherit;
    max-width: 768px;
    overflow-x: hidden;
}


/* =====================================
	head
===================================== */

header > a img{
    margin: 3.6458vw 0 0 5.2vw;
    width: 53.255vw;
}

header a:hover img{
    opacity: 1;
}

header nav{
    margin: 3.3854vw 14.3229vw 0 0;
}

header nav ul:not(.menu):not(.result) li{
    display: none;
}

header nav ul:not(.menu):not(.result) li:last-child img{
    width: 13.671vw;
}

header.fixed{
    height: 12.239vw;
}

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: absolute;
  top: 0;
  right: 0; 
  width: 12.369vw;
  height: 12.369vw;
  background: #1f2c5c;
  border: none;
  appearance: none;
  cursor: pointer;
}
.menu-trigger span {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 5.46875vw;
  height: 0.39vw;
  background-color: #fff;
}
.menu-trigger span:nth-of-type(1) {
  top: 4.427vw;
}
.menu-trigger span:nth-of-type(2) {
  bottom: 4.427vw;
}

.spNav{
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    background: url("../img/common/sp/bg02.jpg") repeat;
    margin: 0;
    overflow-y: scroll;
}

.spNav > a img{
    margin: 3.6458vw 0 0 5.2vw;
    width: 53.255vw;
}

.spNav .menu-trigger {
    top: 3.2552vw;
    right: 5.46875vw; 
    width: 5.989vw;
    height: 5.989vw;
    background: none;
}
.spNav .menu-trigger span {
    width: 8.33vw;
    height: 0.26vw;
    background-color: #fff;
    left: -1vw;
    transform: none;
}

.spNav .menu-trigger span:nth-of-type(1) {
  top: 0;
}
.spNav .menu-trigger span:nth-of-type(2) {
  bottom: 0;
}

.spNav .menu-trigger span:nth-of-type(1) {
    transform: translateY(3vw) rotate(-45deg);
}

.spNav .menu-trigger span:nth-of-type(2) {
    transform: translateY(-3vw) rotate(45deg);
}

.spNav .menu{
    margin: 12.76vw auto 0;
    width: 89.58vw;
}

.spNav .menu > li:nth-child(1){
    width: 89.5833vw;
    height: 34.505vw;
    background: url("../img/common/sp/nav_bg01.jpg") no-repeat;
    background-size: cover;
    margin: 0 auto;
    position: relative;
    padding: 5.9895833vw 0 0 4.9479167vw;
    box-sizing: border-box;
}

.spNav .menu > li:nth-child(1) > a:nth-child(1) > img{
    width: 78.125vw;
    margin-bottom: 10.80729167vw;
}

.spNav .menu > li:nth-child(1) > a:nth-child(2) > img{
    width: 76.04167vw;
}

.spNav .menu > li:nth-child(2) > a > img{
    width: 82.29167vw;
    margin: 13.54167vw 0 6.119vw;
}

.spNav .result li{
    margin-bottom: 4.947vw;
}

.spNav .result li:last-child{
    margin-bottom: 13.135vw;
}

.spNav .result li a{
    display: flex;
    justify-content: space-between;
}

.spNav .result li .imgArea{
    width: 32.68229vw;
}

.spNav .result li .imgArea img{
    width: 100%;
}

.spNav .result li .txtArea{
    width: 53vw;
    align-self: center;
    font-size: 3.62vw;
    color: #fff;
    line-height: 1.366;
    font-feature-settings: "palt";
}

.spNav .result li .txtArea img{
    width: 6.25vw;
    margin-bottom: 1.953vw;
}

.spNav .menu > li:nth-child(3){
    margin: 0 auto;
    width: 89.5833vw;
    height: 31.901vw;
    background: url("../img/common/sp/nav_bg02.jpg") no-repeat;
    background-size: cover;
    padding: 5.20833vw 0 0 4.8177vw;
    box-sizing: border-box;
}

.spNav .menu > li:nth-child(3) > a > img{
    width: 78.515625vw;
}

.spNav .menu > li:nth-child(4){
    margin: 6.90104167vw auto 0;
    width: 89.5833vw;
}

.spNav .menu > li:nth-child(4) > a > img{
    width: 82.29167vw;
    margin-left: 1.04167vw;
}

.spNav .menu > li:nth-child(4) .voice{
    margin: 3.3854167vw 0 13.28125vw;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.spNav .menu > li:nth-child(4) .voice li{
    width: 28.776vw;
    margin: 0 calc((100% - (28.776vw * 3)) / 2) 2.34375vw 0;
    display: block;
}

.spNav .menu > li:nth-child(4) .voice li:nth-of-type(3n){
    margin: 0 0 2.34375vw 0;
}

.spNav .menu > li:nth-child(4) .voice li img{
    width: 100%;
}

.spNav .menu > li:nth-child(5){
    margin: 0 0 0 0.651vw;
    padding-bottom: 20vw;
}

.spNav .menu > li:nth-child(5) > a > img{
    width: 82.68229167vw;
}

.spNav .menu > li:nth-child(6){
    width: 100vw;
    margin-left: -5.21vw;
}

.spNav .menu > li:nth-child(6) a img{
    width: 100%;
}


/* =====================================
	footer
===================================== */

footer{
    padding: 19.4vw 0 10.9375vw;
    /*padding: 45vw 0 10.9375vw;*/
    background: #1f2c5c url("../img/common/sp/bg01.jpg") center top no-repeat;
    background-size: 100% auto;
    margin-top: 20.4427vw;
}

footer a img{
    width: 88.411vw;
}

footer a:hover img{
    opacity: 1;
}

footer > picture > img{
    width: 42.838vw;
}

footer p{
    font-size: 2vw;
    margin: 5.2vw 0 16vw -2.2%;
    transform: scale(0.85);
    width: 105%;
}

footer address{
    font-size: 3vw;
    margin: 6.51vw 0 0;
}

}
