@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Lato:wght@100;300;400;500;700&display=swap');

html{
                font-size: 16px;
	}
@media screen and (max-width: 1024px) {
html{
                font-size: 15px;
	}
	}

html, body {
	height: 100%;
	}

body {
	font-family: -apple-system,  'Lato', "Helvetica Neue","游ゴシック Light", "游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
                font-weight: normal;
                font-weight: 500;
                color: #212121;
                font-size: 16px;
                line-height: 1em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background-color: rgba(255, 255, 255, 1);
                }
@media screen and (max-width: 1024px) {
body {
                overflow-x: hidden;
                }
	}

html, body, svg{
	margin: 0;
	padding: 0;
	}

*, ::before, ::after {
                box-sizing: border-box
                }

h1,h2,h3,h4,h5,p{
	margin: 0;
	padding: 0;
	font-weight: normal;
	}

::selection {
	background: #efefef;
	color: #111;
	}
::-moz-selection {
	background: #efefef;
	color: #111;
	}

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

a:focus, *:focus {
	outline: none;
	}

img{
	vertical-align: bottom;
	}

ul, li{
	margin: 0;
	padding: 0;
	list-style-type: none;
	}

sup,
sub {
                height: 0;
                line-height: 1;
                vertical-align: baseline;
                _vertical-align: bottom;
                position: relative;
                }
 
sup {
                bottom: 1ex;
                }
 
sub {
                top: .5ex;
                }


.po{
                color:#FF9986;
                }

.orenge{
                color:#E2511C;
                }

.green{
                color:#009386;
                }

.blue{
                color:#0065AB;
                }

.gold{
                color:#81734E;
                }

                

.sp1200{	display: none !important;	}
@media screen and (max-width: 1200px) {
.sp1200{	display: block !important;	}
	}

.pc1200{	display: block !important;	}
@media screen and (max-width: 1200px) {
.pc1200{	display: none !important;	}
	}

.spi1200{	display: none;	}
@media screen and (max-width: 1200px) {
.spi1200{	display: inline;	}
	}

.pci1200{	display: inline;	}
@media screen and (max-width: 1200px) {
.pci1200{	display: none;	}
	}
                

.sp1024{	display: none !important;	}
@media screen and (max-width: 1024px) {
.sp1024{	display: block !important;	}
	}

.pc1024{	display: block !important;	}
@media screen and (max-width: 1024px) {
.pc1024{	display: none !important;	}
	}

.spi1024{	display: none;	}
@media screen and (max-width: 1024px) {
.spi1024{	display: inline;	}
	}

.pci1024{	display: inline;	}
@media screen and (max-width: 1024px) {
.pci1024{	display: none;	}
	}


.sp{	display: none !important;	}
@media screen and (max-width: 768px) {
.sp{	display: block !important;	}
	}

.pc{	display: block !important;	}
@media screen and (max-width: 768px) {
.pc{	display: none !important;	}
	}

.spi{	display: none;	}
@media screen and (max-width: 768px) {
.spi{	display: inline;	}
	}

.pci{	display: inline;	}
@media screen and (max-width: 768px) {
.pci{	display: none;	}
	}

.dispnone{
                display: none;
                }

#loading {
                width: 100vw;
                height: 100vh;
                transition: all .5s;
                background-color: #f2f2f2;
                position: fixed;
                top: 0;
                left: 0;
                z-index: 10000;
                display: flex;
                align-items: center;
                justify-content: center;
                }
.spinner {
                width: 60px;
                height: 60px;
                background-color: #fff;
                border-radius: 100%;
                animation: sk-scaleout 1.0s infinite ease-in-out;
                }
/* Loading Animation */
@keyframes sk-scaleout {
                0% {
                                transform: scale(0);
                } 100% {
                                transform: scale(1.0);
                                opacity: 0;
                }
                }

/* Hide Loading Block */
.loaded {
                opacity: 0;
                visibility: hidden;
                }

/*================================

:::::::::: wrapper ::::::::::

================================*/

#wrapper {
	position: relative;
	display: block;
	width: 100%;
	}


/*================================

:::::::::: nishikawa ::::::::::

================================*/

.nishikawa {
	position: relative;
	display: block;
	z-index: 2;
	width: 100%;
	height: 40px;
	top: 0;
	left: 0;
	margin: auto;
	padding: 0;
	border-bottom: 1px solid #E5E5E5;
	background-color: rgba(255, 255, 255, 1);
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url(../images/logo-nishikawa.svg);
	background-size: 100px;
	overflow: hidden;
	text-indent: 200%;
	white-space: nowrap;
	}
@media screen and (max-width: 1024px) {
.nishikawa {
	border-bottom: 1px solid transparent;
	background-size: 80px;
	}
	}

.nishikawa a{
                margin: auto;
                width: 40%;
                height: 100%;
                display: block;
	}

/*===============================================

header.navigation

================================================*/

header.navigation {
                width: 100%;
                z-index: 10;
                background: rgba(255, 255, 255, 1);
                border-bottom: 1px solid #dedede;
                position: relative;
                }

header.navigation.sticky {
	position: fixed;
	top: 0;
	left: auto;
	}

/*===============================================

header.navigation

================================================*/

header.navigation nav.menu{
                display: flex;
                align-items: center;
                justify-content: flex-start;
                width: 100%;
                height: 70px;
                z-index: 10;
                background: rgba(255, 255, 255, 1);
                position: relative;
                }
@media screen and (max-width: 1024px) {
header.navigation nav.menu{
                height: 50px;
                justify-content: center;
                }
	}

header.navigation nav.menu .logo {
	position: absolute;
	display: block;
	top: 0;
	left: 20px;
	}
@media screen and (max-width: 1024px) {
header.navigation nav.menu .logo {
	position: relative;
	top: auto;
	left: auto;
	}
	}

header.navigation nav.menu .logo h1{
	display: block;
	width: 250px;
	height: 70px;
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url(../images/logo.svg);
	background-size: 250px;
	overflow: hidden;
	text-indent: 200%;
	white-space: nowrap;
	}
@media screen and (max-width: 1024px) {
header.navigation nav.menu .logo h1{
	display: block;
	width: 170px;
	height: 40px;
	background-size: 170px;
	}
	}

/*===============================================

header .menu .drawer-menu

================================================*/

header.navigation nav.menu .drawer-menu {
                display: flex;
                align-items: center;
                justify-content: space-between;
                width: 100%;
                height: 100%;
                margin-left: 340px;
                }
@media screen and (max-width: 1200px) {
header.navigation nav.menu .drawer-menu {
                margin-left: 290px;
                }
                }
@media screen and (max-width: 1024px) {
header.navigation nav.menu .drawer-menu {
                display: none;
                margin-left: 0;
                }
                }

header.navigation nav.menu.on .drawer-menu {
                text-align: center;
                display: block;
                position: fixed;
                top: 0;
                left: 0;
                background: #fff;
                width: 100%;
                height: 100%;
                padding: 0;
                overflow: scroll;
                z-index: 2;
                }

header.navigation nav.menu .drawer-menu .menu_list {
                display: flex;
                column-gap: 1.5rem;
                align-items: center;
                height: 100%;
                }
@media screen and (max-width: 1200px) {
header.navigation nav.menu .drawer-menu .menu_list {
                column-gap: 1rem;
                }
                }
@media screen and (max-width: 1024px) {
header.navigation nav.menu .drawer-menu .menu_list {
                flex-direction: column;
                justify-content: center;
                height: auto;
                }
                }

header.navigation nav.menu .drawer-menu .menu_list .root{
                height: 100%;
                }
@media screen and (max-width: 1024px) {
header.navigation nav.menu .drawer-menu .menu_list .root{
                width: 100%;
                height: auto;
                border-top: 1px solid #dedede;
                padding: .75rem 0;
                }
header.navigation nav.menu .drawer-menu .menu_list .root.sp1024{
                display: flex !important;
                align-items: center;
                justify-content: center;
                border-top: none;
                padding: 0 0;
                height: 50px;
                }
header.navigation nav.menu .drawer-menu .menu_list .root.sp1024 img{
                width: 170px;
                }
                }

header.navigation nav.menu .drawer-menu .menu_list .root a{
                font-size: 1rem;
                height: 100%;
                }
@media screen and (max-width: 1200px) {
header.navigation nav.menu .drawer-menu .menu_list .root a{
                font-size: 1rem;
                }
                }
@media screen and (max-width: 1024px) {
header.navigation nav.menu .drawer-menu .menu_list .root a{
                height: auto;
                }
                }

header.navigation nav.menu .drawer-menu .menu_list .root a._root{
                display: flex;
                align-items: center;
                }
@media screen and (max-width: 1024px) {
header.navigation nav.menu .drawer-menu .menu_list .root a._root{
                display: block;
                align-items: center;
                }
                }

header.navigation nav.menu .drawer-menu .menu_list .root a:hover{
                text-decoration: underline;
                }

header.navigation nav.menu .drawer-menu .menu_list .root .sub {
                display: flex;
                visibility: hidden;
                position: absolute;
                align-items: flex-start;
                width: auto;
                opacity: 0;
                z-index: 2;
                padding-top: 10px;
                }
@media screen and (max-width: 1024px) {
header.navigation nav.menu .drawer-menu .menu_list .root .sub {
                visibility: visible;
                position: relative;
                width: auto;
                opacity: 1;
                padding-top: 0;
                border-top: 1px solid #dedede;
                margin-top: 0.75rem;
                }
                }

header.navigation nav.menu .drawer-menu .menu_list .root:hover .sub {
                visibility: visible;
                opacity: 1;
                width: auto;
                transform: translateX(calc(-300px + (4rem * 0.9)));
                }
@media screen and (max-width: 1024px) {
header.navigation nav.menu .drawer-menu .menu_list .root:hover .sub {
                transform: translateX(0);
                }
                }

header.navigation nav.menu .drawer-menu .menu_list .root .sub .items{
                border: 1px solid #dedede;
                display: flex;
                align-items: center;
                justify-content: center;
                flex-direction: column;
                width: 560px;
                padding: 0 30px 10px;
                background: #fff;
                }
@media screen and (max-width: 1024px) {
header.navigation nav.menu .drawer-menu .menu_list .root .sub .items{
                margin: auto;
                padding: 0;
                border: none;
                display: flex;
                width: 100%;
                max-width: 500px;
                }
                }

header.navigation nav.menu .drawer-menu .menu_list .root .sub .items .pack{
                display: flex;
                align-items: center;
                justify-content: center;
                flex-direction: column;
                }

header.navigation nav.menu .drawer-menu .menu_list .root .sub .items .pack.premiums{
                background-color: #F3EFE8;
                }

header.navigation nav.menu .drawer-menu .menu_list .root .sub .items .pack p{
                font-size: .8rem;
                margin: 1rem 0 0;
                display: flex;
                align-items: center;
                justify-content: center;
                }
@media screen and (max-width: 1024px) {
header.navigation nav.menu .drawer-menu .menu_list .root .sub .items .pack p{
                margin: 1rem 0 0;
                }
                }

header.navigation nav.menu .drawer-menu .menu_list .root .sub .items .pack p:before {
                margin-right: 1em; 
                }

header.navigation nav.menu .drawer-menu .menu_list .root .sub .items .pack p:after {
                margin-left: 1em;
                }

header.navigation nav.menu .drawer-menu .menu_list .root .sub .items .pack .inner{
                display: flex;
                align-items: center;
                justify-content: center;
                flex-direction: row;
                }

header.navigation nav.menu .drawer-menu .menu_list .root .sub .items .pack .inner div{
                display: flex;
                align-items: flex-start;
                justify-content: center;
                flex-direction: column;
                text-align: center;
                padding: 1rem;
                }

header.navigation nav.menu .drawer-menu .menu_list .root .sub .items .pack:nth-child(3) .inner div{
                width: 30%;
                }

header.navigation nav.menu .drawer-menu .menu_list .root .sub .items .pack .inner div img{
                width: 100%;
                }

header.navigation nav.menu .drawer-menu .menu_list .root .sub .items .pack .inner div img:nth-child(1){
                width: 60%;
                }

header.navigation nav.menu .drawer-menu .menu_list .root .sub .items .pack .inner div img:nth-child(2){
                margin-top: 1rem;
                width: 90%;
                }

header.navigation nav.menu .drawer-menu .menu_list .root .sub .items .pack:nth-child(1) .inner div img:nth-child(2){
                width: 65%;
                }

header.navigation nav.menu .drawer-menu .external_link{
                display: flex;
                align-items: center;
                justify-content: flex-end;
                flex-direction: row;
                height: 100%;
                }
@media screen and (max-width: 1024px) {
header.navigation nav.menu .drawer-menu .external_link{
                height: auto;
                border-top: 1px solid #dedede;
                border-bottom: 1px solid #dedede;
                }
                }

header.navigation nav.menu .drawer-menu .external_link .inner{
                display: block;
                height: 100%;
                }
@media screen and (max-width: 1024px) {
header.navigation nav.menu .drawer-menu .external_link .inner{
                width: 100%;
                }
                }

header.navigation nav.menu .drawer-menu .external_link .inner a{
                display: flex;
                align-items: center;
                justify-content: center;
                flex-direction: column;
                height: 100%;
                padding: 1rem;
                }

header.navigation nav.menu .drawer-menu .external_link .inner:nth-child(2) a{
                background-color: #efefef;
                }

header.navigation nav.menu .drawer-menu .external_link .inner a img{
                width: 1.5rem;
                }

header.navigation nav.menu .drawer-menu .external_link .inner a p{
                margin-top: .5rem;
                font-size: .7rem;
                }

header.navigation nav.menu .drawer-menu .external_link .inner a:hover p{
                text-decoration: underline;
                }

header.navigation nav.menu .drawer-menu .menu_list .root .sub .items .pack.option a{
                display: flex;
                align-items: center;
                 justify-content: center;
                column-gap: 1rem;
                }
header.navigation nav.menu .drawer-menu .menu_list .root .sub .items .pack.option .inner div img:nth-child(2) {
                margin-top: 0;
                }

/*===============================================

header .menu .hamburger

================================================*/

header .menu .hamburger {
                display: none;
                }

@media screen and (max-width: 1024px) {
header .menu .hamburger {
                display: block;
                position: absolute;
                left: 1em;
                top: 1.2em;
                width: 22px;
                height: 14px;
                cursor: pointer;
                z-index: 10000;
                }
header .menu.on .hamburger {
                position: fixed;
                }
header .menu .hamburger div {
                position: relative
                }
header .menu .hamburger span {
                display: block;
                position: absolute;
                width: 100%;
                border-bottom: solid 1px #000;
                -webkit-transition: .35s ease-in-out;
                -moz-transition: .35s ease-in-out;
                transition: .35s ease-in-out;
                transform: rotate(0deg)
                }
header .menu .hamburger span:nth-child(1) {
                top: 0
                }
header .menu .hamburger span:nth-child(2) {
                top: 7px
                }
header .menu .hamburger span:nth-child(3) {
                top: 14px
                }
header .menu.on .hamburger span:nth-child(1) {
                top: 7px;
                -webkit-transform: rotate(-45deg);
                -moz-transform: rotate(-45deg);
                transform: rotate(-45deg)
                }
header .menu.on .hamburger span:nth-child(2),
header .menu.on .hamburger span:nth-child(3) {
                top: 7px;
                -webkit-transform: rotate(45deg);
                -moz-transform: rotate(45deg);
                transform: rotate(45deg)
                }
                }


/*================================

:::::::::: contents ::::::::::

================================*/

.contents {
	position: relative;
	width: 100%;
	}

.contents.sticky {
                margin-top: 70px;
	}
@media screen and (max-width: 1024px) {
.contents.sticky {
                margin-top: 50px;
	}
                }


/*================================

:::::::::: footer ::::::::::

================================*/

footer {
	position: relative;
	width: 100%;
                padding: 120px 5%;
                background-color: #F2F2F2;
                display: flex;
                align-items: flex-start;
                justify-content: space-between;
                flex-wrap: wrap;
	}
@media screen and (max-width: 1024px) {
footer {
                padding: 80px 0;
                display: block;
	}
                }

footer .logo{
	width: 35%;
                display: flex;
                align-items: flex-start;
                justify-content: flex-start;
	}
@media screen and (max-width: 1024px) {
footer .logo{
	width: 90%;
                display: block;
                text-align: center;
                margin: auto;
                margin-bottom: 80px;
	}
                }

footer .logo img{
	width: 300px;
	}
@media screen and (max-width: 1024px) {
footer .logo img{
	width: 270px;
	}
                }

footer .menu{
	width: 65%;
                display: flex;
                align-items: flex-start;
                justify-content: flex-end;
                flex-wrap: nowrap;
                column-gap: 3rem;
	}
@media screen and (max-width: 1024px) {
footer .menu{
	width: 100%;
                display: block;
                border-bottom: 1px solid #dedede;
	}
                }

footer .menu .inner{
	width: auto;
                display: flex;
                align-items: flex-start;
                justify-content: space-between;
                flex-wrap: nowrap;
                column-gap: 3rem;
	}
@media screen and (max-width: 1024px) {
footer .menu .inner{
	width: 100%;
                display: block;
	}
                }

footer .menu ul{
                margin-top: .5rem;
	}
@media screen and (max-width: 1024px) {
footer .menu ul{
                margin-top: 0;
	width: 100%;
	}
                }

footer .menu ul li{
                margin-bottom: 1.5rem;
	}
@media screen and (max-width: 1024px) {
footer .menu ul li{
                margin: 0;
                text-align: center;
                border-top: 1px solid #dedede;
                padding: 1em 5%;
	}
footer .menu ul li.sub{
                margin: 0 auto;
                border-top: 0;
                text-align: center;
	width: 90%;
                padding: 0 5%;
                background-color: #fff;
	}
footer .menu ul li.sub.frst{
                border-top: 0;
                padding-top: 0.5rem;
	}
footer .menu ul li.sub.end{
                margin-bottom: 1rem;
                padding-bottom: 0.5rem;
	}
footer .menu ul li.sub a{
                display: block;
                padding: 1rem 0;
                width: 90%;
                margin: auto;
                border-bottom: 1px solid #dedede;
	}
footer .menu ul li.sub.end a{
                border-bottom: 0;
	}
                }

footer .menu ul li a p{
	position: relative;
                padding-left: 1rem;
                font-size: .9rem;
	}
footer .menu ul li p:before {
	position: absolute;
	left: 0;
                top: 0;
	content: 'ー';
	}
footer .menu ul li.sub p:before {
	position: absolute;
	left: 0;
                top: 0;
	content: '';
	}
@media screen and (max-width: 1024px) {
footer .menu ul li a p{
	position: relative;
                padding-left: 0;
	}
footer .menu ul li p:before {
                display: none;
	}
                }

footer .menu ul li a:hover p{
                text-decoration: underline;
	}

footer .copyright{
                width: 100%;
                display: block;
                text-align: center;
                margin-top: 100px;
	}
@media screen and (max-width: 1024px) {
footer .copyright{
                margin-top: 80px;
	}
                }

footer .copyright a{
                display: block;
                width: 80px;
                margin: 0 auto;
	}

footer .copyright a img{
                width: 100%;
	}

footer .copyright small{
                display: block;
                margin-top: 3rem;
                font-size: .9rem;
	}

/*===============================================

header .menu .hamburger

================================================*/

.contents .breadcrumb {
                width: 100%;
                height: 30px;
                padding-left: 20px;
                border-bottom: 1px solid #dedede;
                }
@media screen and (max-width: 768px) {
.contents .breadcrumb {
                display: none;
                }
                }

.contents .breadcrumb ul{
                display: flex;
                align-items: center;
                justify-content: flex-start;
                flex-wrap: wrap;
                height: 100%;
                }

.contents .breadcrumb ul li{
                font-size: .7rem;
                }

.contents .breadcrumb ul li:not(:last-of-type)::after {
                content: "〉";
                margin: 0 0 0 .6rem;
                font-size: .7rem;
                color: #777;
                }

.contents .breadcrumb ul li a:hover{
                text-decoration: underline;
                }


/*================================

:::::::::: block_marks ::::::::::

================================*/

.block_marks {
                padding: 5rem 0;
	position: relative;
	width: 100%;
                border-top: 1px solid #dedede;
                text-align: center;
	}

.block_marks img{
                width: 200px;
                height: auto;
	}
@media screen and (max-width: 1024px) {
.block_marks img{
                width: 160px;
	}
                }
@media screen and (max-width: 768px) {
.block_marks img{
                width: 120px;
	}
                }







