@charset "UTF-8";
body {
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
}

.contents {
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.sp{
    display: none;
}
/* :::::: layout :::::: */

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

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

a:hover,
a:active{
	text-decoration: none;
    opacity: .7;
}


.wrapper{
	position: relative;
}

.container{
    scroll-behavior: smooth;
    position: relative;
    width: 100%;
    margin: 0 auto;
    inset: 0;
}

/* :::::: toggle button :::::: */
#drawer {
	display: none;
}
label {
	cursor: pointer;
	position: fixed;
}
.open {
    z-index: 999;
    top: 8px;
    right: 8px;
    width: 48px;
    height: 48px;
    border-radius: 48px;
    background: #B41749;
    transition: background .6s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
    box-shadow: 0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff!important;
}
.open::before,
.open::after {
	content: "";
}
.open span,
.open::before,
.open::after {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: 30%;
	width: 40%;
	border-bottom: 1px solid #fff;
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.open::before {
	transform: translateY(-8px);
}
.open::after {
	transform: translateY(8px);
}
.close {
	z-index: 3;
	inset: 0;
	pointer-events: none;
	transition: background .6s;
}
#drawer:checked + .open {
	background: none;
    
}
#drawer:checked + .open span {
	transform: scaleX(0);
}
#drawer:checked + .open::before {
	transform: rotate(135deg) scaleX(1.2);
    border-bottom: 1px solid #B41749;
}
#drawer:checked + .open::after {
	transform: rotate(-135deg) scaleX(1.2);
    border-bottom: 1px solid #B41749;
}
#drawer:checked ~ .close {
	pointer-events: auto;
	background: rgba(0,0,0,.3);
}

/* :::::: drawer menu :::::: */
.menu {
	z-index: 4;
	position: fixed;
	overflow: auto;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 10px;
	box-sizing: border-box;
	background: rgba(255,255,255,1);
	transform: translateX(100%);
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.menu h2 {
	color: white;
	font-family: "Ubuntu Condensed", sans-serif;
	font-weight: 400;
	letter-spacing: .1em;
	text-align: center;
}
.menu ul {
	margin: 0;
	padding: 0;
}
.menu li {
	line-height: 1.4;
}
.menu li:not(:first-child) {
	border-top: 1px solid #999;
}
li.mt {
    border-top: 1px solid #999;
}
li.mb {
    border-bottom: 1px solid #999;
}
li.bb {
    border-top: none!important;
    background: #B41749;
    margin-top: 0.4em;
    border-radius: 3em;
}
li.bb a{
    color: #fff;
}
.menu a {
	display: block;
	padding: 1em 2em;
	color: #B41749;
	text-decoration: inherit;
	transition: background .6s;
}
.menu a:hover {
	background: #ff94b6;
}
#drawer:checked ~ .menu {
	transform: none;
}
ul.spopen_menusns {
    display: flex;
    align-items: center;
    margin-top: 60px!important;
    justify-content: center;
    margin-bottom: 60px;
}
.spopen_menusns li {
    border: none!important;
}
.snslink{
    padding: .5em 1em!important;
}
/* :::::: header, footer :::::: */
.link_w{
    color: #fff;
    text-decoration: none;
}
header {
    
}
.head_container{
    scroll-behavior: smooth;
    position: relative;
    max-width: 100%;
    margin: 0 auto;
    height: 96px;
}
.head_pc {
    position: absolute;
    top: 0;
    z-index: 999;
    width: 100%;
    background-color: rgba(255,255,255,0.7);
}
img.logo {
    width: 720px;
    padding: 1em 1em;
}
.menu_area {
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    width: fit-content;
}
.menu_items {
    display: flex;
    max-width: 100%;
    justify-content: space-evenly;
    margin: 0 auto;
    align-items: center;
    height: 2.5em;
}
.menu_item {
    white-space: nowrap;
    padding-bottom: 0.1em;
}
a.pc_menulink {
    color: #fff;
    text-decoration: none;
}

.sp{
    display: none!important;
}
.head_sp {
    display: none;
}
footer {
    background: #B41749;
    padding: 1em;
    text-align: center;
    color: #fff;
    font-size: .8em;
}
.pc_links {
    display: flex;
    margin: 0 auto;
    justify-content: center;
    margin-bottom: 1em;
}
ul.pc_link {
    color: #fff;
    padding: 0 0.5em;
}
.copyright {
    margin: 0.8em auto;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: .9em;
}
@media screen and (max-width:840px) {
.sp{
    display: block;
}
.pc{
    display: none!important;
}
.head_pc{
    display: none;
}
.head_pcpage{
    display: none;
}
.head_sp{
    display: block;
}
.sp{
    display: block!important;
}
.head_sp {
    background-color: #053993;
    height: 58px;
    width: 100%;
    padding-top: 10px;
    padding-left: 8px;
}

img.logosp {
    width: 48px;
    max-height: 48px;
    top: 0.8em;
    left: 0.8em;
    position: absolute;
}
.logo_spopen {
    display: flex;
    align-items: center;
    flex-direction: row;
}
.logo_spopen span {
    color: #333;
    font-size: 1.2em;
    position: absolute;
    top: 1.2em;
    left: 3.6em;
}
ul.spopen_menulist {
    margin-top: 50px!important;
    text-align: center;
}
.spmenu_80th {
    text-align: center;
}
.spmenu_80th img {
    margin: 3em auto;
    width: 50%;
}
footer {
    background: #B41744;
    padding: 1.5em;
    text-align: center;
    margin-top: 2em;
    margin-bottom: 95px;
}
.pc_links {
    display: none;
}
.copyright {
    font-size: .8em;
}

/* :::::: main :::::: */
main {
	padding: 0;
}
main h1 {
	width: 7em;
	height: 7em;
	margin: 0 auto;
	font-size: 1em;
	line-height: 7em;
	font-weight: normal;
	text-align: center;
	background: rgba(0,0,0,.05);
	border-radius: 50%;
}
section {
	max-width: 647px;
	margin: 0 auto;
	padding-top: 24px;
	text-align: right;
}
section + section {
	margin-top: 80px;
}
section h2,
section p {
	margin: 0;
	text-align: left;
}
figure {
	position: relative;
	margin: 1em 0 0;
	text-align: left;
}
figure img {
	max-width: 100%;
	height: auto;
	padding: 5px;
	box-sizing: border-box;
	border-radius: 32px;
	vertical-align: middle;
	background: rgba(255,255,255,.6);
}
section p {
	margin-top: 1em;
}
section .btn {
	display: inline-grid;
	place-items: center;
	width: 240px;
	height: 48px;
	margin-top: 1em;
	padding-bottom: .1em;
	border-radius: 16px;
	color: white;
	line-height: 1;
	background: #86c0de;
	text-decoration: inherit;
	transition: background .3s;
}
section .btn:hover{
	background: #dc6688;
}
}