@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;800&display=swap");
@import url('https://fonts.googleapis.com/css?family=Sawarabi+Mincho');
/*===================================================
 css reset
====================================================*/
html, body, div, span, iframe,
h1, h2, h3, h4, h5, h6, p, img, a,
ol, ul, li,
form, label,
table, tbody, tfoot, thead, tr, th, td,
article,footer, header, menu, nav, section {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	list-style: none;
	text-decoration: none;
	vertical-align: baseline;
}
/*====== Web Font =================================================
font-family: 'Inter', sans-serif;
font-family: 'Lato', sans-serif;
font-family: 'Noto Serif JP', serif;
font-family: 'Rubik', sans-serif;
font-family: 'Sawarabi Mincho', serif;
// <uniquifier>: Use a unique and descriptive class name
// <weight>: Use a value from 400 to 700

.dancing-script-<uniquifier> {
  font-family: "Dancing Script", cursive;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
==================================================================*/
*,
*::before,
*::after {box-sizing: inherit}
*{box-sizing:content-box;}
html{
	font-family:"Noto Sans Japanese", "Hiragino kaku Gothic Pron","ヒイラギ各ゴ proN w3","Arial","メイリオ",Vardana,sans-serif;
}
body{
	overflow-x: hidden;
    color:#000;
    font-size:1rem;
    background: #f6f6f6;
}
a{
	color: #000;
	text-decoration: none;
    outline: none;
}
.mirio2{
	font-family:'メイリオ', 'Meiryo', sans-serif;
}
.zzz{
    position: relative;
    z-index: 10;
}
.fixed_btn{
    display: block;
    position: fixed;
    width:60px;
    height:120px;
    right: 0;
    bottom:100px;
    z-index:1000;
    background:#ff66ff;
    border-radius: 6px;
}
.ue_waku{
    position: absolute;
    width:50px;
    height:100px;
    top:10px;
    left:50%;
    transform: translateX(-50%);
}
p.t1{
    font-size: 0.9rem;
    text-align: center;
    padding:5px 0;
    color:#fff;
}
p.mark{
    width:80%;
    margin: auto;
}
p.mark img{
    width:100%;
}
/*===================================================
 Header CSS
====================================================*/
.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
    max-width:100%;
	z-index:888;
	height:140px;
	line-height:140px;
    background:#f6f6f6;
}
.header_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width:90%;
	margin:0 auto;
}

#logo{
	height:100px;
	vertical-align:middle;
}
ul.pc_menu{
	width:90%;
	display:block;
	display:flex;
	justify-content: flex-end;
}
ul.pc_menu li {
	width:auto;
    margin-right:80px;
}
ul.pc_menu li:last-child {
	width:auto;
    margin-right:0px;
}
ul.pc_menu li a{
	font-family: 'Lato', sans-serif;
    font-size:0.8rem;
	/*color:#000000;*/
    color:#000;
	letter-spacing:0.1rem;
}
ul.pc_menu li a .jp{
	display:none;
}
ul.pc_menu li a:hover .en{
	display:none;
}

ul.pc_menu li a:hover .jp{
	display:inline-block;
	text-decoration: underline;
	text-decoration-color: #ffff00;
	text-decoration-thickness: 8px;
	text-underline-offset: 0.5em;
	font-family: 'Lato', sans-serif;
}

.line-icon{
	display:inline-block;
	width:17%;
	vertical-align:middle;
	margin-left:2%;
}

ul.pc_menu li.rev{
	width:20%;
	text-align:center;
}
ul.pc_menu li.rev a{
	color:#000;
	background-image: linear-gradient(180deg, rgba(155, 119, 133, 1) 30%, rgba(233, 233, 233, 1));
	padding:10px 20px;
	border-radius:40px;
}
ul.pc_menu li.rev a:hover{
	text-decoration: none;
}
/***********************************
 ヘッダーの文字色を変える
***********************************/
header.scroll-nav .pc_menu li a{
    color:#000;
}

.drawer_button,
.drawer_nav {
	display:none;
}
@media screen and (max-width: 1024px) {
    ul.pc_menu {
        display:none;
    }
    #logo {
        width:60%;
    }
    .drawer_button {
        display:block;
        position:relative;
        width:3rem;
        height:3rem;
        background-color: transparent;
        border:none;
        cursor:pointer;
        z-index:999;
    }
    /* ハンバーガーボタン内の線 */
    .drawer_button > span{
        display:block;
        position: absolute;
        top:50%;
        left:50%;
        width:3rem;
        height:3px;
        background-color: #000;
        transform: translateX(-50%);
    }
    .drawer_button > span:first-child {
        transform: translate(-50%, calc(-50% - 0.5rem));
        transition: transform 0.3s ease;
    }
    .drawer_button > span:nth-child(2) {
        transform: translate(-50%, -50%);
        transition: transform 0.3s ease;
    }
    .drawer_button > span:last-child {
        transform: translate(-50%, calc(-50% + 0.5rem));
        transition: transform 0.3s ease;
    }
    /* 展開時のデザイン */
    .drawer_button.active > span:first-child {
        transform: translate(-50%, -50%) rotate(-45deg);
    }
    .drawer_button.active > span:nth-child(2) {
        opacity: 0;
    }
    .drawer_button.active > span:last-child {
        transform: translate(-50%, -50%) rotate(45deg);
    }
    .drawer_nav {
        display:block;
        position:fixed;
        top:0;
        left:0;
        width: 100%;
        height:100vh;
        background-color: rgba(0, 0, 0, 0.5);
        transition: opacity 0.3s ease;
        opacity: 0;
        visibility: hidden;
    }
    .drawer_nav.active {
        opacity: 1;
        visibility: visible;
    }
    .drawer_nav_inner {
        position: relative;
        width:60%;
        height:100%;
        background-color: #fff;
        padding:3rem 1.5rem 1rem;
        margin: 0 0 0 auto;
        overflow: scroll;
        transform: translateX(100%);
        transition: transform 0.3s ease;
    }
    .drawer_nav.active .drawer_nav_inner {
        transform: translateX(0);
    }
    .drawer_nav_menu {
        list-style: none;
        padding-left: 0;
    }
    .drawer_nav_link {
        display:block;
        color:#000;
        text-decoration: none;
        padding: 0.1rem 0.4rem;
        border-bottom: solid 1px lightgray;
    }
    .drawer_nav_link img {
        width:10%;
    }
}
@media screen and (max-width: 821px) {
    #logo{
        width:50%;
    }
}
/********************************************************
 top_info
 *******************************************************/
.shiro{
	background:#fff;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.top_info{
    width:100%;
    height: auto;
    position: relative;
}
#slider{
    width:100%;
    height:100vh;
}
h1.st_name{
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    font-size: 10rem;
    letter-spacing: 0.2rem;
    /*text-transform: uppercase;*/
    color: #fff;
    /*font-family: "Dancing Script", cursive;*/
}
h1.ttst{
    position: absolute;
    top:50%;
    right: 0;
    transform: translateY(-50%);
}
h4.st_txt{
    position: absolute;
    z-index: 2;
    top:65%;
    right: 10%;
    text-align:center;
    color:#fff;
    font-size:2rem;
    letter-spacing:0.2rem;
    font-family: '游明朝', serif;
}
section{
    width:100%;
    height:auto;
    background:#f6f6f6;
}
/*****************************************************
 main section 01
*****************************************************/
.sec_1{
    width:100%;
    height:auto;
    padding:10px 0 50px;
    background:#fff;
}
h2.sc_title{
    font-family: '游明朝', serif;
    font-size: 3.8rem;
    letter-spacing: 0.1rem;
    text-align:center;
    margin:auto;
    padding:70px 0 30px;
}
h2.sc_title span{
    display: inline-block;
    font-size: 1.5rem;
    letter-spacing: 0.3rem;
}
h3.sub_title{
    font-family: '游明朝', serif;
    font-size: 1.8rem;
    text-align:center;
    margin:auto;
}
h4.txt{
    font-family: '游明朝', serif;
    font-size: 1.5rem;
    text-align:center;
    color:#ff9999;
}
.concect{
    width:60%;
    margin: auto;
    font-family: '游明朝', serif;
    letter-spacing: 0.1rem;
    padding:40px 0;
}
.link1{
    padding:50px 0 0;
    /*background:#ffff00;*/
}
.btn{
    position: relative;
    overflow: hidden;
    text-decoration: none;
    display: inline-block;
    border:2px solid #ff9999;
    padding:10px 50px;
    top:0;
    left:50%;
    transform: translateX(-50%);
    font-size:1.2rem;
    font-weight: bold;
    letter-spacing: 0.1rem;
    transition: ease .2s;
    z-index: 10;
    background:#fff;
}
.btn span{
    position: relative;
    z-index:3;
    color:#ff9999;
}
.btn:hover span{
    color:#333;
}
.bgleft::before{
    content: "";
    position: absolute;
    top:0;
    left:0;
    z-index:2;
    background:#ff9999;
    width:100%;
    height:100%;
    transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 1);
    transform-origin: right top;
}
.bgleft:hover::before{
    transform-origin: left top;
    transform: scale(1, 1);
}


/**************************************************
 main section 02
***************************************************/
.service{
    width:100%;
    margin: auto;
    font-family: '游明朝', serif;
    letter-spacing: 0.1rem;
    padding:40px 0;
}
.sv_box{
    width: 92%;
    margin:auto;
    display: flex;
    justify-content: center;
}
.g1{
    width:33%;
    height:33%;
    position: relative;
}
.g1 img{
    width: 100%;
}
.g1::after{
    content: "";
    position: absolute;
    width:86%;
    height:76%;
    background:#fff;
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
    opacity: 0.7;
}
.g1 h5{
    position: absolute;
    font-size: 1.5rem;
    width:100%;
    text-align: center;
    top:15%;
    left:0;
    /*transform: translateX(-50%);*/
    z-index: 10;
}
p.et_txt{
    position: absolute;
    width: 78%;
    height:90%;
    font-size: 1.1rem;
    top:25%;
    left:50%;
    z-index: 10;
    transform: translateX(-50%);
    color:#000;

}

/***********************************************
 main section 03
***********************************************/
.sec_3{
    background:url(../img/bg_sc03.jpg) no-repeat;
    position: relative;
    width:100%;
    height:120vh;
}
.sec_3::after{
    content: "";
    width: 100%;
    height: 120vh;
    background:#f5e3ef;
    opacity: 0.6;
    position: absolute;
    top:0;
    left:0;
}
.menu_list{
    margin: auto;
    font-family: '游明朝', serif;
    letter-spacing: 0.1rem;
    padding:40px 0;
    z-index: 10;
}
h4.sam_list{
    text-align:center;
    font-size: 1.5rem;
    letter-spacing: 0.1rem;
}
ul.mmm{
    position: relative;
    width:60%;
    margin:50px auto;
    z-index: 10;
}
ul.mmm li{
    display: flex;
    font-size: 1.2rem;
    justify-content: space-between;
    padding:20px;
    margin-top:15px;
    border-bottom: 1px solid #333;
}
p.LLT{
    font-weight: bold;
    font-size: 1.4rem;
}
/**********************************************
 main section 04
**********************************************/
.sec_4{
    padding:10px 0 50px;
}
.gallery{
    width:60%;
    margin: auto;
    font-family: '游明朝', serif;
}
ul.gyll_list{
    display:flex;
    justify-content: space-around;
    padding:50px 0;
}
ul.gyll_list li{
    width:23%;
}
ul.gyll_list li img{
    width:100%;
}

/**********************************************
 main section 05
**********************************************/
.sec_5{
    width: 100%;
    height:auto;
    padding:10px 0 80px;
    background:#fff;
}
.qa{
    width:60%;
    margin: 30px auto;
    height:auto;
}
.cp_qa01 {
    border-top: 1px solid #1b2538;
  }
  .cp_qa01 .cp_actab input {
    display: none;
  }
  /*質問テキスト*/
  .cp_qa01 .cp_actab {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin-bottom: 1px;
    color: #1b2538;
  }
  .cp_qa01 .cp_actab label {
    font-size: 1.3rem;
    letter-spacing: 0.1rem;
    font-weight: bold;
    position: relative;
    display: flex;
    align-items: center;
    margin: 0 0 0 0;
    padding: 1em 2em 1em 1em;
    cursor: pointer;
    border-bottom: 1px solid #1b2538;
  }
  .cp_qa01 .cp_actab .cp_actab-content p {
    margin: 1em;
  }
  .cp_qa01 .cp_actab label:hover {
    color: #f808cc;
  }
  .cp_qa01 .cp_actab input:checked ~ label {
    color: #f808cc;
  }
  /*答えテキスト*/
  .cp_qa01 .cp_actab .cp_actab-content {
    overflow: hidden;
    letter-spacing: 0.1rem;
    font-size: 1.1rem;
    max-height: 0;
    color: #000000;
    background: rgba(255, 243, 184, 1);
    transition: max-height 0.5s ease;
  }
  .cp_qa01 .cp_actab input:checked ~ .cp_actab-content {
    max-height: 40em;
  }
  /*▼アイコン*/
  .cp_qa01 .cp_actab label::after {
    position: absolute;
    content: '';
    right: 10px;
    width: 15px;
    height: 10px;
    background: #1b2538;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    transition: all 0.5s ease;
  }
  .cp_qa01 .cp_actab label:hover::after {
    background: #f808cc;
  }
  .cp_qa01 .cp_actab input[type=checkbox]:checked + label::after {
    transform: rotateX(180deg);
    background: #f808cc;
  }

/**********************************************
 main section 06
**********************************************/
.acs{
    width:80%;
    margin: auto;
    height:auto;
    display: flex;
    justify-content: center;
    border-top: 1px solid #333;
    padding:20px 0;
}
ul.acs_list{
    width:50%;
}
p.gaiyo{
    font-size: 1.3rem;
    font-weight: bold;
    color:#ff9999;
    letter-spacing: 0.5rem;
}
ul.acs_list li{
    padding:8px 0;
    font-size: 1.1rem;
    width: 100%;
    letter-spacing: 0.2rem;
}
ul.acs_list li span{
    display: inline-block;
    width: 20%;
    font-size: 1.3rem;
    font-weight: bold;
    text-align: justify;
    text-align-last: justify;
    margin-right: 25px;
}
.map{
    width:50%;
}
/**********************************************
 main section 07
**********************************************/
.sec_7{
    padding:0 0 50px;
}
/*********************************************
 FOOTER
*********************************************/
#foot{
    width:100%;
    height:auto;
    padding:50px 0 0;
    background:#000;
}
.f-ue{
    display:block;
    width:90%;
    margin:0 auto;
}
ul.foot-list{
    display:flex;
    width:100%;
    padding:30px 0;
}
ul.foot-list li{
    width:15%;
}
ul.foot-list li a{
    color:#fff;
    font-size:1rem;
    font-weight:bold;
    letter-spacing: 0.1rem;
}
.f-bottom{
    width:100%;
    height:auto;
    overflow:hidden;
    background:#fff;
}
.foot-sub{
    display:flex;
    justify-content:space-between;
    width:80%;
    margin:0 auto 0;
    padding:30px 0;

}
.foot-sub ul li a{
    display:inline-block;
    color:#000;
    padding:10px 0 5px;
}
@media screen and (max-width: 912px) {
    .f-ue{
        width:90%;
    }
    .foot-sub{
        display:flex;
        justify-content:space-between;
        width:90%;
        margin:0 auto 0;
        padding:30px 0;
    
    }
}
@media screen and (max-width: 660px) {
    .f-ue{
        width:96%;
    }
    ul.foot-list li{
        width:25%;
    }
    .foot-sub{
        width:96%;
    }
}

/****************************************
 Page-top
*****************************************/
#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	background:#ffe4e1;
	border-radius: 5px;
	width: 60px;
	height: 60px;
	color: #000;
	text-align: center;
	text-transform: uppercase; 
	text-decoration: none;
	font-size:0.6rem;
	transition:all 0.3s;
}

#page-top a:hover{
	background: #777;
}

/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 0px;
	bottom:10px;
	z-index: 2;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}

