﻿/* ------------- my css ------------- */
@import url('https://fonts.googleapis.com/css2?family=Red+Hat+Display:ital,wght@0,300..900;1,300..900&display=swap');


/* color */
.txt_color_nomal, .hvr_txt_color_nomal:hover{color: var(--black);}
:root{
    --color1: #9c82ce; 
    --color2: #eeeaf4; 
    --color3: #5f81b2; 
    --color4: #e1ecff; 
    --black: #151a1e; 
}

.txt_red, .hvr_txt_red:hover{color: #C12326;}
.txt_gray, .hvr_txt_gray:hover{color: #ccc}
.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_black, .hvr_bg_black:hover{background-color: var(--black)} /* 黒背景 */
.bg_gray, .hvr_bg_gray:hover{background-color: #ccc}
.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_black, .hvr_border_black:hover{border-color: var(--black)}
.border_gray, .hvr_border_gray:hover{border-color: #ccc}
.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)}

.font_com{
   font-family: "Red Hat Display","游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/*自動リンク設定*/
.linkStyle{
    color:var(--color1);
}
.linkStyle:hover{
	opacity:0.7
}

#wrap{
    min-width: 1200px;
}

@media screen and (max-width: 768px) {
    #wrap{
    min-width: auto;
}
}


main{
    opacity: 0;
}

main.show{
    opacity: 1;
}

/*-------------header---------------*/
#pc_nav_fix ul .width_150{
    width: 160px;
}

#head_logo{
    display: none;
}

/*-------------scroll---------------*/
.scroll_bar{
    color: var(--color1);
}
#main_img .scroll_bar span {
        background-color: rgba(156, 130, 206, 0.4);
}


/*-------------FV---------------*/


#wrap.top{
    padding-top: 0 !important;
}

#main_img{
    overflow: hidden;
}
.main_bg{
    pointer-events: none;
    max-width: 1000px;
    width: 55%;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
}
.main_img{
    pointer-events: none;
    width: 43%;
    max-width: 800px;
    min-width: 670px;
    bottom: 0;
    right: 2vw;
    mix-blend-mode: color-dodge;
}
.main_txt1{
    pointer-events: none;
    top: 15%;
    width: 50%;
    max-width: 900px;
}
.main_txt2{
    pointer-events: none;
    left: 0;
    bottom: 28%;
    width: 20%;
    max-width: 390px;
}

@media screen and (max-width: 768px) {
#wrap.top{
    padding-top: 70px !important;
}
.main_bg {
    width: 74%;
}
.main_img {
    width: 62%;
    right: 0;
    min-width: auto;
    mix-blend-mode: normal;
}
.main_txt1 {
    width: 60%;
}
.main_txt2 {
    width: 30%;
}

}

@media screen and (max-width: 667px) {
#main_img {
        height: 100vw !important;
    }
.main_bg {
    width: 85%;
}
.main_img {
    width: 70%;
    right: -4%;
}
.main_txt1 {
    width: 95%;
    top: 5%;
    left: -10%;
}
.main_txt2 {
    width: 45%;
    bottom: 0;
    left: -5%;
}

}

/*-------------TOP---------------*/
#top_contents::before {
    background-color: var(--color2);
}
.item2{
    pointer-events: none;
    width: 20%;
    max-width: 150px;
    right: 0;
    bottom: -30%;
    z-index: 2;
}

.item1{
    pointer-events: none;
    width: 20%;
    max-width: 130px;
    left: -10px;
    bottom: -10%;
}


@media screen and (max-width: 768px) {
    #intro {
        padding-bottom: calc(60vw - 20px);
    }
    #intro .intro_img {
        height: 60vw;
        top: auto;
        bottom: 0;
    }
}

@media screen and (max-width: 667px) {
    .item1{
    left: auto;
    right: 5%;
    bottom: 5%;
    }
    .intro_title {
        font-size: 22px;
    }
}
/*-------------footer---------------*/
footer .footer_img {
    height: 380px;
}
@media screen and (max-width: 667px) {
footer .footer_img {
    height: 250px;
}
}




/*-------------下層---------------*/
#page5 .cate_list{
    display: none;
}

#page_title {
  position: relative; 
}

#page_title::before {
  content: "";
  top: 20%;
  right: 0;
  width: 110px;
  height: 130px;
  background: url("/Files/img/item3.png") no-repeat center/contain;
  z-index: -1;
  position: fixed;
}

@media screen and (max-width: 768px) {
    #page_title::before {
        position: absolute;
        top: 45%;
        width: 90px;
        height: 110px;
    }
}


@media screen and (max-width: 667px) {
#page_title h2{
    font-size: 22px;
}
#page_title{
    margin-bottom: 50px;
}
#page_title::before {
        width: 57px;
        height: 90px;
    }
}

/* fix_bnr ---------------------------------------------------------------------------------------------*/
#fix_bnr {
    bottom: 20px;
    right: auto;
    left: -90px;
    z-index: 5;
    width: 70%;
    max-width: 370px;
    transition: 0.5s;
    opacity: 0;
    margin: auto;
    transform: translateX(-120%);
}
#fix_bnr.scroll{
    opacity: 1;
    transform: translateX(0);
}
#fix_bnr.close{
    opacity: 0;
    z-index: -1;
    transform: translateX(120%);
}

#fix_bnr:hover{
    scale: 1.1;
}
@media screen and (max-width: 768px){
#fix_bnr{
    max-width: 320px;
}
}
@media screen and (max-width: 667px){
#fix_bnr {
    width: 77% !important;
    margin: auto;
    bottom: 10px;
    opacity: 0;
}
}

.vibrate-realistic, #fix_bnr a:hover img {
  animation: realisticVibrate 2s infinite;
  display: inline-block;
}

/* fix_bnr end ---------------------------------------------------------------------------------------------*/

/*ボタン追加*/

.contact_btn a{
    font-size: 20px;
    background: var(--color1);
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: auto;
    max-width: 300px;
    padding: 10px 25px;
    text-decoration: none;
    color: #fff;
    line-height: 1.8;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.contact_btn a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);

}
.contact_btn a:hover {
  background: var(--color3);

}
.contact_btn a:hover:after {
  right: 1.4rem;
}


/* ラジオボタン */
.radio_wrap .radio-input {
    display: none;
}
.radio_wrap .radio-input + label {
    padding-left: 23px;
    position: relative;
    margin-right: 20px;
    cursor: pointer;
}
.radio_wrap .radio-input + label::before {
    content: "";
    display: block;
    position: absolute;
    top: 1px;
    left: 0;
    width: 15px;
    height: 15px;
    border: 1px solid #9e9e9e;
    border-radius: 50%;
}
.radio_wrap .radio-input:checked + label::after {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 3px;
    width: 11px;
    height: 11px;
    background: #4690a1;
    border-radius: 50%;
}
/*  */
