﻿@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500&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");}
  
:root{--font_utu: "utsukushi", "Hannari","YuMincho", "MS PMincho","Hiragino Mincho Pro", "Sawarabi Mincho", "serif";}
:root{--font_zenkaku: 'Zen Kaku Gothic New', "Yu Gothic Medium", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, "MS PGothic", sans-serif;}
    　
.con1_title,.intro_title, #contents .con_title,h3,h2,h4,h5,h6,.hannari,#page10 .pop400,#contents .con_txt{font-family:var(--font_utu);}
body, .font_sans-serif,#cms_2-f .box_title1,.cms_2-f .box_title1{font-family:var(--font_zenkaku);}

/*毎回いる*/

.swiper-button-next, .swiper-button-prev { z-index: 2 !important;}
#top_cms.back1:before {z-index: -1;}
.nav_menu_more a span::before {
    display: none !important;}
.nav_menu_more.mg_t-10px a span::before {
    display: block !important;}
div#contents2_wrap {margin-top: 50px;}

/*タブレット*/
@media screen and (max-width: 768px){
#cms_1-a .pager li {margin-right: 0px;}
}

@media screen and (max-width: 667px){
#contents1 .line:before, #contents2 .line:before {
    left: 50%;
    -ms-transform: translate(-50%,0);
    -webkit-transform: translate(-50%,0);
    transform: translate(-50%,0);}
}

/*メインビジュアルロゴ＆メニュー消す＋ヘッダー常に表示*/
#main_img .menu {
    display: none;}
.top header {
    opacity: 1 !important;
    z-index: 5;}
div#pc_nav {display: block !important;}
/*メインビジュアルロゴ＆メニュー消す＋ヘッダー常に表示*/

/*装飾に便利なposi_rel*/
#contents_box,#contents1,#contents2,#contents3,#contents,.con1_outer, .con2_outer, .con3_outer,.img5, .img6, .img7{position: relative;}
/*装飾に便利なposi_rel*/
/*装飾に便利な疑似クラス設定*/
#main_img::before, #main_img::after, #contents_box::before, .con1_outer::after, #attach::before, .con2_outer::before,.con2_outer::after,.con3_outer::before,.con3_outer::after,#page_title .title_img::after,article .width_1280-max::before,div#contents1::before,div#contents1::after,div#contents3::before,#contents2::before,div#contents2::after,#page_title .title_img::after,#contents::before,.img5::before, .img6::before, .img7::before {
    content: '';
    position: absolute;
    display: block;
    background-repeat: no-repeat;
    z-index: 1;
}
/*装飾に便利な疑似クラス設定*/

/*メインビジュアル一枚に*/
div#right {display: none;}
div#left {
    width: 100% !important;
    height: 100vh !important;}
div#page_left {width: 100% !important;}
div#page_right {display: none;}
/*メインビジュアル一枚に*/
/* color ---------------------------------------------------------------------------------------------*/
:root{
    --color1:#161e7b;
    --color2:#e0cf89;
    --color3:#5e76da;
    --color4:#8095ef;
    --color5:#fff4c9;    
    --white:#FFFFFF;
    --black:#0d1143;
    --gray:#0d1143;
}

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 */
.txt_color5,.hvr_txt_color5:hover{color: var(--color5);} /* アクセントカラー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_color5,.hvr_bg_color5:hover{background-color: var(--color5);} /* アクセントカラー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);}
.border_color5,.hvr_border_color5:hover{border-color: var(--color5);}
.linkStyle{color: var(--color3);
          border-bottom:solid 1px;
}
/* color ---------------------------------------------------------------------------------------------*/

/* top ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/* ---------- loopSlider ---------- */


#main_img:before {background-color: rgb(22 30 123 / 50%);}

div#main_img {overflow: hidden;}

/* ---------- loop ---------- */
#main_img::after {
    position: absolute;
    content: "";
    right: -1%;
    top: 0%;
    width: 50%;
    height: 120%;
    background-image: url(../dup/img/loop01.png);
    background-size: 100% auto;
    background-position-y: 0;
    background-position-x: 0;
    background-repeat: repeat-y;
    animation: loop 60s linear infinite;
    transform: rotate(2deg);
}
@keyframes loop {
	0% {
    background-position-y: 0;}
	100% {
    background-position-y: 240%;}
}
/* ---------- loop ---------- */

/* ---------- catch ---------- */
.catch_box{
    position: absolute;
    left: 27%;
    transform: translate(-50%, -50%);
    top: 50%;
    z-index: 3;}
.catch_box h3 {
    font-size: 44px;
    margin-top: 70px;}

.word {
  position: absolute;
  width: 220px;
  opacity: 0;}

.letter {
  display: inline-block;
  position: relative;
  float: left;
  transform: translateZ(25px);
  transform-origin: 50% 50% 25px;}

.letter.out {
  transform: rotateX(90deg);
  transition: transform 0.5s cubic-bezier(0.55, 0.055, 0.675, 0.19);}

.catch_box .word {
    font-size: 45px;
    width: 100%;}

.letter.behind {
  transform: rotateX(-90deg);}

.letter.in {
  transform: rotateX(0deg);
  transition: transform 0.58s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.catch01{font-family:var(--font_utu);}
.catch02{font-family:var(--font_zenkaku);}
.catch03{font-family: 'Klee One', cursive;}
.catch04{font-family: 'Sawarabi Gothic', sans-serif;}
.catch05{font-family: 'BIZ UDPMincho', serif;}
/* ---------- catch ---------- */

/* ---------- intro_item ---------- */
.intro_item {
    width: 40vw;
    left: -10%;
    top: -10%;
    z-index: -1;
    opacity: 0.25;}
.intro_item {animation:100s linear infinite rotation;}

@keyframes rotation{
  0%{ transform:rotate(0);
      transform-origin:50％ 50％;
  }
  100%{ transform:rotate(360deg);
         transform-origin:50％ 50％;
  }
}
/* ---------- intro_item ---------- */

/*div#intro_wrap {padding: 7% 0px 7% 10%;}*/
#intro .line:before{left: 5%;}
/*.back1:before {background-color: rgba(224,207,137,0) !important;}*/
#intro .con_txt {
    font-size: 19px;
    line-height: 3;
    width: 100%;}
#intro .con_title h3 {font-size: 40px;}
section#intro .con_img {
    right: 0%;
    top: 0%;
    position: absolute;}
    
.back1:before {
    background: rgb(246,236,193);
    background: linear-gradient(229deg, rgba(246,236,193,0.3) 0%, rgba(224,207,137,0.1) 40%, rgba(224,207,137,0.3) 100%);
    top: 55%;
    height: 48%;
    width: 40%;
}
.back2:before {
    background: rgb(246,236,193);
    background: linear-gradient(137deg, rgba(246,236,193,0.1) 0%, rgba(224,207,137,0) 40%, rgba(224,207,137,0.1) 100%);
}

p.con_txt {
    font-size: 16px;
    line-height: 2.3;}
    
.num{display:none;}
#contents2 .con_box {margin-top: 8%;}
div#contents2_wrap {margin-top: 10%;}
#intro .con_title h3 {
    font-size: 40px;
    transform: translateX(-21px);}
#intro .line:before {left: 7.5%;}
span.material-symbols-outlined {
    color: var(--color2);
    transform: translateY(6px);
    margin-right: 5px;}
#contents3 .line:before {left: 14%;}
#contents3 .con_box {box-shadow: 0px 0px 15px 0px #f8f6ec;}

.main_shadow {
    text-shadow: rgb(22 30 123 / 50%) 1px 1px 5px, rgb(22 30 123 / 50%) -1px -1px 5px,/*右下、左上*/ rgb(22 30 123 / 50%) -1px 1px 5px, rgb(22 30 123 / 50%) 1px -1px 5px,/*右上、左下*/ rgb(22 30 123 / 50%) 0px 1px 5px, rgb(22 30 123 / 50%) 0-1px 5px,/*右、左*/ rgb(22 30 123 / 50%) -1px 0 5px, rgb(22 30 123 / 50%) 1px 0 5px;}
.scr_header li a{text-shadow: 0 0 black !important;}    
#top_cms.back1:before {
    height: 200%;
    top: 0;
    background: rgb(246,236,193);
    background: linear-gradient(269deg, rgba(246,236,193,0) 0%, rgba(224,207,137,0.1) 40%, rgba(224,207,137,0.2) 120%);
    width: 100%;}
#info_contact .con_img:before {background-color: rgb(107 108 135 / 70%);}
#logo {
    max-width: 200px;
    padding: 20px 0;}
header.scr_header #logo {
    padding: 0;}
div#main_img img {
    width: 100% !important;
    height: 100%;
    object-fit: cover;
}
/* top ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/* sub ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.cate_list li a:before {color: rgba(13,17,67,0.7) !important;}
#page_title:before {background-color: rgb(22 30 123 / 50%);}
.page .back1:before {
    background: rgb(246,236,193);
    background: linear-gradient(269deg, rgba(246,236,193,0) 0%, rgba(224,207,137,0.1) 40%, rgba(224,207,137,0.2) 120%);
    top: 0;
    width: 120%;}
html {scroll-behavior: smooth;}
#cms_2-f .cate{ scroll-margin-top: 100px;}
#cms_3-g .cate_item, .cms_3-g .box_wrap {
    box-shadow: rgb(0 0 0 / 24%) 0px 0px 0px;
    border: solid 1px var(--color1);}
p.box_txt2 {color: var(--black);}
.pager li a {background-color: rgb(22 30 123 / 50%) !important;}
.pager li a:hover{background-color: rgb(22 30 123 / 70%) !important;}
.cate_list li a:hover {background-color: rgba(22,30,123,0.2) !important;}
.cate_list li a {background-color: rgba(22,30,123,0.1) !important;}
#cms_2-f .box_title1::after {top: 20px;}
div#tel_txt a {
    color: var(--color1);
    font-weight: 500;}
#page10 .pop400 {text-transform: capitalize;}
.page_container {padding-top: 0;}

section#intro .con_img {z-index: -1;}
/* sub ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/* all ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#logo {
    max-width: 200px;}
#footer {
    background: linear-gradient(135deg, rgb(72 79 165 / 90%) , rgb(147 162 225 / 90%) ) !important;
    color: var(--white);}
#footer h2, #footer a {color: var(--white);}
header.scr_header {
    background-color: rgb(22 30 123 / 50%) !important;}
.return a {color: var(--black);}
.overlay {background: linear-gradient(135deg, rgba(22,30,123,0.9) , rgba(94,118,218,0.9) ) !important}
p.tel_bt .txt_red {color: var(--color5);}
/* all ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

@media screen and (max-width: 1600px){
.catch_box {left: 33%;}    
section#intro .con_img {
    max-width: 500px;}
}

@media screen and (max-width: 1280px){
.catch_box {
    left: 36%;
}
section#intro .con_img {
    max-width: 450px;
    z-index: -1;}
#intro .con_txt {
    font-size: 17px;
    line-height: 2.5;}
}
/*タブレット*/
@media screen and (max-width: 768px){
    div#main_img {height: 50vh;}

    .catch_box .word {font-size: 25px;}
.catch_box h3 {
    font-size: 28px;
    margin-top: 42px;
} 
.catch_box {left: 35%;}
#main_img::after {
    position: absolute;
    content: "";
    right: -7%;
    top: 0%;
    width: 53%;
    height: 120%;}
.catch_box h3 {
    font-size: 28px;
    margin-top: 42px;
    text-shadow: rgb(22 30 123 / 40%) 1px 1px 5px, rgb(22 30 123 / 40%) -1px -1px 5px,/*右下、左上*/ rgb(22 30 123 / 40%) -1px 1px 5px, rgb(22 30 123 / 40%) 1px -1px 5px,/*右上、左下*/ rgb(22 30 123 / 40%) 0px 1px 5px, rgb(22 30 123 / 40%) 0-1px 5px,/*右、左*/ rgb(22 30 123 / 40%) -1px 0 5px, rgb(22 30 123 / 40%) 1px 0 5px;}    
div#pc_nav {display: none !important;}
#logo {
    max-width: 170px;
    padding: 20px 0;}
/*.button_container_top {background: rgb(22 30 123 / 50%);}*/
.scr_header .button_container {background: rgb(22 30 123 / 0%);}
section#intro .con_img {max-width: 250px;}
div#intro_wrap {padding: 7%;}
#intro .line:before {left: 50%;}
#intro .con_title h3 {font-size: 30px;}
div#intro_wrap h3 span {font-size: 23px;}
#intro .con_title h3 {
    font-size: 30px;
    transform: translateX(0px);
    text-align: center;}
.intro_item {
    width: 60vw;
    left: -15%;
    top: -4%;
    z-index: -1;
    opacity: 0.4;}    
p.con_txt {
    font-size: 15px;
    line-height: 2.1;}
div#contents1_wrap, div#contents2_wrap {
    padding: 0 4%;}
section#contents1 .con_title h3 {
    font-size: 20px;
    letter-spacing: 2px;}
.back1:before {
    background: rgb(246,236,193);
    background: linear-gradient(232deg, rgba(246,236,193,0.) 0%, rgba(224,207,137,0.1) 67%, rgba(224,207,137,0.2) 123%);
    top: 50%;
    height: 40%;
    width: 55%;}
.back2:before {
    height: calc(100% + 100px);
    top: 5%;
    right: 0;
    width: 70%;}
#contents3 .con_title {
    text-align: center;
    margin-top: 30px;}
#contents3 .line:before {left: 50%;}
#footer h2, #footer a {font-size: 20px;}
section#cms_2-f .box_item {
    width: 100% !important;
    padding: 0px 20px 20px 20px;}
#page_title .page_title_box {
    padding-bottom: 28px;
    width: 50%;
}
section#page7 h4.box_title1 {padding: 10px 20px;}
}


/*スマホ*/
@media screen and (max-width: 667px){
#logo {
    max-width: 100px;
    padding: 10px 0;}
.catch_box {
    left: 55%;
    width: 100%;}    
.catch_box h3 {
    font-size: 19px;
    margin-top: 28px;
    width: 100% !important;}
div#main_img img {
    height: 50vh;
    width: auto !important;}
#main_img::after {
    position: absolute;
    content: "";
    right: -7%;
    top: 0%;
    width: 60%;
    height: 120%;
    animation: loop 65s linear infinite;}
.catch_box .word {font-size: 16px;}
#intro .con_title h3 {
    font-size: 25px;
    transform: translateX(0px);
    margin-bottom: 20px;
    padding-bottom: 20px;}
#intro .con_txt {
    font-size: 15px;
    line-height: 2;}
.intro_item {
    width: 80vw;
    left: -30%;
    top: -4%;
    opacity: 0.5;}
.back1:before {
    background: rgb(246,236,193);
    background: linear-gradient(232deg, rgba(246,236,193,0.) 0%, rgba(224,207,137,0.1) 67%, rgba(224,207,137,0.2) 123%);
    top: 50%;
    height: 50%;
    width: 50%;}
.back2:before {
    height: calc(100% + 100px);
    top: 15%;
    right: 0;
    width: 50%;}
header.scr_header #logo {max-width: 100px;}
section#cms_2-f .box_item {
    width: auto;
    padding: inherit;
}
#cms_2-f .cate_title {
    line-height: 1;
    font-size: -webkit-calc(1rem + 1px);
    font-size: calc(1rem + 1px);}
#page_title .page_title_box {
    padding-bottom: 28px;
    width: 67%;
    padding: 20px 20px 28px;}
#page_title .page_title_box h2 {
    font-size: 21px;
}
}


/*バナー-------------------*/

a.cms_bnr {margin-top: -30px;}
#fix_bnr {
    bottom: 45px;
    right: 84px;
    z-index: 10;
    width: 345px;}
#h1txt{padding-bottom: 100px;}

@media screen and (max-width: 768px){
#fix_bnr {
    bottom: 45px;
    right: 60px;
    z-index: 10;
    width: 300px;}
}

@media screen and (max-width: 667px){
#fix_bnr {bottom: 7px;right: 72px;width: 65%;}
#h1txt{padding-bottom: 10px;}
#copyright{padding-bottom: 50px;}
#copyright {
    padding-bottom: 90px;
    padding-top: 20px;
}
.return a {
    color: var(--color3);
}
#footer {
    background: linear-gradient(116deg, rgb(72 79 165 / 90%) , rgb(162 175 227 / 90%) ) !important;
    color: var(--white);
}
a.cms_bnr {margin-top: -50px;}
}



/*1108--------------------------------------------------*//*修正--------------------------------------------------*/
.main_owner {
    z-index: 2;
    width: auto;
    height: 100vh;
    left: 0;
}

.catch_box {
    position: absolute;
    left: 40%;
    transform: translate(-50%, -50%);
    top: 50%;
    z-index: 3;
    writing-mode: vertical-rl;
    height: 100vh;
}

.catch_txt.posi_abs {
    z-index: 2;
    color: var(--white);
    writing-mode: vertical-rl;
    font-size: 2.4em;
    top: 62%;
    left: 42%;
    transform: translate(-50%, -50%);
    height: 100vh;
}

@media screen and (max-width: 1600px){
.catch_txt.posi_abs {
    z-index: 2;
    color: var(--white);
    writing-mode: vertical-rl;
    font-size: 2.1em;
    top: 62%;
    left: 40%;
    transform: translate(-50%, -50%);
    height: 100vh;
}
}

@media screen and (max-width: 1400px){
.catch_txt.posi_abs {
    z-index: 2;
    color: var(--white);
    writing-mode: vertical-rl;
    font-size: 1.5em;
    top: 74%;
    left: 44%;
    transform: translate(-50%, -50%);
    height: 100vh;}
.main_owner {
    z-index: 2;
    width: auto;
    height: 100vh;
    left: -3%;}
}

.main_bg {
    width: 100% !important;
    height: auto !important;
    object-fit: inherit !important;
}

#main_img::after {top: -6%;}


#main_img:before {
    background-color: rgb(70 75 131 / 50%);
    background: rgb(22,30,123);
    background: linear-gradient(233deg, rgb(14 21 104 / 40%) 0%, rgb(248 248 255 / 70%) 140%);
}

p.intro_txt {
    font-size: 18px;
    /* text-align: center; */
    /* display: block; */
    line-height: 3;
}

#intro_wrap {
    padding-top: 7%;
    padding-bottom: 7%;
    background: transparent;
}


.intro_title span {
    font-size: 30px !important;
}

#intro .line:before {
    left: 50%;
}

section#intro {
    padding-bottom: 0;
}

section#contents .con_wrap {
    padding-bottom: 10%;
}
section#contents{padding:0 5%;}

#pc_nav li, #top_pc_nav li, #footer_nav li {
    max-width: inherit;}
.top_cms_box_add {
    padding-bottom: 150px;
}
.catch_txt.posi_abs {
    text-shadow: rgb(22 30 123 / 40%) 1px 1px 7px, rgb(22 30 123 / 40%) -1px -1px 7px,/*右下、左上*/ rgb(22 30 123 / 40%) -1px 1px 7px, rgb(22 30 123 / 40%) 1px -1px 7px,/*右上、左下*/ rgb(22 30 123 / 40%) 0px 1px 7px, rgb(22 30 123 / 40%) 0-1px 5px,/*右、左*/ rgb(22 30 123 / 50%) -1px 0 7px, rgb(22 30 123 / 50%) 1px 0 7px;
}
/* contents anim */
#contents .fadein_up {
    opacity: 0;
    -webkit-transform: translateY(50px);
    -ms-transform: translateY(50px);
    transform: translateY(50px);
    transition: transform 1.5s ease,opacity 2s ease;
}
#contents .fadein_up.scrollin {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}
#contents .fadein_up2 {
    opacity: 0;
    -webkit-transform: translateY(50px);
    -ms-transform: translateY(50px);
    transform: translateY(50px);
    transition: transform 2s ease,opacity 2s ease;
}
#contents .fadein_up2.scrollin {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}
/* contents */
#contents .txt_wrap .con_box {
    width: calc(20% - 16px);
    margin-right: 20px;
    box-sizing: border-box;
}
#contents .txt_wrap .con_box:last-of-type {
    margin-right: 0;
}
#contents .fadeIn_box .con_box {
    opacity: 0;
}
#contents .con_img {
    border-radius: 30px;
}
#contents .con_title h3:before {
    content: "";
    display: block;
    width: 70px;
    height: 2px;
    position: absolute;
    bottom: -25px;
	left: 50%;
    -webkit-transform: translate(-50%,0);
    transform: translate(-50%,0);
	background-color: #3e3e3e;
}
#contents .con_txt{
	font-size:16px;
}
@media screen and (max-width: 768px){
#contents .txt_wrap .con_box {
    width: calc(33% - 12px);
}
}
@media screen and (max-width: 667px){
#contents .txt_wrap .con_box {
    width: 80%;
    margin-right: 0;
    margin-bottom: 30px;
}
#contents .con_title h3:before {
    bottom: -15px;
}
}

.link_type_slick .box_txt1 {
    height: 6em;
	line-height: 1.7;
}
.link_type_slick .date {
    padding: 9px 22px 7px;
    border-radius: 45px;
}
.slick-slide img {
    box-shadow: 0 2px 4px rgb(0 0 0 / 0%);
}
/*--- slick ------------------------------------*/
.link_type_slick .slick-box{
    opacity: 0;
    transition: 3s;
}
.link_type_slick .slick-initialized{
    opacity: 1
}
.link_type_slick .slick-box .prev,.slick-box .next {
    display: block;
	cursor: pointer;
	position: absolute;
	top: 40%;
	z-index: 1;
	padding: 15px;
}
.link_type_slick .slick-container{
    padding-left: 30px;
    padding-right: 30px;
}
.link_type_slick .slick-box .prev {
	left: -54px;
}
.link_type_slick .slick-box .next {
	right: -54px;
}
/* Dots */
.link_type_slick .slick-dots{
    position: absolute;
    bottom: -35px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
.link_type_slick .slick-dots li{
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}
.link_type_slick .slick-dots li button{
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.link_type_slick .slick-dots li button:hover,
.link_type_slick .slick-dots li button:focus{
    outline: none;
}
.link_type_slick .slick-dots li button:hover:before,
.link_type_slick .slick-dots li button:focus:before{
    opacity: 1;
}
.link_type_slick .slick-dots li button:before{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: '●';
    text-align: center;
    opacity: .25;
    color: black;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.link_type_slick .slick-dots li.slick-active button:before{
    opacity: .75;
    color: black;
}
/* 最後まで行ったら、矢印透過する */
.link_type_slick .slick-disabled{
	opacity: 0.3;
}
/* 要素の高さを合わせる */
.link_type_slick .slick-slide {
	height: auto !important;
}
.link_type_slick .slick-track {
	display: flex;
}

/*.link_type_slick {*/
/*    max-width: 1280px;*/
/*    margin: 0 auto;*/
/*}*/

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
.link_type_slick .slick-container{
    padding-left: 0;
    padding-right: 0;
}
.link_type_slick .slick-box .prev {
	left: -8px;
}
.link_type_slick .slick-box .next {
	right: -8px;
}
/* 両サイドの画像を透過 */
.link_type_slick .slick-initialized .slick-slide{
	opacity: 0.1; 
}
/* センター画像を非透過 */
.link_type_slick .slick-initialized .slick-slide.slick-center{
	opacity: 1; 
}
}


@media screen and (max-width: 1280px){
    .mg_b-50px .nav_menu_more.mg_t-10px {display: none;}
    #overlay .left li {max-width: inherit !important;}
    .right .mg_b-50px {margin-bottom: 20px;} 
}

@media screen and (max-width: 768px){
    .main_owner {
        z-index: 2;
        width: auto;
        height: 50vh;
        left: -10%;}
    .catch_txt.posi_abs {
        z-index: 2;
        color: var(--white);
        writing-mode: vertical-rl;
        font-size: 1.3em;
        top: 63%;
        left: 43%;
        transform: translate(-50%, -50%);
        height: 50vh;}
    p.intro_txt {
        font-size: 17px;
        line-height: 2.5;}
    .intro_title span {font-size: 27px !important;}
    p.mail, .mail a, .tel_bt {font-size: 15px !important;}
}


@media screen and (max-width: 667px){
    .main_owner {
        z-index: 2;
        width: auto;
        height: 50vh;
        left: -18%;}
    .catch_txt.posi_abs {
        z-index: 7;
        color: var(--white);
        writing-mode: vertical-rl;
        font-size: 1em;
        top: 59%;
        left: 47%;
        transform: translate(-50%, -50%);
        height: 50vh;
        letter-spacing: 1px;
        line-height: 1.5;}
    #main_img::after {right: -18%;}
    .intro_title span {font-size: 24px !important;}
    p.intro_txt {
        font-size: 16px;
        line-height: 2;}
    p.mail, .mail a, .tel_bt {
        font-size: 14px !important;
        letter-spacing: 2px;}
}
/*1108--------------------------------------------------*//*修正--------------------------------------------------*/


/*1117--------------------------------------------------*//*修正--------------------------------------------------*/
header{background-color: rgba(22,30,123,0.5); }
#logo {
    max-width: 400px;
    padding: 0;}
#fakeloader .fl {max-width: 500px;}
header.scr_header #logo {max-width: 300px;}
p#logo2 a {max-width: 500px;}

#contents .txt_wrap .con_box {margin-bottom: 30px;}


@media screen and (max-width: 768px){
div#main_img {margin-top: 76px;}
header.scr_header #logo {max-width: 350px;}
#contents .txt_wrap .con_box {width: calc(51% - 12px);
    margin-right: 0;}
#contents .con_txt {font-size: 15px;}
}

@media screen and (max-width: 667px){
#logo {
    max-width: 200px;
    padding: 10px 0;}
header.scr_header #logo {
    max-width: 200px;
    padding: 10px 0;    }
div#main_img {margin-top: 67px;}
.catch_txt.posi_abs {z-index: 3;}
#main_img::after {
    right: -5%;
    width: 54%;
    animation: loop 40s linear infinite}
#fakeloader .fl {width: 70%!important;}
#contents .con_txt {
    font-size: 14px;
    line-height: 1.5;}
#contents .txt_wrap .con_box {
    width: calc(50% - 12px);
    margin-right: 0;}
.top_cms_box_add {padding-bottom: 50px;}
}
/*1117--------------------------------------------------*//*修正--------------------------------------------------*/



/*20221213*/

#main_img::after {
    position: absolute;
    content: "";
    right: -1%;
    top: 0%;
    width: 50%;
    height: 120%;
    background-image: url(../dup/img/loop01.png);
    background-size: 100% auto;
    background-position-y: 0;
    background-position-x: 0;
    background-repeat: repeat-y;
    animation: loop 60s linear infinite;
    transform: rotate(2deg);
}

@media screen and (max-width: 768px){
#main_img::after {
    position: absolute;
    content: "";
    right: -1%;
    top: 0%;
    width: 47%;
    height: 120%;
}
}

@media screen and (max-width: 667px){
#main_img::after {width: 47%;}
}

