﻿@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&family=Sawarabi+Mincho&display=swap');

/* ----------　all　---------- */
.linkStyle{
	color:#a92438;
	text-decoration: underline;
}
.linkStyle:hover{
	color:#a92438;
	opacity: 0.7;
	transition: all 0.5s;
}

body {
    font-family: "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
}

h2,h3,h4 {
    font-family: 'Sawarabi Mincho', serif;
}

.en_font {
    font-family: 'Playfair Display', "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", serif;
}

#loader::after {
    background: #ffffff!important;
}

/* nav */

h1::after {
    display: none;
}

#main_nav ul::before {
    background: -moz-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
    background: -webkit-linear-gradient(left, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
    background: linear-gradient(to right, rgba(0,0,0,1) 0%,rgba(0,0,0,0) 100%);
}

#main_nav ul::after {
    background: -moz-linear-gradient(left, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%);
    background: -webkit-linear-gradient(left, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%);
    background: linear-gradient(to right, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%);
}

#menu_wrap::after {
    background: #4d4d4d!important;
}

/* footer */

#fix-con {
    bottom: -15px;
    right: 60px;
    z-index: 5;
    height: 58px;
    transition: 0.5s;
}

#fix-con a {
background-color: #06c755;
    padding: 20px 25px;
}

#fix-con a:hover {
    background-color: #ed5a71;
}

#footer .cta {
    z-index: 2;
}

.is-hidden {
  visibility: hidden;
  opacity: 0;
}

/* ----------　TOP　---------- */

/* main-img */

#main_img:before {
    content: "";
    width: 50vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #F2F2F2;
}

#main_img::after {
    display: none;
}

.sm-slider {
    width: 50vw!important;
    left: auto!important;
    right: 0!important;
    min-width: 500px;
}

.sm-slider::after {
    background: transparent!important;
}


.copy-box {
    left: 10%;
}
.copy-box {
    filter: drop-shadow(0px 2px 5px white);
}

.top-con {
    position: relative;
    background-color: #06c755;
    width: 450px;
    border-radius: 25px;
    line-height: 1.5;
    box-shadow: 0px 5px #315d2d;
}

.top-con:hover {
    transform: translate(0,3px);
    box-shadow: 0px 2px #315d2d;
}


/* top */

#intro #intro_box {
    background-color: #fbdee3;
}

#intro #intro_box #intro_txt h3::after {
    display: none;
}

#contents_links .box_wrap .box a::after {
    background-position: top center;
}

#contents::before {
    display: none;
}

/* top-cms */

.v_type2 .demo_box {padding-top: 70px}
.v_type2 {counter-reset: number 0;}
.v_type2 .cate_box {padding: 50px 20px 30px;}
.v_type2 .cate_box:before {
    counter-increment: number 1;
    content: "0" counter(number);
    display: inline-block;
    position: absolute;
    top: -43px;
    left: -5px;
    z-index: 1;
    font-size: 80px;
    font-weight: 100;
    font-style: italic;
    color: #ed5a71;
    background-color: #fff;
    line-height: 1;
    padding: 0 25px 0 0;
}

/* ----------　下層ページ　---------- */

.other #main_nav ul::before {
    background: -moz-linear-gradient(left, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
    background: -webkit-linear-gradient(left, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
    background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
}

.other #main_nav ul::after {
    background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
    background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
}

#page_title {
    background-position: top center;
}

#page_title::after,#page_title::before {
    background: rgba(0,0,0,0.25)!important;
}

.other main {
    background-image: url(Dup/img/under-bg.jpg);
    background-repeat: no-repeat;
    background-position: top right;
}

/* 会社情報 */
/* お問い合わせ */
/* プライバシーポリシー */
/* サイトマップ */


/*-------------------------------------------------------
			          タブレット
-------------------------------------------------------*/
@media screen and (max-width: 768px){
    
.sm-slider {
    width: 100vw!important;
    min-width: initial;
}

.sm-slider::after {
    background: rgb(77, 77, 77);
    background: -moz-linear-gradient(left, rgb(77, 77, 77) 0%, rgb(237, 90, 113) 100%);
    background: -webkit-linear-gradient(left, rgb(77, 77, 77) 0%,rgb(237, 90, 113) 100%);
    background: linear-gradient(to right, rgb(77, 77, 77) 0%,rgb(237, 90, 113) 100%)!important;
}
    
.copy-box {
    width: 100%!important;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 15%;
}

.copy-box {
    filter: none;
}
    
#main_img {
    height: 95vh;
}
    
#main_img:before {
    display: none;
}

#main_img h2 {
    width: 80%!important;
    text-align: center;
    margin: auto;
}

/*#main_img h2 img {*/
/*    filter: drop-shadow(0px 0px 8px rgba(255,255,255,0.5));*/
/*}*/

.top-con {
    margin-left: auto;
    margin-right: auto;
}

#fix-con {
    height: 52px;
}
    
}

/*-------------------------------------------------------
		            	スマホ
-------------------------------------------------------*/
@media screen and (max-width: 667px){

header {
    top: -90px;
}

#fix-con {
    height: 50px;
    right: 40px;
}

#menu_bt span,#menu_bt::before, #menu_bt::after {
    background-color: #333333;
}

#menu_bt.sc span, #menu_bt.sc::before, #menu_bt.sc::after {
    background-color: #ffffff;
}

#main_img {
    height: 50vh;
    margin-top: 50vh;
    background-color: #B3B3B3;
    padding-top: 0;
}

.sm-slider {
    width: 100vw!important;
    min-width: initial;
    height: 50vh!important;
}

#main_img h2::before {
    display: none;
}

.copy-box {
    bottom: 15%;
}

.top-con {
    margin-top: 10px;
    width: 280px;
    padding: 15px 25px;
}

.top-con:hover {
  margin-top: 14px;
  border-bottom: 3px solid #254622;
}

#intro h3 span {
    font-size: 25px;
}

.other main {
    background-size: 60%;
}
    
.v_type2 .cate_box{padding: 42px 25px 25px;}
.v_type2 .cate_box:before{top: -31px;font-size: 48px;}
    
}