﻿
/* ---------- font ---------- */
@import url('https://fonts.googleapis.com/css2?family=Kaisei+Opti&display=swap');

:root{
    --font-jp: "Kaisei Opti", "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
    --font-en: 'Jost', 'Zen Kaku Gothic New', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
}
h2, h3, h4, .fon_jos{
    font-family: var(--font-jp);
    font-weight: 500!important;
}
/*.font_en, a[href^="tel:"]{
    font-family: var(--font-en);
}*/

/* ---------- color ---------- */

.linkStyle{color: #cf2720;transition: opacity .3s;text-decoration: underline;}
.linkStyle:hover{opacity: 0.7}

body, .txt_color_nomal {
    color: #32251d;
}
:root {
    --normal_color: #32251d;
    --color1: #cf2720;
    --color2: #d4baa1;
    --color3: #fffffe;
    --color4: #e86368;
}
.txt{
	color: var(--normal_color);
}
#footer_info .bg_white {
    background-color: #fdfdfd;
}

/* ---------- all ---------- */
.bg_color3{
    background-image: url(../img/bg2.jpg);
    background-size: 500px;
}
#top_news{
    background-image: url( "../img/bg1.jpg" ) ;
    background-size: 900px;
}

.cms_2-g .box_wrap, #cms_3-f .cate_box, .cms_3-f .cate_box {
    box-shadow: rgb(211 205 194 / 40%) 0px 5px 15px 0px;
}
.fixbnr {
    display: none;
}
li .logo {
    padding: 0 !important;
}
#con_nav ul {
    border-radius: 52px;
    align-items: center;
}
#con_nav ul li:first-of-type{
    max-width: 10.66%;
}
.fon_jos:not(.attach_txt):not(.sub_title) {
    color: var(--color1);
    opacity: 1;
}


/* ---------- top ---------- */
#mainwrap {
    padding: 0;
}
#main_img {
    height: 100%;
    width: 100%;
    max-height: 100%;
}
.triangle01{
    display: none;
}

#top_news {position: relative;}


#top_contents1 h3 {
    text-align: left;
    top: 150px;
    position: relative;
    font-size: 50px;
}
#top_contents1 .con_sub_title {
    text-align: left;
    top: 164px;
    position: relative;
}
#top_news .cms_title, #top_cms .cms_title {
    /*-webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;*/
    margin: 0 auto 50px;
    text-align: center;
}

.attach_bg,#page_title .con2_bg  {
    background-color: rgb(131 117 104 / 56%);
    opacity: 1;
}

.filter img{
    mask-image: url(../img/mask01.svg);
    -webkit-mask-image: url(../img/mask01.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center center;
    mask-position: center center;
    transform: scale(1.1);
}
.img-container:before, .con3_no {display: none;}

.check {
   /* background: #f7f7f7;*/
    padding: 10px;
    border-radius: 10px;
    display: inline-block;
    margin-bottom: 20px;
    margin-top: 10px;
}
.check li {
    background: url(../img/check.png);
    background-repeat: no-repeat;
    background-position: 0 5px;
    background-size: 28px;
    padding: 5px 5px 5px 38px;
    font-size: 16px;
}

.con3_wrap {
    padding-top: 50px;
}
/*.con3_txt_wrap {
    background-color: #fffffe;
    padding: 100px 10px;
    border-radius: 50% 60% 45% 50% / 50% 40% 55% 55%;
}*/

#top_contents3 {
    background-image: url(../img/item1.png), url(../img/item2.png), url(../img/item1.png), url(../img/item2.png), url(../img/bg2.jpg);
    background-position: top 22% left -56px, top 58% right -56px, top 86% left -56px, top 100% right -82px, center;
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat;
    background-size: 413px, 339px, 365px, 343px, 500px;
}
#top_cms {
    background-image: url(../img/item1.png), url(../img/item2.png), url(../img/item1.png), url(../img/bg2.jpg);
    background-position: top 9% left -56px, top 59% right -56px, top 98% left -56px, center;
    background-repeat: no-repeat, no-repeat, no-repeat, repeat;
    background-size: 413px, 339px, 365px, 500px;
}
#top_contents3 .con3_wrap .con3_txt_wrap {
    padding: 0px 50px;
}
.con3_img{
    position: relative;
}
/* .con3_img:after {
    content: '';
    position: absolute;
    border: 2px dotted #333;
    width: 100%;
    height: 100%;
    z-index: 9;
    top: 15px;
    right: 10px;
} */

.cms_title{
    text-align: start;
}
.cms_box {
    padding-top: 50px;
}


/* ---------- under ---------- */
#cms_2-g .cate_txt1 {
    font-size: 14px;
    line-height: 1.5;
    padding-top: 10px;
    display: block;
}
#page08 .bnr {
    width: min(90%,450px);
}


/* ---------- 1153 ---------- */
@media screen and (max-width: 1153){
#con_nav li a {
    padding: 20px 0;
    font-size: 14px;
}
}

/* ---------- tablet ---------- */
@media screen and (max-width: 768px){
.mainwrap-r h1 {
    width: 234px;
    padding-top: 14px;
    padding-left: 16px;
}
#top_contents1 h3 {
    writing-mode: inherit;
    text-align: center;
    top: inherit;
    font-size: 31px;
}
#top_news{
    background-size: 600px;
}
.con1_txt_wrap {
    padding-bottom: 0;
    padding-top: 0;
}

#top_contents1 h3:before{
    content: "";
    display: inline-block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100px;
    height: 3px;
    background-color: var(--color1);
}
#top_contents1 {
    margin-bottom: 50px;
}
#top_contents3 .con3_box1 {
    margin-top: -93px;
}
.con3_box1, .con3_box2, .con3_box3 {
    width: 67% !important;
}
#top_contents3 .con3_txt_wrap {
    padding: 0px 6%;
}
#top_contents3 {
    background-image: url(../img/item1.png), url(../img/item2.png), url(../img/item1.png), url(../img/bg2.jpg);
    background-position: top 4% left -56px, top 46% right -56px, top 84% left -56px, center;
    background-repeat: no-repeat, no-repeat, no-repeat, repeat;
    background-size: 413px, 339px, 365px, 500px;
}
.info_txt_wrap {
    background: no-repeat;
    background-color: #fff;
}
#top_news .cms_title{
    margin-bottom: 0;
}

#top_contents1 h3{
    font-size: 27px;
    margin-top: 20px;
    margin-bottom: -15px;
    position: relative;
        padding-bottom: 14px;
}
#top_contents1 .con_sub_title {
    top: -110px;
    text-align: center;
}
}


/* ---------- mobile ---------- */
@media screen and (max-width: 667px){
.menu_stick {
    top: 0;
}
#sp_nav .list_wrap a{
    color: var(--normal);
}
.mainwrap-r h1 {
    width: 158px;
}
.check li {
    background-size: 21px;
    padding: 2px 3px 2px 30px;
    font-size: 14px;
}
#top_news{
    margin-top: 20px;
    background-size: 500px;
}
.cms_title {
    margin-bottom: 0;
    padding-bottom: 0;
}
#top_contents3 .con3_wrap .con3_txt_wrap {
    padding: 0;
}
#top_contents3 .con3_txt_wrap {
    padding: 0;
}
#top_contents1 h3{
    margin-top: 44px;
}
#top_contents3 {
    background-image: url(../img/item1.png), url(../img/item2.png), url(../img/item1.png), url(../img/bg2.jpg);
    background-position: top 4% left -56px, top 46% right -56px, top 76% left -56px, center;
    background-repeat: no-repeat, no-repeat, no-repeat, repeat;
    background-size: 200px, 200px, 200px, 500px;
}
#top_cms {
    background-image: url(../img/item1.png), url(../img/item2.png), url(../img/item1.png), url(../img/bg2.jpg);
    background-position: top 0% right -73px, top 36% left -56px, top 73% right -56px, center;
    background-repeat: no-repeat, no-repeat, no-repeat, repeat;
    background-size: 199px, 200px, 200px, 200px;
}

.under_page h1{
    max-width: 172px;
    padding-top: 17px;
    padding-bottom: 5px;
}
.cate_list {margin-bottom: 50px;
}
}



/* fix_bnr ---------------------------------------------------------------------------------------------*/
#fix_bnr {
    bottom: 9px;
    left: 12px;
    z-index: 10;
    width: 70%;
    max-width: 355px;
    transition: 0.5s;
    opacity: 0;
}
#fix_bnr.active{
    opacity: 1;
}
#fix_bnr.close{
    opacity: 0;
    z-index: -1;
}
@media screen and (max-width: 768px){
#fix_bnr.close{
    transform: translateX(200px);
}
}
@media screen and (max-width: 667px){
#fix_bnr {
    width: 68%!important;
    right: 0;
    left: 0;
    margin: auto;
    bottom: 10px;
}
}
/* fix_bnr end ---------------------------------------------------------------------------------------------*/


