header {
    width: 1090px;
    margin: 0 auto;
}

header .logo {
    width: 191px;
    margin: 20px 0;
    float: left;
}

header .headnav {
    width: 810px;
    float: right;
    margin: 30px 0 0;
}

header .headnav .logosp {
    display: none;
}

header .headnav nav ul {
    text-align: right;
}

header .headnav nav ul li {
    display: inline-block;
    /*margin-left: 36px;*/
	margin-left: 20px;
}

header .headnav nav ul li a {
    font-size: 16px;
    letter-spacing: 1px;
}

header .headnav nav ul li a img {
    width: 140px;
    height: auto;
    position: relative;
    top: -5px;
}

header .headnav nav ul li a.icon {
    background: url(../img/icon_link.svg) 100% 1px no-repeat;
    padding-right: 25px;
    background-size: 15px auto;
}

header .headnav nav ul li .roll-down > a {
    background: url(../img/ico_down.svg) no-repeat right center;
    padding-right: 1.5rem;
    background-size: 1rem auto;
}

header .headnav nav ul li .roll-down {
    position: relative;
    transition: margin .5s ease, padding .5s ease;
}

header .headnav nav ul li .roll-down:hover {
        margin-bottom: -1rem;
        padding-bottom: 1rem;
    }

header .headnav nav ul li .roll-down .child-item {
	position: absolute;
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
    top: 100%;
    padding: .5rem 1rem;
    background: #fff;
    box-shadow: 0 0.1875rem 0.375rem rgb(0 0 0 / 16%);
    white-space: nowrap;
    transition: opacity .5s ease, visibility .5s ease;
}
header .headnav nav ul li .roll-down:hover .child-item {
        visibility: visible;
        pointer-events: auto;
        opacity: 1;
		z-index: 9000;
    }
	
header .headnav nav ul li .child-item li {
    position: relative;
	display: block;
    padding: .5rem 0 .5rem 1.25em;
    background: url(../img/right.svg) no-repeat .25em center;
    background-size: .4em auto;
	text-align: left;
	margin-left: 0;
}

header .headnav nav ul li .child-item li a.icon-blank:after {
	content: "";
	display: inline-block;
	position: relative;
	width: 1.1rem;
	height: 1.1rem;
	background: url(../img/icon_link.svg) 100% 1px no-repeat;
	background-size: 100% auto;
	margin-left: 0.9rem;
}

.current-url {
	opacity: .6;
	pointer-events: none;
}

header:after {
    clear: both;
    display: block;
    content: "";
}

footer {
    border-top: 1px solid #bcb9b8;
    margin-top: 22px;
}

footer .inner {
    width: 1090px;
    margin: 0 auto;
}

footer .totop {
    width: 44px;
    margin: 0 auto;
    position: relative;
    top: -22px;
}

footer .footnav {
    position: relative;
    top: 0px;
}

footer .footnav nav {
    padding-bottom: 10px;
}

footer .footnav nav ul {
    text-align: center;
}

footer .footnav nav ul li {
    display: inline-block;
}

footer .footnav nav ul li:nth-child(9) a {
    border: none;
}

footer .footnav nav ul li a {
    padding: 0 10px;
    line-height: 1;
    border-right: 1px solid #333;
}

footer .footnav .policy ul li {
    display: inline-block;
}

footer .footnav .policy ul li:last-child a {
    border: none;
}

footer .footnav .policy ul li a {
    padding: 0 10px;
    line-height: 1;
    border-right: 1px solid #333;
}

footer .btnbox {
    display: block;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 20px 0 60px;
}

footer .btnbox a {
    display: inline-block;
}

footer .btnbox a img {
    width: 246px;
    height: auto;
}

footer .btnbox p {
    width: 100%;
    padding: 20px 0;
}

footer .btnbox p a {
    padding: 0 0;
}

footer .btnbox p.btn {
    padding: 0 0 20px;
    background: url(../img/icon_link.svg) 61% 35% no-repeat;
    padding-right: 30px;
    background-size: 17px auto;
}

footer #consult {                           /* 2023.02.27 add */
  display: block;
  text-align: left;
  margin: 1em auto 0em;
  text-indent: -1em;
}
footer .pc #consult {                       /* 2023.02.27 add */
  width: 280px;
}
footer .sp #consult {                       /* 2023.02.27 add */
  width: 75%;
  padding-left: 2em;
}

footer .footsec {
    clear: both;
}

footer .footsec .info {
    width: 500px;
    float: left;
    letter-spacing: 1px;
}

footer .footsec .sns {
    width: 254px;
    float: right;
    text-align: right;
    padding-left: 120px;
    background: url(../img/followme.svg) 0 50% no-repeat;
    background-size: 120px auto;
}

footer .footsec .sns a {
    display: inline-block;
    width: 49px;                            /* 2021.03.08 44px -> 49px */
    margin: 0 15px;
}

footer .footsec .sns a:nth-child(2) {
    /* width: 47px; */                      /* 2021.03.08 out */
}

footer .footsec .sns a:nth-child(3) {
   /* width: 49px; */                       /* 2021.03.08 out */
    position: relative;
    top: 3px;
}
footer .footsec .sns a img {                /* 2021.03.08 add */
    width: 100%;
}

footer .footsec:after {
    clear: both;
    display: block;
    content: "";
}

footer:after {
    clear: both;
    display: block;
    content: "";
}

.copyright {
    clear: both;
    border-top: 1px solid #bcb9b8;
    margin: 20px 0;
    padding: 10px 0;
    text-align: center;
}

.mainimg img {
    width: 100%;
    height: auto;
}

@media screen and (max-width: 640px) {
    header {
        position: fixed;
        background: #fff;
        z-index: 99999;
    }

    header .inner {
        width: 100%;
        margin: 0 auto;
    }

    header .logo {
        width: 32.67vw;
        margin: 4vw;
        float: none;
    }

    header .headnav {
        width: 100%;
        background-color: #fff;
        opacity: .95;
        float: none;
        margin: 0 0 4vw;
        position: fixed;
        z-index: 99999;
        top: 0;
        right: -100%;
        padding: 4vw 0 0;
        max-height: 100%;
        overflow-y: auto;
        overflow-x: hidden;
        box-sizing: border-box;
        transition: right .5s ease;
    }

    header .headnav .logosp {
        display: block;
        width: 32.67vw;
        margin: 0 4vw;
        padding: 0 0 3vw;
    }

    header .headnav nav {
        border-top: 1px solid #bcb9b8;
    }

    header .headnav nav ul {
        text-align: center;
    }

    header .headnav nav ul li {
        display: block;
        margin-left: 0px;
        margin: 0 3vw;
        border-bottom: 1px solid #bcb9b8;
    }

    header .headnav nav ul li:last-child {
        margin: 0;
    }

    header .headnav nav ul li a {
        font-size: 3.6vw;
        display: block;
        letter-spacing: 1px;
        padding: 3.33vw 0;
    }

    header .headnav nav ul li a img {
        width: 54.67vw;
        height: auto;
        position: relative;
        top: 0px;
    }

    header .headnav nav ul li a.icon {
        background: url(../img/icon_link.svg) 65% 45% no-repeat;
        padding-right: 0;
        background-size: 4vw auto;
    }

    header .headnav nav ul li p {
        width: 100%;
        padding: 3.33vw 0;
    }

    header .headnav nav ul li p a {
        padding: 0 0;
    }

    header .headnav nav ul li p.btn {
        padding: 0 0 3.33vw;
        background: url(../img/icon_link.svg) 85% 40% no-repeat;
        padding-right: 0;
        background-size: 4vw auto;
    }
	
	header .headnav nav ul li .roll-down > a {
		background: none;
		padding-right: 0;
		border-bottom: 1px dashed #bcb9b8;
	}
	
	header .headnav nav ul li .roll-down .child-item {
		position: relative;
		visibility: visible;
		opacity: 1;
		padding: 0;
		box-shadow: none;
		background: #f5f5f5;
    }
	
	header .headnav nav ul li .child-item li {
		padding: .7rem 0 .7rem 1.25em;
		background: url(../img/right.svg) no-repeat .25em center;
		background-size: .4em auto;
		text-align: left;
		width: 80%;
		margin: 0 auto;
	}
	header .headnav nav ul li .child-item li:last-child {
		border: none;
	}
	header .headnav nav ul li .child-item li a {
		padding: 0;
		font-size: 3.4vw;
	}
	
	.current-url {
	pointer-events: auto;
    }
	
    header.active .headnav {
        right: 0;
    }

    header:after {
        clear: both;
        display: block;
        content: "";
    }

    header #menuBtn {
        z-index: 999999;
        position: fixed;
        top: 4vw;
        right: 4vw;
        width: 6.7vw;
        height: 5.33vw;
        background: #fff;
        cursor: pointer;
    }

    header #menuBtn span {
        position: absolute;
        display: block;
        width: 6.7vw;
        height: 2px;
        top: 50%;
        left: 2px;
        margin-top: -1px;
        background: #5bbbf2;
    }

    header #menuBtn:before,
    header #menuBtn:after {
        content: "";
        position: absolute;
        display: block;
        width: 6.7vw;
        height: 2px;
        left: 2px;
        background: #5bbbf2;
    }

    header #menuBtn:before {
        top: 2px;
    }

    header #menuBtn:after {
        bottom: 2px;
    }

    header.active #menuBtn span {
        display: none;
    }

    header.active #menuBtn:before {
        margin-top: -1px;
        top: 50%;
        transform: rotate(45deg);
    }

    header.active #menuBtn:after {
        margin-bottom: -1px;
        bottom: 50%;
        transform: rotate(-45deg);
    }

    footer {
        border-top: none;
        /*margin-top: 65vw;*/
    }

    footer .inner {
        /*border-top: 1px solid #bcb9b8;*/
        width: auto;
        margin: 0 3vw;
    }

    footer .totop {
        width: 8vw;
        margin: 0 auto;
        position: relative;
        top: -5vw;
        z-index: 999;
    }

    footer .totop img {
        width: 100%;
        height: auto;
    }

    footer .footnav {
        position: relative;
        top: -22px;
        width: auto;
        float: none;
        z-index: 9999;
    }

    footer .footnav nav {
        padding-bottom: 0px;
    }

    footer .footnav nav ul li {
        display: inline-block;
        width: 47vw;
        border-bottom: 1px solid #bcb9b8;
    }

    footer .footnav nav ul li:nth-child(6) a {
        border-right: 1px solid #bcb9b8;
    }

    footer .footnav nav ul li:nth-child(7) a {
        display: inline-block;
    }

    footer .footnav nav ul li:nth-child(1) {
        width: 94vw;
    }

    /*footer .footnav nav ul li:nth-child(8) {
        width: 94vw;
    }*/                                           /* 2021.12.04 out */
	footer .footnav nav ul li:nth-child(9),
	footer .footnav nav ul li:nth-child(10) {
        width: 94vw;
    }                                             /* 2021.12.04 add */
	footer .footnav nav ul li:nth-child(10) {
		padding: 1rem 0;
	}
	
	
    footer .footnav nav ul li:nth-child(8) a {
        border-right: none;
    }

    footer .footnav nav ul li:nth-child(8) a img {
        width: 100%;
    }

    footer .footnav nav ul li:nth-child(8) {
        width: 94vw;
    }
	footer .footnav nav ul li:nth-child(9) a {
		width: 94vw;
	}

    footer .footnav nav ul li:nth-child(2n+1) a {
        border: none;
    }

    footer .footnav nav ul li a {
        padding: 4vw 0;
        font-size: 4vw;
        margin: 1.33vw 0;
        line-height: 1;
        border-right: 1px solid #bcb9b8;
        display: inline-block;
        width: 47vw;
        text-align: center;
    }

    footer .footnav nav ul li a.sp {
        display: inline-block;
    }

    footer .footnav nav ul li p {
        width: 100%;
        padding: 3.33vw 0 2.64vw;
    }

    footer .footnav nav ul li p a {
        padding: 0 0;
        margin: 0;
    }

    footer .footnav nav ul li p.btn {
        padding: 0 0 3.33vw;
        background: url(../img/icon_link.svg) 85% 40% no-repeat;
        background-size: 4vw auto;
    }

    footer .footnav .policy ul li {
        display: block;
    }

    footer .footnav .policy ul li:last-child a {
        border-bottom: 1px solid #bcb9b8;
    }

    footer .footnav .policy ul li a {
        padding: 5.33vw 0;
        font-size: 4vw;
        line-height: 1;
        display: block;
        border-right: none;
        text-align: center;
        border-bottom: 1px solid #bcb9b8;
    }

    footer .btnbox {
        display: none;
    }

    footer .footsec {
        clear: both;
        position: relative;
		top: -180vw;  /* 2021.12.04 -150vwvw -> -180vw */
        height: 50vw;
        overflow: hidden;
        margin-bottom: -54vw;
    }

    footer .footsec .info {
        display: none;
    }

    footer .footsec .sns,
	.sns.sp {
        width: 100%;
        float: none;
        text-align: center;
        padding-left: 0vw;
        padding-bottom: 20vw;
        background: url(../img/followme.svg) 50% 48px no-repeat; /* 2021.03.08  15vw -> 18vw */
        background-size: 28.3vw auto;
    }
	.sns.sp {
	    border-bottom: 1px solid #bcb9b8;
	}
    footer .footsec .sns a,
	.sns.sp a {
        display: inline-block;
        width: 7.73vw;
        margin: 0 5.33vw;
    }

    footer .footsec .sns a:nth-child(2) {
        /* width: 8.93vw; */                     /* 2021.03.08 out */
    }

    footer .footsec .sns a:nth-child(3),
	.sns.sp a:nth-child(3) {
        /* width: 9.2vw;  */                     /* 2021.03.08 out */
        position: relative;
        top: 3px;
    }
    footer .footsec .sns a img,
	.sns.sp a img {                /* 2021.03.08 add */
        width: 100%;
    }

    footer .footsec:after {
        clear: both;
        display: block;
        content: "";
    }

    footer:after {
        clear: both;
        display: block;
        content: "";
    }

    .copyright {
        clear: both;
        border-top: none;
        margin: 0;
        padding: 4vw 0;
        text-align: center;
        font-size: 2vw;
    }

    .mainimg img {
        width: 100%;
        height: auto;
    }
}
@media screen and (max-width: 320px) {
	footer .footnav nav ul li p.btn {
    background: url(../img/icon_link.svg) 89% 40% no-repeat;
    background-size: 4vw auto;
}
}

/* 2021.09.17 COSMOS Hirai add */
.btnLike {
  margin: auto auto;
  display: inline-block;
  background-color: #6dc3f2;
  color: #ffffff;
  font-weight: bold;
  width: 240px !important;
  line-height: 50px !important;
  border-radius: 50px !important;
  text-align: center;
}
.btnLike:hover {
  text-decoration: none;
  opacity: 0.5;
}
@media screen and (max-width: 640px) {
  .btnLike {
    font-weight: normal;
    font-size: 11px;
    -webkit-transform:scale(0.8);
    -moz-transform:scale(0.8);
    -ms-transform:scale(0.8);
    -o-transform:scale(0.8);
    transform:scale(0.8);
  }
}


