@charset "UTF-8";
/* CSS Document */
html{
	overflow:auto;
}
body{
	width:100%;
	font-size:1em;
    line-height: 180%;
	font-family: "Noto Sans JP","ヒラギノ角ゴ Pro" , "Hiragino Kaku Gothic Pro" , Helvetica , Arial , Verdana , Roboto , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
    font-feature-settings: "palt" 1;
    letter-spacing: 1.5px;
	font-weight:400;
    color: #292929;
    position: relative;
/*	animation-name: fadein;*/
    animation-duration: 1000ms;
    animation-timing-function: linear;
	-webkit-text-size-adjust: 100%;/*iphone safariによる文字サイズの自動調整を無効化*/
}
/*@keyframes fadein {
    0% {-ms-filter: blur(6px); filter: blur(6px);opacity: 0;}
    10% {-ms-filter: blur(6px); filter: blur(6px);opacity: 0;}
    100% {-ms-filter: blur(0px); filter: blur(0px);opacity: 1;}
}*/

@media screen and (max-width:640px) {
body{
    font-size: 0.935em;
    overflow: hidden;
}
}
main.nisssei_main:not(#top_main) {
    margin-top: min(20vw,150px);
    padding-top: min(10vw,80px);
}
*{
	box-sizing:border-box;
	margin:0px;
	padding:0px;
}
:not(input){
	caret-color: rgba(0,0,0,1);
}
a {
    overflow: hidden;
    outline: none;
    color: inherit;
}
a:link,a:hover,a:visited{
	text-decoration:none;
}
a,a::before,a::after{
	transition: all ease 200ms;
}
a.underline {
    text-decoration: underline;
}
li{
	list-style-type:none;
}
img{
	vertical-align: bottom;
	border-style:none;
	box-shadow: #000 0 0 0;
	height:auto;
	width:100%;
}
:where(img:not([src*=".svg"]):not(.nomax)){
    width: 100%;
    max-width: max-content;
    max-width: -moz-max-content;
}
input[type="text"]:focus {
  outline: 0;
}
x:-moz-any-link, x:default {
	box-shadow: #000 0 0 0;
}
table,th,td{
border-collapse: collapse;
border: 0 ;
}
input::-webkit-input-placeholder,
input:-ms-input-placeholder,
input::-moz-placeholder{
    color: #ccc;
    font-weight: normal;
}
:where(input[type="submit"]),
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
textarea{
	resize: none;
}
address {
    font-style: normal;
}
span.mini {
    font-size: 80%;
}
/*===========================
    Layout
===========================*/
article {
    position: relative;
}
.flex{
    display: flex;
    flex-wrap: wrap;
}
.flex.reverse{
    flex-direction: row-reverse;
}
.c_white{
    color: #fff !important;
}
.c_red{
    color: #d6132f !important;
}
.c_gray{
    color: #888;
}
.w1200{
    width: 94%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
.w1000{
    width: 94%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.mb20{
    margin-bottom: min(4vw,20px);
}
.line200{
    line-height: 200% !important;
}
.line220{
    line-height: 220% !important;
}
.line240{
    line-height: 240% !important;
}
.line260{
    line-height: 260% !important;
}
.fs14{
    font-size: 87.5%;
}
.fs18{
    font-size: 112.5%;
}
.big_t {
    font-size: 150%;
}
[id*="anchor"] {
    margin-top: -120px;
    padding-top: 120px;
}
/*===========================
    link_btn
===========================*/
.link_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #00b06e;
    border: 2px solid;
    position: relative;
    background: #fff;
    border-radius: 30px;
    padding: 0.5em;
    font-size: 1em;
    width: min(100%, 330px);
    margin-left: auto;
    margin-right: auto;
}
.link_btn::after {
    content: "";
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: url(../img/common/ico_arw.svg) no-repeat center / contain;
    display: block;
    margin-left: 7px;
}
.link_btn:hover {
    background: #00b06e;
    color: #fff;
}

/*===========================
  header
===========================*/
header {
    position: static;
    width: 100%;
    z-index: 900;
}
.h_logo {
    display: flex;
    align-items: center;
}
.h_inr {
    display: flex;
    justify-content: space-between;
    padding: min(5vw, 25px);
    align-items: center;
    background: #fff;
}
.h_logo .logo_img {
    width: 150px;
    margin-right: min(2vw, 20px);
}
.h_logo .logo_name {
    font-size: min(3.5vw, 0.9rem);
    line-height: 120%;
    font-weight: 400;
    text-align: center;
    letter-spacing: 3px;
}
.h_menu, .h_submenu {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.h_item {
    border-left: 1px solid #292929;
    padding: 0 0.7rem;
    line-height: 100%;
    font-weight: 600;
    font-size: 0.875rem;
}
.h_item:first-child,
.h_item:nth-of-type(2) {
    border-left: none;
}
.h_item:first-child{
    display: none;
}
.h_item a{
    position: relative;
    width: 100%;
    display: block;
}
.h_item a:hover {
    color: #00b06e;
}
.h_item a::after {
    position: absolute;
    content: "";
    display: block;
    height: 2px;
    width: 0;
    background: #00b06e;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -5px;
}
.h_item a:hover::after{
    width: 100%;
    transition: all ease 300ms;
}

.h_subitem{
    padding-left: 0.7rem;
    font-size: 0.75rem;
    line-height: 100%;
}
.h_subitem a {
    display: block;
    border: 1px solid;
    border-radius: 3px;
    padding: 5px 8px;
}
.h_subitem a:hover {
    background: #00b06e;
    color: #fff;
}
.h_subitem a::after{
    display: none;
}
.menu_btn {
    width: 45px;
    height: 45px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-content: space-evenly;
    cursor: pointer;
    position: relative;
}
.menu_btn span {
    width: 90%;
    height: 2px;
    background: #000;
    display: block;
    margin-left: 5%;
    transition: all ease 200ms;
}
.menu_btn.open span:nth-of-type(1) {
    transform: rotate(45deg);
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
}
.menu_btn.open span:nth-of-type(2) {
    transform: scale(0, 1);
    transform-origin: center;
}
.menu_btn.open span:nth-of-type(3) {
    transform: rotate(-45deg);
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
}

@media screen and (min-width:1061px) {
.menu_btn_wrap {
    display: none;
}
}
@media screen and (max-width:1060px) {
.h_menu_wrap {
    position: fixed;
    background: rgba(255,255,255,1);
    width: 100vw;
    top: 0;
    left: 0;
    height: 100vh;
    overflow: scroll;
    transition: all ease-in-out 400ms;
    clip-path: circle(0.0% at 90% min(5vw, 30px));
    display: flex;
    align-items: center;
    z-index: 999;
}
.h_menu_wrap.open {
    clip-path: circle(141.2% at 90% min(5vw, 30px));
}
.h_menu {
    flex-wrap: wrap;
}
.h_item {
    width: 100%;
    font-size: 1.25rem;
    font-weight: 300;
    margin: 0.8rem 0;
    border: none;
    padding: 0 min(10%, 40px);
    transform: translateX(-100vw);
    transition: all ease 250ms;
}
.h_item:first-child{
    display: block;
}
.h_submenu {
    width: 100%;
    justify-content: space-evenly;
    opacity: 0;
}
.h_subitem {
    margin: 0.8rem 0;
    width: min(80%, 450px);
    padding: 0;
    font-size: 0.9rem;
    text-align: center;
}
.h_subitem a {
    padding: 0.75rem 0;
}
.menu_btn_wrap {
    position: fixed;
    top: min(5vw, 30px);
    right: min(5vw, 30px);
    z-index: 1000;
}
.h_menu_wrap.open .h_item {
    transform: translateX(0);
    transition-delay: 200ms;
}
.h_menu_wrap.open .h_item:nth-of-type(2){
    transition-delay: 270ms;
}
.h_menu_wrap.open .h_item:nth-of-type(3){
    transition-delay: 340ms;
}
.h_menu_wrap.open .h_item:nth-of-type(4){
    transition-delay: 410ms;
}
.h_menu_wrap.open .h_item:nth-of-type(5){
    transition-delay: 480ms;
}
.h_menu_wrap.open .h_item:nth-of-type(6){
    transition-delay: 550ms;
}
.h_menu_wrap.open .h_item:nth-of-type(7){
    transition-delay: 620ms;
}
.h_menu_wrap.open .h_submenu{
    opacity: 1;
    transition: all ease 300ms;
    transition-delay: 690ms;
}
}
/*===========================
  footer
===========================*/
.f_inr {
    width: 90%;
    justify-content: space-between;
    padding-top: min(10vw, 160px);
}
.f_left,
.f_right {
    padding-bottom: min(8vw,60px);
}
.twinlogo {
    display: flex;
    margin-bottom: 30px;
}
.f_logo.ikusei {
    width: 61px;
}
.f_logo.tonoe {
    width: 86px;
    margin-left: 10%;
}
.mainlogo {
    align-items: center;
    margin-bottom: 20px;
}
.mainlogo .logo{
    filter: drop-shadow(2px 1px 2px rgba(0, 0, 0, 0.4));
    max-width: 200px;
    margin-bottom: 15px;
}
.mainlogo .name {
    font-size: 1rem;
    line-height: 140%;
    font-weight: 400;
    letter-spacing: 1.5px;
}
.f_name {
    font-weight: normal;
    font-size: 1.2rem;
    margin-bottom: 8px;
}
.address {
    line-height: 140%;
    margin-bottom: 20px;
}
.f_tel {
    font-size: 2rem;
    line-height: 120%;
}

.f_menu_wrap {
    display: flex;
    flex-wrap: wrap;
}
.f_menu {
    margin-right: min(3vw, 50px);
}
.f_item {
    min-height: 50px;
    line-height: 140%;
    margin-bottom: 30px;
}
.f_link {
    font-size: 112.5%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
.f_link:hover{
    color: #00b06e;
}
.f_submenu {
    margin-top: 10px;
}
.f_subitem {
    font-size: 80%;
    line-height: 160%;
    padding-left: 20px;
}
.f_item > .f_link::before {
    content: ">";
    display: inline-block;
    width: 12px;
    aspect-ratio: 1 / 1;
    font-size: 8px;
    line-height: 8px;
    font-weight: bold;
    padding: 2px;
    border-radius: 50%;
    box-sizing: border-box;
    text-align: center;
    vertical-align: top;
    color: #00b06e;
    background: #daeedc;
    margin-right: 8px;
}
.f_subitem .f_link::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 1px;
    background: #000;
    margin-right: 5px;
}

.copyright {
    background: #e6e6e6;
    text-align: center;
    padding: 1em 5%;
}
@media screen and (max-width:640px) {
.f_left,
.f_right{
    width: 100%;
}
.f_left {
    text-align: center;
}
.f_item{
    min-height: 0;
}
.mainlogo .logo{
    margin: 0 auto 15px;        
}
.mainlogo .name {
    margin: 0 auto;
    text-align: center;
}
.twinlogo {
    justify-content: center;
}
}

/*===========================
   パンくず
===========================*/
.pankz {
    display: flex;
    justify-content: flex-end;
    margin-right: min(5%, 60px);
    font-size: 87.5%;
    letter-spacing: 0.5px;
    line-height: 140%;
    margin-top: 1.5em;
}
.pankz li:not(:last-child)::after {
    content: "−";
    display: inline-block;
    margin: 0 5px;
}
.pankz li:last-child {
    color: #a9a9a9;
}
/*===========================
   下層
===========================*/
.art_pagettl {
    width: 94%;
    margin: 0 auto min(12vw, 85px);
}
.pagettl_bg{
    height: min(64vw, 590px);
    border-radius: min(4vw, 20px);
    border-bottom-left-radius: 0px;
    position: relative;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.pagettl_wrap {
    background: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    border-top-right-radius: min(4vw, 20px);
    padding: min(10vw, 50px) 10px min(6vw, 40px) min(5vw, 70px);
    width: min(100%, 460px);
}

.pagettl_bg.no_bg {
    height: auto;
    border-bottom: 1px solid;
    border-radius: 0;
}
.pagettl_bg.no_bg .pagettl_wrap{
    position: static;
}
.pagettl {
    font-size: min(7vw, 50px);
    font-weight: 300;
    line-height: 120%;
    margin-bottom: min(2vw, 10px);
    letter-spacing: 0.5px;
}
.pagesubttl {
    font-size: min(4vw, 22px);
    line-height: 140%;
}
/*===========================
   2カラム
===========================*/

.main_calumn{
    width: 100%;
}
.sidebar {
    width: 200px;
}
:where(.sidebar) + .main_calumn{
    width: calc(100% - 200px);
}
/*===========================
   media screen
===========================*/
@media screen and (min-width:641px) {
    .sp{
        display: none !important;
    }
}
@media screen and (max-width:640px) {
    .pc{
        display: none !important;
    }
}
/*
.pagetop
{
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
   right: 0;
    bottom: -36px;
    width: 72px;
    height: 72px;
}
*/

/*===========================
  header
===========================*/

.header
{
    padding: 15px 15px;
}



/*===========================
  footer
===========================*/
.footer
{
    padding: 30px 30px;
}

.privacy,
.yakkan
{
    display: inline-block;
}

.privacy,
.agreement
{
    display: inline-block;
   text-decoration: underline;
}

.agreement
{
padding-left: 30px;
}



/*===========================
  privacy  agreement
===========================*/

.section { 
width: min(94%,980px);
margin-left: auto;
margin-right: auto;
margin-top: min(10vw,80px);
margin-bottom: 100px;
}

.section .h2_ttl { 
text-align: center;
font-size: clamp(1.25rem, 1.113rem + 0.59vw, 1.625rem);
margin-bottom: 1em;
}

.section .privacy_read { 
margin-bottom: 3em;
}

.section .h3_ttl { 
font-size: 1.2em;
}
.section .h4_ttl { 
font-size: 1.2em;
/*font-weight: normal;*/
}

.section .p_txt { 

}

.section .p_dl { 
/*margin-top: 1em;*/
display: flex;
}

.section .p_dl .p_dt { 
width: 10%;
text-align: right;
padding-left: 2%;
padding-right: 4%;
}

.section .p_dl .p_dd { 
width: 90%;
}

.section .elem,
.section p

 { 
margin-bottom: 2em;
}




.section .p_dl_und { 
/*margin-top: 1em;*/
display: flex;
padding-left: 10%;
}

.section .p_dl_und .p_dt_und { 
width: 10%;
text-align: right;
padding-left: 2%;
padding-right: 4%;
}

.section .p_dl_und .p_dd_und { 
width: 90%;
}


@media screen and (max-width:500px)
{
.section .p_dl_und .p_dt_und { 
width: 14%;
text-align: right;
padding-left: 2%;
padding-right: 8%;
}
.section .p_dl_und .p_dd_und { 
width: 86%;
}

}




