@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
/*共通*/

html{
    background: #fff;
    scroll-behavior: smooth;
}
body {
  -webkit-text-size-adjust: 100%;
  background: #fff;
    font-weight: normal;
}
.cp_cont {
  display: none;
}
.text-wrap {
  display: inline-block;
}
.container {
    max-width: 1120px;
    width: 90%;
    margin: auto;
    position: relative;
}
img {
  max-width: 100%;
  height: auto;
}
.pc_block {
  display: block;
}
.sp_block {
  display: none;
}
.center {
  text-align: center;
}
.indent {
    text-indent: -1em;
    padding-left: 1em;
}
.anc_point{
    position: absolute;
    top: -70px;
}
/* ==========================
フォント・色
============================= */
.f_min{
    font-family :"游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
.f_ari{
    font-family : "Arial", "メイリオ", Meiryo, sans-serif;
}
.bold{
    font-weight: bold;
}
.red{
    color: #c00;
}
/* ==========================
header
============================= */
header{
    position: relative;
	background: #fff;
    height: 0;
}
.hd_inner {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin: auto;
    padding: 10px 0;
    height: 70px;
    z-index: 10;
    transition: .3s;
}
.hd_inner.rev {
    background: #ffffff;
    border-bottom: 2px solid #cc0000;
}
.hd_left {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0px 40px;
}
.hd_menu {
    display: flex;
    justify-content: space-around;
    font-size: 1.6rem;
    height: 80px;
    padding-right: 40px;
}
.hd_item {
    display: flex;
    justify-content: center;
    align-items: center;
}
.hd_item a {
    padding: 0 8px;
    flex-grow: 1;
    text-align: center;
    height: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    font-size: 1.6rem;
    font-weight: bold;
    color: #fff;
    transition: .3s;
    text-shadow: 1px 1px 0px #000000;
  letter-spacing: 0px;
}
.hd_item a span {
    border-bottom: 2px solid #CC0000;
    padding-bottom: 3px;
}
.rev .hd_item a {
    color: #000;
    text-shadow: none;
}
.hd_item.hd_item--beginner a {
    position: relative;
}
.hd_item.hd_item--beginner a::after {
    content: url(../img/icon_beginner.png);
    position: absolute;
    top: 21px;
    left: 8px;
}
.mega_menu {
    position: absolute;
    top: 90%;
    width: 100%;
    height: 0;
    left: 0;
    overflow: hidden;
    visibility: hidden;
}
.hd_item:hover .mega_menu {
    height: auto;
    visibility: visible;
    background: #fff;
    border-bottom: 2px solid #b10d0e;
}
.mega_inner {
    height: 0;
    display: flex;
    background: #fff;
    transition: .3s;
}
.hd_item:hover .mega_inner {
    max-width: 763px;
    margin: auto;
    height: 170px;
}
.mega_bnr {
    margin-top: 10px;
}
.hd_item a.mega_child {
    text-align: left;
    justify-content: flex-start;
    align-items: flex-start;
    background: #fff;
    padding: 0 10px;
    color: #000;
    transition: .3s;
    text-shadow: none;
}
.hd_item:hover .mega_menu a.mega_child {
    padding: 20px 10px;
    box-sizing: border-box;
}
.hd_item a.mega_child:hover {
    opacity: .8;
}
a .hd_menu_sub {
    font-size: 1rem;
    font-weight: normal;
    letter-spacing: 0;
}
.rev a .hd_menu_sub {
    color: #b10d0e;
}
.hd_right {
    display: flex;
    align-items: center;
}
.hd_tel {
    position: relative;
    width: 328px;
    display: flex;
    margin: 0 10px 0 50px;
    background: #EFEEDF;
    height: 60px;
    align-items: center;
    padding: 5px;
    box-sizing: border-box;
}
.hd_tel_arrow {
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-weight: bold;
    background: url("../img/hd_tel_arrow.png") no-repeat;
    width: 125px;
    height: 40px;
    -webkit-background-size: contain;
    background-size: contain;
    padding-right: 10px;
    box-sizing: border-box;
    position: absolute;
    left: -20px;
}
.hd_tel_arrow .hd_menu_sub {
    font-size: 1rem;
    font-weight: normal;
    letter-spacing: 0;
}
.hd_tel_bg {
    display: flex;
    width: 100%;
    height: 100%;
    border: 1px solid #715F4C;
    align-items: center;
    padding-left: 105px;
}
.hd_tel_inner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 2.8rem;
    font-weight: bold;
    color: #715F4C;
}
.hd_tel_icon {
    display: inline-flex;
    margin-right: 5px;
}
.fixed_btn {
    position: fixed;
    top: 15%;
    right: -400px;
    z-index: 3;
    display: flex;
    align-items: center;
    box-shadow: 0px 3px 10px #00000029;
    transition: .75s;
    border-radius: 10px 0px 0px 10px;
}
.fixed_btn.open {
    right: 0;
    transition: cubic-bezier(0.68, -0.35, 0.6, 0.79) .75s;
}
.fixed_btn .hd_mail_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #cc0000;
    width: 50px;
    height: 196px;
    padding: 5px;
    box-sizing: border-box;
border-radius: 10px 0px 0px 10px;
  cursor: pointer;
}
.fixed_btn .hd_mail_btn span.hd_mail_line {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%;
    align-items: center;
    color: #fff;
}
.fixed_btn .hd_mail_btn span.hd_mail_text {
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 3px;
    margin-top: 3px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.fixed_box {
    width: 400px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    min-height: 196px;
    box-sizing: border-box;
    background: #fff;
}
.fixed_tel {
    text-align: center;
}
a.fixed_num {
    font-size: 3rem;
    font-weight: bold;
    color: #c00;
}
.fixed_mail {
    width: 100%;
    max-width: 200px;
    margin: 20px auto 0;
}
.fixed_mail a {
  display: flex;
    color: #fff;
  background: #c00;
  text-align: center;
  justify-content: center;
  padding: 10px 0;
  align-items: center;
}
/* page-pankuzu
==================================*/
.pankuzu-list {
    max-width: 1024px;
    width: 90%;
    margin: auto;
    display: flex;
    justify-content: center;
    padding: 10px 0;
    background: #fff;
    flex-wrap: wrap;
    color: #000000;
}
.pankuzu-list a{
    color: #000000;
    text-decoration: underline;
}
.under_contents{
	padding-left: 10px;
	position: relative;
}
.under_contents::before {
    content: '›';
    padding-right: 5px;
    font-size: 2rem;
    line-height: 0;
    color: #B10D0E;
    font-weight: bold;
}
/* ==========================
コンポーネント
============================= */
.sec_title {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.sec_title--main {
    font-size: 4.6rem;
    font-weight: bold;
    line-height: 1;
}
.sec_title--sub {
    color: #B10D0E;
    font-weight: bold;
}
.sec_title--brown {
    color: #715F4C;
}
.btn{
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 328px;
    width: 100%;
    height: 60px;
}
.btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 2.2rem;
    padding: 5px;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}
.btn_red a {
    background: #B10D0E;
}
.btn_red a span {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #FFFFFF50;
    width: 100%;
    height: 100%;
}


/* ==========================
amimation
============================= */
.fade{
    opacity: 0;
    transition:ease-out 0.5s;
}
.fade.fade--left{
    transform: translate(-100px,0)
}
.fade.fade--right{
    transform: translate(100px,0)
}
.fade.fade--bot{
    transform: translate(0,100px)
}
.fade.scrollin{
    opacity: 1;
    transform: translate(0,0);
}

.fade.fade--list{
    opacity: 1;
}
.fade.fade--list .fade_child{
    opacity: 0;
    transition:ease-out 0.5s;
    transform: translate(0,100px)
}
.fade.fade--list.scrollin .fade_child{
    opacity: 1;
    transform: translate(0,0);
}

.fade.fade--list .fade_child:nth-child(1){
    transition-delay: 0.0s;
}
.fade.fade--list .fade_child:nth-child(2){
    transition-delay: 0.15s;
}
.fade.fade--list .fade_child:nth-child(3){
    transition-delay: 0.3s;
}
.fade.fade--list .fade_child:nth-child(4){
    transition-delay: 0.45s;
}
.fade.fade--list .fade_child:nth-child(5){
    transition-delay: 0.6s;
}
.fade.fade--list .fade_child:nth-child(6){
    transition-delay: 0.75s;
}
.fade.fade--list .fade_child:nth-child(7){
    transition-delay: 0.9s;
}
.fade.fade--list .fade_child:nth-child(8){
    transition-delay: 1.05s;
}
.fade.fade--list .fade_child:nth-child(9){
    transition-delay: 1.2s;
}
.fade.fade--list .fade_child:nth-child(10){
    transition-delay: 1.35s;
}


/* ==========================
front_buttom 固定ボタン
============================= */

p.ft_cata a:link,
p.ft_movie a:link {
  color: #fff;
}
#page_top {
  width: 50px;
  height: 50px;
  position: fixed;
  bottom: -50px;
  opacity: 0.6;
  border-radius: 50%;
  right: 3%;
  z-index: 999999;
}
#page_top a {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
  text-align: center;
  border: 3px solid #f6f6f6;
  border-radius: 50%;
  background: #707070;
}
#page_top a::before {
    content: ' ';
    background: url(../img/arrow_back.svg);
    -webkit-background-size: contain;
    background-size: contain;
    position: absolute;
    width: 21.5px;
    height: 11px;
    top: calc(50% - 6.5px);
    bottom: auto;
    right: auto;
    left: calc(50% - 9.75px);
}


/* ==========================
footer
============================= */


.copyright {
    padding: 25px 5%;
    text-align: center;
    box-sizing: border-box;
    background: #fff;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
}
.copyright a {
    display: inline-flex;
    padding: 3px 0 0 5px;
}
.copyright small {
    font-size: 1.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
.copy_link {
    position: relative;
    padding-left: 5px;
    margin-left: 12px;
    border-left: 1px solid;
    line-height: 1;
}
.ft_logo img {
}
.fixed_bnr {
    max-width: 250px;
    width: 100%;
    min-height: 160px;
    padding: 20px;
    box-sizing: border-box;
    background: #fff;
    box-shadow: 0px 3px 10px #00000029;
    position: fixed;
    bottom: 120px;
    right: 60px;
  transform: translateY(50px);
  opacity: 0;
  transition: .5s;
  visibility: hidden;
  pointer-events: none;
    z-index: 9;
}
.fixed_bnr.open{
  transform: translateY(0px);
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
.fixed_bnr.open.close{
  transform: translateY(50px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.fixed_bnr_close {
    position: absolute;
    top: -10px;
    right: -10px;
    filter: drop-shadow(0px 3px 10px #00000029);
    z-index: 1;
  cursor: pointer;
}
.fixed_bnr_inner {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.fixed_bnr_catch {
    text-align: center;
    font-size: 2.2rem;
    font-weight: bold;
}
.fixed_bnr_btn {
    margin-top: 13px;
    display: flex;
    max-width: 200px;
    width: 100%;
}
.fixed_bnr_btn a {
    display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 10px 15px;
  background: #c00;
  color: #fff;
}
.fixed_bnr_btn a::before{
  content: ' ';
  background: url("../img/hd_mail_icon.svg") center no-repeat;
  min-width: 22px;
  height: 15px;
  margin-right: 10px;
}
/*オプション*/

.mt_0{
    margin-top: 0px;
}
.mt_10{
    margin-top: 10px;
}
.mt_20{
    margin-top: 20px;
}
.mt_30{
    margin-top: 30px;
}
.mt_40{
    margin-top: 40px;
}
.mt_50{
    margin-top: 50px;
}
.mt_60{
    margin-top: 60px;
}
.mt_70{
    margin-top: 70px;
}
.mt_80{
    margin-top: 80px;
}
.mt_90{
    margin-top: 90px;
}
.mt_100{
    margin-top: 100px;
}





@media print {
  body {
    zoom: 0.68;
    -webkit-print-color-adjust: exact;
    width: 1280px;
    margin: auto;
  }
  div#back-top,
  p.ft_cata,
  p.ft_movie {
    display: none;
  }
    .hd_inner{
        position: absolute;
    }
.fixed_btn {
    display: none;
}
.fixed_bnr {
    display: none;
}
#page_top {
    display: none;
}
}
@page {
  size: A4;
  margin: 5mm 5mm;
}
