@charset "utf-8";

h1.site-title{
    padding: 15px 0;
    margin-bottom: 0;
    font-size: 18px;
    font-weight: ;
    letter-spacing: 0.1em;
}
@media (min-width: 992px){
    h1.site-title{
        padding: 0;
    }
}

/* ----- ロゴなしテキストの場合 ----- */
a.site-title:link, a.site-title:visited, a.site-title:focus{
    color: #333;
}
 a.site-title:active{
    color: #333;
}
a.site-title:hover{
    color: #888;
    text-decoration: none;
}

/* -----ナビメニュー ----- */
nav {
    background: var(--white);
}

.container-center-nav{width: 100% !important;margin: 0 auto;}
@media (min-width: 992px){
    .container-center-nav{width: 98% !important;}
}
@media (min-width: 1200px){
    .container-center-nav{width: 90% !important;}
}

nav > .container{
    margin: 0 auto;
    width: 100%;
}
nav ul{

}
nav ul li{
    font-size: 1rem;
    font-weight: ;
    letter-spacing: 0.05em;
    -webkit-font-smoothing: antialiased;
}

@media screen and (min-width: 992px){
    nav ul{
        background: linear-gradient(0deg, #2caed9, #2cbcd9);
    }
    nav ul li{    
        border-left: 1px solid #ffd8dd;
        padding: 0;
    }
    nav ul li:last-child{    
        border-right: 1px solid #ffd8dd;
    }
    nav ul li:hover{
        background: linear-gradient(0deg, #2ca0d9, #2ca0d9);
    }
    nav ul li.active{
        background: linear-gradient(0deg, #2ca0d9, #2ca0d9);
    }
    nav ul{
        border-radius: ;
    }
}

/* ----- between-index / center-logo-indexのみ ----- */
.menu-bg{
    background: linear-gradient(0deg, #2caed9, #2cbcd9);
    font-size: 18px;
}

/*----- 暫定 -----*/
a.nav-link{
    padding: 1rem 1.5rem;
}

a.nav-link:link, a.nav-link:visited, a.nav-link:focus{
    color: #fafafa;
    transition: color .17s ease;
    text-shadow: 0 0 2px rgba(0,0,0, .35);
}
a.nav-link:active{
    color: #fafafa;
}
a.nav-link:hover{
    color: #fafafa;
    transition: color .17s ease;
    text-decoration: none;
}

/* ----- Nav Contact ----- */
.nav-menu-line{
    background: #ff9000; /* d99b76 */
    padding: 8px 22px;
    border-radius: 999px;
    transition: all .17s ease;
}
.nav-menu-line:hover{
    background: #ff7b00; /* c07b51 */
}
.line-menu-icon{
    height: 50px;
    width: auto;
}

/* 
===========================================================
   # モーダルフルスクリーンメニュー｜Modal FS Menu
===========================================================
*/   
/* -------------- ハンバーガーメニュー -------------- */
#btn-menu{
    position: fixed;
    top: auto;
    right: 15px;
}
@media screen and (min-width: 992px){
    #btn-menu{
        display: none;
    }
}
.menu-trigger{
	position: relative;/*ボタン内側の基点となるためrelativeを指定*/
	width: 42px;
    height: 41px;
	cursor: pointer;
	border: none;
	background: #f0f0f0;
	z-index: 2;
}
	
/* -------------- ハンバーガー内側 -------------- */
.menu-trigger span{
    display: inline-block;
    transition: all .2s;
    position: absolute;
    left: 6px;
    height: 1px;
	background-color: #666;
  }

.menu-trigger span:nth-of-type(1){
	top: 12px;	
  	width: 30px;
}
.menu-trigger span:nth-of-type(2){
	top: 20px;
  	width: 30px;
}
.menu-trigger span:nth-of-type(3){
	top: 28px;
  	width: 30px;
}

/*activeクラスが付与されると線が回転して×に*/
.menu-trigger.active span:nth-of-type(1){
    top: 20px;
    left: 6px;
    transform: rotate(45deg); /* Original -45deg */
    width: 30px;
    transition: all .2s;
}
.menu-trigger.active span:nth-of-type(2){
    opacity: 0;
    transition: all .2s;
}
.menu-trigger.active span:nth-of-type(3){
    top:20px;
    left: 6px;
    transform: rotate(-45deg);
    width: 30px;
    transition: all .2s;
}


/* モーダルメニュー */
@media screen and (max-width: 991px){
header{
    z-index: 1 !important;
}
    #fs-menu{
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%;
        background: rgba(255,255,255, .98);
        overflow-y: auto;
        visibility: hidden;
        z-index: -1; /* -1でヘッダー表示 / 1でヘッダー非表示 */
        opacity: 0;
    }

    .open-menu #fs-menu{
        visibility: visible;
        opacity: 1;
        transition: opacity .17s ease;
    }

    #fs-menu-position{
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        -webkit-transform: translate(-50%,-50%);
        transform: translate(-50%,-50%);
    }

    #fs-menu-list li{
        list-style: none;
        text-indent: ;
        text-align: center;
        transition: none;
        visibility: hidden;
        z-index: 1;
        opacity: 0;
        -webkit-transform: translateY(3px);
        transform: translateY(3px);
    }
    .open-menu #fs-menu-list li{
        list-style: none;
        padding: 8px 0;
        visibility: visible;
        opacity: 1;
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        
        transition: -webkit-transform .3s ease;
        transition: transform .3s ease;
    }

    /* -----ナビメニュー ----- */
    a.nav-link{
        padding: 5px 2px;
    }
    a.nav-link:link, a.nav-link:visited, a.nav-link:focus{
        color: #333;
        transition: color .17s ease;
        display: inline-block;
        text-shadow: none;
    }
    
    nav ul li.nav-item{
        font-size: 16px;
        font-weight: bold;
    }
    nav ul li{
        background: none !important;
    }
    nav ul li:hover{
        background: none !important;
    }
    nav ul li.active{
    background: none !important;
    }
    
    .nav-item.active a{
        color: #138ef4 !important;
    }
    .nav-item a:hover{
        color: #138ef4 !important;
    }

/* ------ SNS ------ */
    #fs-menu-list .note:hover,
    #fs-menu-list .line:hover{
        opacity: .7;
        transition: .17s;
    }
    #fs-menu-list .note{
        height: 26px;
        width: auto;
        transition: .17s;
    }
    #fs-menu-list .line{
        height: 32px;
        width: auto;
        transition: .17s;
    }
}

#fs-menu,#fs-menu-list,#fs-menu-position{
    transition: none;
}

@media screen and (min-width: 992px){
    #fs-menu-list .note{
        height: 26px;
        width: auto;
    }
    #fs-menu-list .line{
        height: 32px;
        width: auto;
    }
}

/* 
===========================================================
   # Logo
===========================================================
*/
.logo{
    height: 34px;
    width: auto;
}
@media (min-width: 992px){
    .logo{
        height: 48px;
        width: auto;
    }
}

/*
===========================================================
   # Link to Top
===========================================================
*/
.link-to-top{
    position: fixed;
    bottom: 70px;
    right: 20px;
    z-index: 1;
    opacity: .3;    
    display: none;
}
.link-to-top img{
    height: 40px;
    width: 40px;
    transition: .3s;
}
.link-to-top img:hover{
    opacity: .6;
    transition: .17s;
}
@media (min-width: 992px){  /* ■■■■■■■■■■■■■■■ PC ■■■■■■■■■■■■■■■ */
    .link-to-top{
        bottom: 40px;
        right: 40px;
    }
    .link-to-top img{
        height: 64px;
        width: 64px;
    }
}

/* 
===========================================================
   # プレローダー｜Loader
===========================================================
*/
.loader-wrap{
	position: fixed;
	display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 10000;
}

@-webkit-keyframes spinner-grow {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  50% {
    opacity: 1;
  }
}

@keyframes spinner-grow {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  50% {
    opacity: 1;
  }
}

.loader {
  display: inline-block;
  width: 3rem;
  height: 3rem;
  vertical-align: text-bottom;
  background-color: lightpink;
  border-radius: 50%;
  opacity: 0;
  -webkit-animation: spinner-grow .75s linear infinite;
  animation: spinner-grow .75s linear infinite;
}

/* 
===========================================================
   # パンくずリスト
===========================================================
*/
.breadcrumbs{
    margin-bottom: 0 !important;
}
.breadcrumbs li{
    display: inline;
    font-size: 0.8125rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    list-style: none;
    text-decoration: none;
}
.breadcrumbs li:after{
    content: '>';
    padding: 0 2px;
}
.breadcrumbs li:last-child:after{
    content: '';
}
.breadcrumbs span.here{
    opacity: 1;
}
.breadcrumbs a{
    text-decoration: none;
    opacity: .9;
}
.breadcrumbs a:hover{
    text-decoration: none; 
}

.breadcrumbs ol{
    margin-top: 0;
    padding: 0;
    text-align: left;
}

@media (min-width: 992px){
    .breadcrumbs ol{
        margin-top: 0;
        padding: 0;
    }
}


/* 
===========================================================
   # BS Contact Form
===========================================================
*/
.form-group{
    font-size: ;
}
.form-control{
    font-size: 98%;
}
.form-control::placeholder{
  color: #aaa;
  opacity: 1;
}

.help-block{
    background: ;
    font-weight: bold;
    color: #ff0000;
}
#contactForm ul{
    list-style: none;
    margin-left: -2.5em;
    margin-right: 0.5em;
}
#contactForm{
    font-size: ;
}
#contactForm label{
    font-weight: bold;
}

.form-required:after{
	content: "必須";
	font-size: 10px;
	font-weight: bold; 
	text-transform: uppercase;
	letter-spacing: 1px;
	line-height: 1em;
	background: #f32929;
	color: #fff;
	padding: 2px 3px 3px;
	margin-left: 3px;
	border-radius: 1px;
	vertical-align: text-top;
}

#policy h3{
    font-size: 1rem;
    font-weight: bold;
}
@media (min-width: 992px) {
    #policy h3{
        font-size: 1.2rem;
    }
}

/* 
===========================================================
   # for Bootstrap4
===========================================================
*/
.btn:focus, .btn:active, button:focus, button:active {
    outline: none !important;
    box-shadow: none !important;
}

/* 
===========================================================
   # 
===========================================================
*/
.w-80{width: 100% !important;}
@media (min-width: 768px){
    .w-80{max-width: 90% !important;}
}
@media (min-width: 992px){
    .w-80{width: 860px !important;}
}
@media (min-width: 1200px){
    .w-80{width: 860px !important;}
}

.w-90{width: 100% !important;}
@media (min-width: 768px){
    .w-90{max-width: 90% !important;}
}
@media (min-width: 992px){
    .w-90{width: 900px !important;}
}
@media (min-width: 1200px){
    .w-90{width: 980px !important;}
}
