﻿@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap');
@font-face {
font-family: "utsukushi";
  src: url("./Dup/img/utsukushi.otf") format("otf"),url("./Dup/img/utsukushi.woff") format("woff"),url("./Dup/img/utsukushi.woff2") format("woff2");
}

body{font-family: 'Zen Maru Gothic',"游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}
:root{--font_utu: "utsukushi","游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";}
.con1_title,.intro_title, #contents .con_title,h3,h2,h4,h5,h6{font-family:var(--font_utu);}

/* color ---------------------------------------------------------------------------------------------*/
:root{
    --color1:#fbf1e6;
    --color2:#e81c30;
    --color3:#ea6a7c;
    --color4:#f9d2d2;
    --color5:#6f383d;    
    --white:#fcf8f5;
    --black:#383031;
    --gray:#8e7579;
}

body,.txt_color_nomal,.hvr_txt_color_nomal:hover{color: var(--black);}
.txt_white,.hvr_txt_white:hover{color: var(--white);}
.txt_color1,.hvr_txt_color1:hover{color: var(--color1);} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: var(--color2);} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: var(--color3);} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: var(--color4);} /* アクセントカラー2 */
/* background-color */
.bg_white,.hvr_bg_white:hover{background-color: var(--white)} /* 白背景 */
.bg_black,.hvr_bg_black:hover{background-color: var(--black);} /* 黒背景 */
.bg_color1,.hvr_bg_color1:hover{background-color: var(--color1);} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{background-color: var(--color2);} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: var(--color3);} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: var(--color4);} /* アクセントカラー2 */
.bg_color_clear,.hvr_bg_color_clear:hover{background-color: transparent!important;}
/* border-color ※!important */
.border_white,.hvr_border_white:hover{border-color: var(--white);}
.hvr_border_black:hover{border-color: var(--black);}
.border_black{border-color: var(--gray);}
.border_color1,.hvr_border_color1:hover{border-color: var(--color1);}
.border_color2,.hvr_border_color2:hover{border-color: var(--color2);}
.border_color3,.hvr_border_color3:hover{border-color: var(--color3);}
.border_color4,.hvr_border_color4:hover{border-color: var(--color4);}

.linkStyle{color: var(--color3);
          border-bottom:solid 1px;
}

body#body {background: var(--color1);}
h2 {color: var(--color2);}
#footer .footer_bottom, .top_cms_bg,#top_info {background-color: var(--white) !important;}
.menu_stick .bg_color1 {background: var(--color2) !important;}
.con1_title p {color: var(--color3);}
section#contents3 p {color: var(--color5);}
span.contents_bg {
    background: url(dup/img/bg_gara.png);
    background-size: 40%;}
/* color ---------------------------------------------------------------------------------------------*/


/* top ---------------------------------------------------------------------------------------------*/
h1#logo {
    text-align: center;
    margin-bottom: 50px;}

#pc_nav {
    text-align: center;
    padding: 0;}
    
.top_header {padding-left: 0px;}

#logo span{background:transparent;}

div#header,.con1_right {position: relative;}


.top_header::before {
    content: '';
    position: absolute;
    width: 98%;
    height: 98%;
    border-top: solid 2px var(--color2);
    border-bottom: solid 2px var(--color2);
    top: 1%;
    left: 1%;
    box-sizing: border-box;
    z-index: 4;
}

.con1_right::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 81%;
    box-shadow: 0px 0px 0px 2px var(--color2);
    border: solid 2px var(--color1);
    top: 1%;
    left: 0%;
    box-sizing: border-box;
    z-index: 0;
}

.con1_right::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 79.8%;
    border-top: dotted 2px var(--color2);
    border-bottom: dotted 2px var(--color2);
    top: 1.5%;
    left: 0%;
    box-sizing: border-box;
    z-index: 2;
}

.con2_title p,.con3_title p{color: var(--color3) !important;}

.con2_title .bg_color3, .con3_title .bg_color3 {
    background: var(--color3);
    opacity: 0.7;}
    
#video, .video {
    height: 100% !important;
    width: auto !important;}

span.intro_title_en {
    width: 12% !important;
    display: block;
    margin: 0 auto;}

#contents1 .con1_right {
    background-image: url(./Dup/img/item01.png), url(./Dup/img/item02.png);
    background-repeat: no-repeat;
    background-size: 180px;
    background-position: top 30px left 10px, bottom 130px right 11px;}
    
#contents2 .con2_wrap {
    position: relative;
    background-image: url(./Dup/img/item03.png);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: bottom left;
}

div#header .grid_12 {z-index: 4;}
h1#logo {background: transparent;}
.con1_right h2, .con1_right p {
    z-index: 5;
    position: relative;}
nav#pc_nav li a {
    font-size: 18px;
    font-family: var(--font_utu);
    color: var(--color2);}
    
#logo {
    padding-left: 0%;
    margin-bottom: 10px;}

h1#logo img {max-width: 300px;}

span.catch.posi_center {
    z-index: 2;
    width: 40vw;
    transform: translate(-50%,-63%);
}
    
div#video::before {
    content: '';
    background: rgb(251 241 230 / 30%);
    position: absolute;
    width: 100%;
    height: 100%;
    mix-blend-mode: overlay;
}

#video::after {
    content: '';
    border: solid 1.5vw var(--color2);
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 2;
    top: 0;
    box-sizing: border-box;
    left: 0;
}

div#main_img::before {
    content: '';
    border: solid 2px var(--color1);
    position: absolute;
    width: 95%;
    height: 91%;
    z-index: 2;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(2deg);
    box-sizing: border-box;
}

.cms_2-g .swiper-button-prev {left: 50px;}
.cms_2-g .swiper-button-next {left: 70px;}
.cms_title p, .info_title p {color: var(--color3);}
article#top_cms .border_color1 {border-color: var(--color4);}
/* top ---------------------------------------------------------------------------------------------*/

/* all ---------------------------------------------------------------------------------------------*/
body#body {overflow: hidden;}
header .menu_stick.stick_trans span:not(:first-of-type):not(:last-of-type) {background-color: transparent !important;}
ul.footer_nav li a {color: var(--color5);}

.head_banner{
    width: 80px;
    top: 0;
    right: 80px;
    z-index: 10;}

header .menu_stick {position: fixed;}
.sp_nav_box a.txt_color1 {
    color: var(--color3);}
/* all ---------------------------------------------------------------------------------------------*/

/* sub ---------------------------------------------------------------------------------------------*/

.page_title_box p, .page_title_box h2 {color: var(--color1);}
#page_title .page_title_bg {opacity: 0;}
.page_title_bg {
    background: url(dup/img/bg_gara.png);
    background-size: 60%;}
.page_title_box {background: rgb(237 178 186 / 20%);}
.under_page #logo img {width: 200px;}
.under_page #footer {background-color: var(--white);}
.pager li a {background-color: var(--color3);}
.pager li a:hover {background: var(--color2);}
p.date {border-color: var(--color3);}
ul.cate_list a {color: var(--color2) !important;}
#page07 p {background-color: var(--white) !important;}
#page09 .txt_color1{color:var(--color2);}
.under_page #pc_nav {padding-right: 20px;}
#page09 .privacy_top {background-color: var(--white);}


/*コード集*/
.link_type2 .cate_box a {
    color: #fff;
    padding: 80px 0;
}
.link_type2 .cate_box a:before, .link_type2 .cate_box a:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgb(111 56 61 / 30%);
    z-index: 1;
}
.link_type2 .cate_box a:after {
    top: 100%;
    background-color: var(--color3);
    transition: 0.5s;
	z-index: 3;
}
.link_type2 .cate_box a:hover:after {
    top: 0;
}
.link_type2 .cate_box .txt_wrap {
    z-index: 2;
}
.link_type2 .more {
	letter-spacing: 3px;
    box-sizing: border-box;
	opacity: 0;
	transition: opacity .8s;
	z-index: 4;
}
.link_type2 .cate_box a:hover .more {
    opacity: 1;
}

.link_type2 .cate_box h3 {
    padding: 15px 0;
    font-size: -webkit-calc(1rem + 2px);
    font-size: calc(1rem + 2px);
}
/*コード集*/


/*タブレット*/
@media screen and (max-width: 768px){
    div#main_img::before {
        content: '';
        border: solid 3px var(--color1);
        position: absolute;
        width: 96%;
        height: 86%;
        z-index: 2;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -44%) rotate(1deg);
        box-sizing: border-box;}
        
    span.catch.posi_center {
        z-index: 2;
        width: 80vw;
        transform: translate(-50%,-39%);}
    .con1_right::before {height: 91%;}
    .con1_right::after {height: 89.8%;}
    #contents1 .con1_right {
        background-image: url(./Dup/img/item01.png), url(./Dup/img/item02.png);
        background-repeat: no-repeat;
        background-size: 100px;
        background-position: top 30px left 10px, bottom 83px right 2px;}
    span.intro_title_en {width: 35% !important;}
    #contents2 .con2_wrap {background-size: auto 52%;}
    span.contents_bg {background-size: 60%;}
    .cms_2-g .swiper-button-prev {left: 10px;}
    .cms_2-g .swiper-button-next {left: 35px;}
    .link_type2 .cate_box a {
        color: #fff;
        padding: 40px 0;}
    .link_type2 .cate_box h3 {
        padding: 15px 0;
        font-size: -webkit-calc(1rem + 5px);
        font-size: calc(1rem + 5px);}

}


/*スマホ*/
@media screen and (max-width: 667px){
    .link_type2 .cate_box a {
        color: #fff;
        padding: 40px 0;}
    .link_type2 .cate_box h3 {
        padding: 15px 0;
        font-size: -webkit-calc(1rem + 1px);
        font-size: calc(1rem + 1px);}    
    div#main_img::before {
        content: '';
        border: solid 2px var(--color1);
        position: absolute;
        width: 96%;
        height: 75%;
        z-index: 2;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -36%) rotate(1deg);}
    span.catch.posi_center {
        z-index: 2;
        width: 80vw;
        transform: translate(-50%,-16%);}
    span.intro_title_en {width: 53% !important;}
    .con1_title h2 {font-size: 21px;}
    #contents1 .con1_right {
        background-image: url(./Dup/img/item01.png), url(./Dup/img/item02.png);
        background-repeat: no-repeat;
        background-size: 80px;
        background-position: top 25px left 5px, bottom 88px right 0px;}
    .con2_title h2 {
        font-size: -webkit-calc(1rem + 7px);
        font-size: calc(1rem + 7px);}
    #contents2 .con2_wrap{background-size:0%;}
    .con3_wrap {padding: 50px 20px;}
    
    .head_banner{
        width: 60px;
        right: 60px;}
        
    header .menu_stick {
        width: 60px;
        height: 60px;}    
    header .trans_header {
    height: 60px;}
    header .trans_logo a img {
    max-width: 77px;
}
header .trans_logo {
    padding: 5px 15px !important;
}

#page_title {
    padding-top: 45px;
}
}