﻿@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@580;700&family=Zen+Maru+Gothic:wght@500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@700&display=swap');

.font_bold{font-weight: 700;}

:root{
    --font-jp: 'Quicksand', 'Zen Maru Gothic', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
    --font-jp1: 'Zen Maru Gothic', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif!important;
    --font-en: 'Fredoka', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif!important;
}
body, .font_sans-serif{
    font-family: var(--font-jp1);
}

.en_font,.sub_title{
    font-family: var(--font-en);
}


/*--------posi_rel--------*/
/*装飾に便利なposi_rel▼*/
#top_cms_box,#contents{position: relative;}
/*装飾に便利なposi_rel▲*/

/*装飾に便利な疑似クラス設定▼*/
#top_cms_box:before,#top_cms_box:after,#contents:before,#contents:after{
    content: '';
    position: absolute;
    display: block;
    background-repeat: no-repeat;
    z-index: 1;
}
/*装飾に便利な疑似クラス設定▲*/

/* -----------------------------　ボディ　------------------------------------- */

/* ----------　フォント　---------- */
.loader_txt,#header li a, .more_item, .cms_title h2, #catch h2, #question h2, #contents h2, #contents .box h3, #top_cms .cms_title h2, #page_title h2,.footer_con,.footer_line {
    font-family: var(--font-jp);
}

/* CSS Document */
/* color -----------------------------------------------------------------------------*/
:root {
    --color1: #9fdada;
    --color2: #e0f2f3;
    --color3: #f4d744;
    --color4: #f4d744;
    --color5: #8d8dbf;
    --color6: #4a4a9b;
    --white: #ffffff;
    --black: #000042;
    --gray: #ccc;
}

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 */
.txt_color6,.hvr_txt_color6:hover{color: var(--color6);} /* アクセントカラー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(--color1);} /* サブカラー */
.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_color6,.hvr_bg_color6:hover{background-color: var(--color6);} /* アクセントカラー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(--black);}
.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);}
.border_color6,.hvr_border_color6:hover{border-color: var(--color6);}

body#body {
    overflow: hidden;
    background: var(--white);
}

.marker {
    background: -webkit-linear-gradient(transparent 60%, transparent 30%);
    background: -o-linear-gradient(transparent 60%, transparent 60%);
    background: linear-gradient(transparent 60%, transparent 30%);
}

/* color -----------------------------------------------------------------------------*/

/* -----------------------------------------------　ALL　---------------------------------------------------- */
.top_loader .loader_txt {
    color: var(--black);
}

.loader_txt span.active, .scroll_anime span.active {
    -webkit-animation: fw 0.25s ease 0s 1 forwards;
    animation: fw 0.25s ease 0s 1 forwards;
}

body{
    font-size: -webkit-calc(1rem + 2px);
    font-size: calc(1rem + 2px);;
}

.page-top a {
    border-radius: 50px;
    background-color: var(--color6);
}
/* ----------　more_box　---------- */
.more{
    border-radius: 50px;
}

.more_box {
    border-radius: 50px;
    background-color: var(--color6);
}

.more_txt1{color: var(--white);}

.more_txt2 {
        color: var(--black);
}

.box_txt2 {
    color: var(--black);
}

.cms_link .cms_link_box a {
    border-radius: 20px 0 0 20px;
    background-color: var(--color6);
}

/*.cms_link div a {
    padding: 10px 10px;
}*/

/*h3.box_title1 {*/
/*    color: var(--white);*/
/*}*/



/* ------------　header　▼----------- */

.catch_titile span{
    color: var(--color1);
}

header {
    padding: 15px 0 15px 0 !important;
    background-color: var(--color6) ! IMPORTANT;
}

header ul li a:hover {opacity: 0.6;}

.header ul a {
    color: var(--white);
}

.header ul a:hover {
    opacity: 1;
    color: var(--color5);
}

.menu li {
    text-align: center;
    -webkit-transform: rotate(0.02deg);
    transform: rotate(0.03deg);
}

/* ------------　header　▲----------- */

.t_banner_box {
    display: none;
}

.fix_banner {
    width: 100%;
    max-width: 320px;
    position: fixed;
    right: 70px;
    bottom: 15px;
    z-index: 5;
}

/* ------------　more_box　▼----------- */


.more_item::before {
    content: "";
    width: 40px;
    height: 2px;
    background: white;
    top: 50%;
    left: 20px;
    position: absolute;
    transform: translateY(-50%);
    transform-origin: center;
    transition: background 0.3s linear,width 0.3s linear,transform 0.3s linear;
}

.more_item:hover{
    opacity: 0.7;
}

.more_item .text {
    font-size: 16px;
    line-height: 1.5;
    padding-left: 20px;
    display: block;
    text-align: center;
    transition: all 0.3s ease-in-out;
    text-transform: uppercase;
    text-decoration: none;
}

/* ------------　more_box　▲----------- */


.hover {
    background-color: var(--color1);
    position: relative;
    border: 2px solid white;
    width: 200px;
    height: 200px;
    margin-top: -106px;
    left: -250px;
    transition: .3s;
    transform: rotate(20deg);
}




/* -----------------------------------------------　TOP　---------------------------------------------------- */

/* ----------　top_loader　▼---------- */
.top_loader {
    /*background-image: url(Dup/img/bgimg.png);*/
    /*background-size: cover;*/
    background-color: var(--color2);
}

.top_loader .logo {
    max-width: 400px;
}


/* ----------　menu　▼---------- */
.menu {
    max-width: 330px;
}

.menu .logo {
    border-radius: 10px 10px 0 0;
    opacity: 1;
    background-color: var(--white);
    padding: 20px 10px;
    background-image: url(Dup/img/bgimg.png);
}

.menu ul {
    border-radius: 0 0 10px 10px;
}

/* ----------　FV　▼---------- */
.catch2 {
    object-fit: contain;
    position: absolute;
    max-width: 1080px;
    width: 100%;
    bottom: 0%;
    right: 0%;
    z-index: 1;
}




/* ----------　キャラクター　▼---------- */

.anim_type1 {animation: type1 3s infinite ease-in-out alternate;}

@keyframes anim_type1 {
	0% {transform:translate(0, 0) rotate(-7deg);}
	50% {transform:translate(0, -7px) rotate(0deg);}
	100% {transform:translate(0, 0) rotate(7deg);}
}

/*リピートなし*/
.chara,.chara1,.chara2{
content: "";
display: block;
background-size: cover;
background-repeat: no-repeat;
position: absolute;
}

.chara{
background-image: url(./Dup/img/chara.png);
background-size: 100%;
width: 15vw;
height: 13vw;
/*mix-blend-mode: screen;*/
z-index: 1;
}

.chara1{
background-image: url(./Dup/img/chara_boy.png);
background-size: 100%;
width: 15vw;
height: 13vw;
/*mix-blend-mode: screen;*/
z-index: 1;
}

.chara2{
background-image: url(./Dup/img/chara_girl.png);
background-size: 100%;
width: 15vw;
height: 13vw;
/*mix-blend-mode: screen;*/
z-index: 1;
}

/* ----------　catch_box　▼---------- */
#catch{
    position: relative;
}

#catch .box {
    border-radius: 5px;
    column-gap: 5%;
}

#catch .chara {
    bottom: 3%;
    left: 22%;
}

#catch .box .title {
    margin-left: 0;
    padding: 0;
    background-color: transparent!important;
    color: var(--black)!important;
    font-size: calc(1rem + 10px);
    font-weight: 700;
    margin-top: 15px;
    padding: 20px 10px;
    /*left: 30px;*/
}

#catch .box .sub_title, #contents .box .box_item .sub_title {
    transform: none;
    font-family: var(--font-jp);
    font-weight: 700;
    font-size: 25px;
    left: 20px;
    color: var(--white) !important;
    background-color: var(--color3);
    padding: 10px 20px;
    border: 5px solid var(--color3);
    border-radius: 50px;
}
/* ----------　catch_box　▲---------- */

/* ----------　contents　▼---------- */
#contents {
    background-image: url(./Dup/img/contents_bgimg.png);
    background-repeat: no-repeat;
    background-size: cover;
}


#contents .box .box_item {
    background-color: rgba(255, 255, 255, 0.9);
    padding: 50px 40px;
    z-index: 2;
    margin-top: -400px;
    /*margin-left: -250px;*/
    border-radius: 5px;
}

#contents .box .box_item:before {pointer-events: none;}

#contents:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 50px;
    left: 0;
    top: -37px;
    background-image: url(./Dup/img/bg_con1.png);
    background-size: 103% 100%;
    background-repeat: no-repeat;
    z-index: 1;
}

#contents:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 50px;
    left: 0;
    bottom: -37px;
    background-image: url(./Dup/img/bg_con2.png);
    background-size: 103% 100%;
    background-repeat: no-repeat;
    z-index: 1;
}

#contents .box .box_item h3 {
    color: var(--color6);
    font-size: 25px;
}

.contents_wrap .box figure {
    /*margin: 0px;*/
    /*order: 2;*/
    /*transform: translate(100px, -10px);*/
    border-radius: 5px;
    /*box-shadow: var(--color1) 25px 25px;*/
}

/*.contents_wrap .box figure:nth-of-type(2){*/
/*    transform: translate(-150px, -10px);*/
/*}*/

#contents .contents_wrap .box.con1 .chara2 {
    bottom: -10%;
    right: 1%;
    width: 11vw;
    height: 18vw;
}

#contents .contents_wrap .box.con2 .chara1 {
    bottom: -40%;
    left: -5%;
    width: 11vw;
    height: 18vw;
}

/* ----------　contents　▲---------- */

/* ----------　top_cms_box　▼---------- */
#top_cms {
    background-color: var(--white);
}

.sub_title{
    color: var(--white);
}



#top_cms_box:after {
    position: absolute;
    content: "";
    width: 150%;
    height: 50px;
    left: -25%;
    bottom: -145px;
    background-image: url(./Dup/img/bg_top-news.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    z-index: 1;
}

.top_cms_box_wrap .cms_title, .cms_title_box {
    border: 5px solid var(--color3);
    background-color: var(--color3)!important;
    color: var(--white)!important;
    border-radius: 50px;
}

.cms_title_box {
    padding: 10px 45px;
}

/* ----------　top_cms_box　▲---------- */

/* -------------------　BLOG　▼----------------- */

.topcms_news_type2 .cate_box {
	width: 46.33333%!important;
	margin-right: 1.5%;
	margin-left: 1.5%;
	cursor: pointer;
	border-bottom: 1px solid #ddd;
	margin-bottom: 30px;
	box-shadow: 0 6px 12px rgb(0 0 0 / 0);
	/* padding: 20px; */
	/* border-radius: 20px; */
	/* background-color: #f5f5f5; */
}
.topcms_news_type2 .cate_box:hover {
	transform: translateY(-5px);
}
.topcms_news_type2 .cate_box .box_item {
	cursor: pointer;
}
.topcms_news_type2 .txt_height {
	height: 5em
}
.topcms_news_type2 .box_img1 {
	border-radius: 10px;
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 1024px){
.topcms_news_type2 .cate_box {width: 100%!important;}
.topcms_news_type2 .txt_height {height: 3em}
}
/* -------------------　BLOG　▲----------------- */

/* -------------------　MENU　▼----------------- */

.topcms_about_type1 {counter-reset: box 0;padding-top: 35px;}

.topcms_about_type1 .cate_box {
	width: 31%!important;
	padding: 55px 25px 25px;
	background-color: #f5f5f5;
	border-radius: 10px;
	box-sizing: border-box;
}

.topcms_about_type1 .number {
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 90px;
}

.topcms_about_type1 .number::before {
    counter-increment: box 1;
    content: "0" counter(box);
    font-family: var(--font-jp);
    font-size: 67px;
    line-height: 1;
    text-align: center;
    color: var(--color1);
    display: inline-block;
    position: absolute;
    right: 0;
    left: 0;
    top: -42px;
    margin: auto;
    z-index: 0;
}

.topcms_about_type1 .number::after {
	content: "";
	position: absolute;
	display: block;
	width: 73%;
	height: 2px;
	background: var(--color1);
	left: 0;
	right: 0;
	margin: auto;
	top: 22px;
}

.topcms_about_type1 .cate_box .box_title1{font-size: 18px;line-height: 1.6;z-index: 1}

/* ---------- タブレット ---------- */
@media screen and (max-width: 1024px){
.topcms_about_type1 .cate_box {
	margin: 0 auto 80px;
	width: 80%!important;
}

.topcms_about_type1 .cate_box:last-of-type {
	margin-bottom: 0;
}
}
/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
.topcms_about_type1 .cate_box {
	width: 90%!important;
	padding: 50px 25px 25px;
}

.topcms_about_type1 .number::before{
	font-size: 59px;
	top: -34px;
}

.topcms_about_type1 .number::after{
	width: 72%;
}
}

/* -------------------　Menu　▲----------------- */

/* -------------------　Q&A　▼----------------- */
.qa_type3 .con_no{
	left: 20px;
	top: 15px
}

.qa_type3 .cate_box .box_title1, .qa_type3 .cate_box .box_txt1{
	min-height: 1.5em
}

.qa_type3 .cate_box .box_title1 {
    background-color: var(--white);
    border: 2px solid var(--color1);
    border-radius: 100px;
}

.qa_type3 .cate_box .box_txt1{
    background-color: var(--white);
    border: 2px solid var(--color3);
    border-radius: 100px;
}

.qa_type3 .box_q{
	background-image: url(./Dup/img/icon_q.png);
	background-repeat: no-repeat;
	background-position: top 2px left;
	background-size: 60px
}

.qa_type3 .box_a{
	background-image: url(./Dup/img/icon_a.png);
	background-repeat: no-repeat;
	background-position: top 2px right;
	background-size: 60px
}

.qa_type3 .box_q, .qa_type3 .box_a{
	padding: 0 90px
}

.qa_type3 .box_q .box_title1::before, .qa_type3 .box_a .box_txt1::before{
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    border-color: rgba(0, 0, 0, 0);
}

.qa_type3 .box_q .box_title1::before {
    border-top-width: 7px;
    border-bottom-width: 7px;
    border-left-width: 10px;
    border-right-width: 15px;
    margin-top: -10px;
    border-right-color: var(--color1);
    right: 100%;
    top: 34px;
}

.qa_type3 .box_a .box_txt1::before {
    border-top-width: 7px;
    border-bottom-width: 7px;
    border-left-width: 15px;
    border-right-width: 10px;
    margin-top: -10px;
    border-left-color: var(--color3);
    left: 100%;
    top: 35px;
}
/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
.qa_type3 .box_q{
	padding-right: 0
}
.qa_type3 .box_a{
	padding-left: 0
}
.qa_type3 .con_no{
    top: 13px;
}
}

/* -------------------　Q&A　▲----------------- */


/* -------------------　Voices　▼----------------- */

.v_type1 .triangle {
    display: block;
    border: var(--black) solid 2px;
    box-shadow: 5px 5px 0 0 var(--color1);
    border-radius: 10px;
    background-color: var(--color5);
}

.v_type1 .triangle:before {
    content: '';
    position: absolute;
    display: block;
    z-index: 1;
    border-style: solid;
    border-color: var(--color5) transparent;
    border-width: 13px 13px 0 0;
    bottom: -13px;
    left: 50%;
    margin-left: -9px;
}

.v_type1 .triangle:after {
    content: '';
    position: absolute;
    display: block;
    z-index: 0;
    border-style: solid;
    border-color: var(--black) transparent;
    border-width: 15px 15px 0 0;
    bottom: -17px;
    left: 50%;
    margin-left: -11px;
}

/* -------------------　Voices　▲----------------- */

/* ----------　footer　▼---------- */
footer {
    z-index: 5;
}

footer #footer .chara1 {
    top: -27%;
    left: 20%;
    z-index: -1;
    width: 10vw;
    height: 13vw;
}

footer #footer .chara2 {
    top: -27%;
    right: 20%;
    z-index: -1;
    width: 10vw;
    height: 13vw;
}

#footer h2 span {
    background-color: var(--color4);
    background-size: 100%;
    background-image: url(Dup/img/bgimg.png);
    border-radius: 50px;
}

.f_logo {
    background-color: var(--color2) !important;
    background-size: cover;
    background-image: url(Dup/img/bgimg.png);
    border-top: none;
}

.footer_tel {
    font-size: 20px;
    border-radius: 0 100px 100px 0;
    background-color: var(--color6);
}

footer span {
    border-radius: 10px;
}

footer .footer_con_box .footer_con {

    border-radius: 100px 0 0 100px;
}

footer .footer_con_box a:hover {
    background-color: var(--color4);
    letter-spacing: 8px;
    border: none;
}

.sns_link li a {
    border-radius: 50px;
    border-color: var(--color5);
}

/* ----------　footer　▲---------- */







/* -----------------------------------------------　下層ページ　--------------------------------------------- */
#page_title {
    margin-top: 95px;
}

#page_title .title {
    border-radius: 50px;
}

.all_page header .logo img {
    width: 100% ! IMPORTANT;
    height: 100% !important;
}

.cate_list li {
    width: 22%;
    margin-right: 2%;
}

.cate_list li:nth-child(3n) {
    margin-right: 2%;
}

.cate_list li a {
    color: var(--white);
    border-radius: 50px;
}


.precautions {
     font-family: "Noto Sans JP","游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        margin-bottom: 3%;
}

/* ----------　BLOG　▼------------------ */

/* ----------　linkstyle　▼---------- */

.linkStyle {
    color: var(--color6);
    border-bottom:solid 1px;
}

.linkStyle:hover {
    opacity: 0.9;
    transition: all 0.5s;
    color: var(--color1);
}

/* ----------　linkstyle　▲---------- */

/* ----------　pager　▼---------- */

.pager li {margin-right: 10px;}

.pager li:last-of-type {margin-right: 0px;}

li.grid_1.grid_2_tb.grid_4_sp {
        margin: 0 10px 0 0;
}

/* ----------　pager　▲---------- */

/* ----------　BLOG　▲------------------ */

.page7 .box_wrap .box .box_item {
    border-radius: 50px;
}

/* ----------　お問い合わせ　▼---------- */
#tel_contact {
    border-radius: 50px;
    max-width: 900px;
    margin: 0 auto;
    margin-top: 100px;
}

.con_box {
    max-width: 950px;
    margin: 0px auto;
    padding-bottom: 20px;
}

.left,.right{
    padding: 1%;
}

.tel a:hover {
    color: var(--color3);
}

#tel_contact .tel a {
    border-radius: 50px;
    background-color: var(--black);
    color: var(--white);
}

/* ----------　お問い合わせ　▲---------- */

/* ----------　プライバシーポリシー　▼---------- */



/* ----------　プライバシーポリシー　▲---------- */

/* ----------　サイトマップ　▼---------- */



/* ----------　サイトマップ　▲---------- */




/*-------------------------------------------------------1536px以下--------------------------------------------*/
@media screen and (max-width: 1536px){
.cms_link {top: 15%;}

    #contents {
        padding: 100px 11% 100px 6%;
    }

#contents .box:nth-child(even) figure {
    /*margin-left: 45%;*/
}

#contents .box .box_item {
    /*margin-left: -100px;*/
}

#contents .box:nth-child(odd) figure {
    margin-left: -10%;
}

#contents .box:nth-child(odd) .box_item {
    margin-left: 35%;
}

#contents .contents_wrap .box.con2 .chara2 {
    bottom: -30%;
    left: 5%;
}

  }
  
/*-------------------------------------------------------1366px以下--------------------------------------------*/
@media screen and (max-width: 1366px){
.catch2 {
    bottom: -1%;
}


#contents .box .box_item {
        /*margin-left: 0px;*/
}

/*#contents .box:nth-child(odd) .box_item {*/
/*        margin-left: 20%;*/
/*}*/

#contents .contents_wrap .box.con2 .chara2 {
    bottom: -35%;
    left: 5%;
}

footer #footer .chara1,footer #footer .chara2{
    top: -21%;
}

#copyright {
    padding-bottom: 80px;
}

#question .box_item p {
    font-size: -webkit-calc(1rem + 2px);
    font-size: calc(1rem + 2px);
}

  }

/*-------------------------------------------------------1000px以下--------------------------------------------*/
@media screen and (max-width: 1000px){

#contents .box .box_item {
    margin-top: -300px;

}

  }

/*-------------------------------------------------------タブレット---------------------------------------------*/
@media screen and (max-width: 1024px){
body {
    font-size: -webkit-calc(1rem + 0px);
    font-size: calc(1rem + 0px);
}

    .main_img {
        height: auto;
        width: 100%;
    }


.catch2 {
    width: 90%;
    bottom: 0;
}



#nav_menu {
    top: 15px;
}

header {
        padding: 5px 0 5px 0 !important;
}

header .logo img {
    height: 85px !important;
    width: auto !important;
}

.all_page header .logo img{
    height: 85px !important;
    width: auto !important;
}

#page_title {
    margin-top: 85px;
}

.button_container span {
    background-color: var(--black);
}

#catch .chara {
    bottom: 3%;
    left: 2%;
    width: 18vw;
    height: 15vw;
}

#catch .box .title {
    font-size: 27px;
    left: 5px;
}

#catch { background-position: 39%;}

    #contents {
        padding: 50px 0% 50px 0%;
    }

.contents_wrap .box figure {
    transform: translate(-10px);
}

#contents .box .box_item {
        margin-top: -50px;
    }

#contents .box:nth-child(even) .box_item{}

#contents .box:nth-child(even) figure {
        /*margin-left: 0;*/
    }

#contents .box:nth-child(odd) figure{
        margin-left: 0;
}

#contents .box:nth-child(odd) .box_item {
        margin-left: 5%;
}

#contents .box:nth-child(even) .box_item {
    margin-left: 5%;
}

#contents .contents_wrap .box.con1 .chara2 {
    bottom: -10%;
    right: 1%;
    width: 14vw;
    height: 23vw;
    z-index: 4;
}

#contents .contents_wrap .box.con2 .chara1 {
    bottom: -15%;
    left: -2%;
    width: 14vw;
    height: 22vw;
    z-index: 4;
}

footer #footer .chara1, footer #footer .chara2 {
    z-index: -1;
    width: 18vw;
    height: 19vw;
    top: -17%;
}

footer #footer .chara1 {
    left: 12%;
}

footer #footer .chara2 {
    right: 12%;
}

}

/*-------------------------------------------------------スマホ-------------------------------------------------*/
@media screen and (max-width: 667px){
body {
    font-size: -webkit-calc(1rem + -2px);
    font-size: calc(1rem + -2px);
}

#nav_menu {
    top: 25px;
}

.catch2 {
    width: 100%;
    bottom: 0;
}

.catch3 {
    width: 80%;
}

#page_title {
        margin-top: 67px;
        height: 200px;
}

header .logo, header .logo img,.all_page header .logo img { height: 50px!important;}

.header {
        margin: 5px auto;
}

/*header.clone-nav {*/
/*    height: 1%;*/
/*}*/

#question .box_item p {
    font-size: 13px;
    letter-spacing: 0px;
}

#question .txt {
    text-indent: -2.5rem;
    padding-left: 2.5rem;
    margin-left: 0.5rem;
}

#question .txt .check {
    padding-right: 0px;
    left: 40px;
}

#question .box .box_item{
    padding: 10px;
    padding-top: 40px;
    padding-bottom: 20px;
}

.indent {
        text-indent: 2em;
        padding-left: -1em;
    }

#nav_menu {
        top: 2px;
}

    #catch .box .title {
        letter-spacing: 0;
        font-size: 16px;
        left: 0px;
    }

.box_title1 {
    font-size: 17px;
    letter-spacing: 0px;
}

.main_img_wrap {margin-top:66px;}

/*.main_img {*/
/*    height: 50vh!important;*/
/*    width: 100%;*/
/*}*/

.cms_link {
    display: none;
}

    #contents .box .box_item {
        padding: 50px 20px;
        width: 100% !important;
    }

#contents .box:nth-child(odd) .box_item {
        margin-left: 0%;
    }

#contents .box:nth-child(even) .box_item {
    margin-left: 0%;
}

#contents .box:nth-child(even) figure {
        margin-left: 3%;
    }

#contents .contents_wrap .box.con2 .chara1 {
        bottom: -8%;
        left: -2%;
        width: 20vw;
        height: 31vw;
    }

#contents .contents_wrap .box.con1 .chara2 {
        bottom: -4%;
        right: 2%;
        width: 19vw;
        height: 30vw;
    }

.marker {
        letter-spacing: 0;
        font-size: 16px;
    }

.fix_banner {
    width: 70%;
    bottom: 10px;
    left: 50%;
    -ms-transform: translate(-50%,0);
    -webkit-transform: translate(-50%,0);
    transform: translate(-50%,0);
}

 .fix_banner .more_item .text {
    font-size: 14px;
}

.more_item::before {
        left: 15px;
}


.page-top {
        right: 5px;
        bottom: 10px;
}  
    
.page-top a {
        display: block;
        width: 40px;
        height: 40px;
        position: relative;
}

.cate_list li {
        width: 100% !important;
        margin-right: 0% !important;
}

footer #footer .chara1, footer #footer .chara2 {
        z-index: -1;
        width: 21vw;
        height: 26vw;
        top: -12%;
    }

    footer #footer .chara1 {
        left: 3%;
    }

    footer #footer .chara2 {
        right: 3%;
    }

footer .footer_con_box .footer_con {
    border-radius: 5px 5px 0 0;
}

.footer_tel {
    font-size: 16px;
    border-radius: 0 0 5px 5px;
}

    .top_loader .loader_txt {
        font-size: -webkit-calc(1rem + 10px);
        font-size: calc(1rem + 10px);
    }

}

/*20240704*/
.menu ul a {
    font-size: -webkit-calc(1rem + 6px);
    font-size: calc(1rem + 6px);
}

#tel_contact h3, #tel_contact .tel_txt {
    color: var(--black);
}



.content_wrap .box_item p {
    color: var(--black);
}

.contact_type1 .left, .contact_type1 .right {
    padding: 40px 27px 30px;
    background-color: #f7f7f7;
    margin: 1%;
    width: 48%!important;
    box-sizing: border-box;
}

.contact_type1 .cate_title {
    padding: 0;
    margin: 0;
    font-size: 19px;
    margin-bottom: 16px;
}

.contact_type1 .con_box1 a {
    display: block;
    max-width: 330px;
    margin: 0 auto 27px;
    transition: opacity .6s;
}

.contact_type1.con_box2 a{
    display: block;
    max-width: 450px;
    margin: 0 auto;
    transition: opacity .6s;
}

.contact_type1 .click_bt {
    cursor: pointer;
    padding: 10px 18px;
    background-color: #fff;
    box-shadow: 0 3px 8px rgb(0 0 0 / 10%);
    border-radius: 5px;
    text-align: center;
}

.contact_type1 .txt_box{
     display: none
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 1024px){
.contact_type1 .left, .contact_type1 .right {
    width: 80%!important;
}
}

/* ---------- スマホ ---------- */
@media screen and (max-width: 667px){
.contact_type1 .left, .contact_type1 .right {
    padding: 30px 27px 30px;
    width: 100%!important;
    margin-bottom: 20px;
}
.contact_type1 .cate_title {
    font-size: 17px;
}
/*2024/07/09修正*/
.top_loader .loader_txt{
    font-size: calc(1rem + 8px);
}
}

/*2024/07/10*/
header {
    background-color: #e0f2f3 ! IMPORTANT;
}
.header ul a{color: #4a4a9b;}

/*2024/07/12*/
.top_cms_box .sub_title,
#contents:before,
#contents:after {
    display: none;
}
#contents {
    background-image: none;
    background-color: #e0f2f3;
}
.clone-nav {
    background-color: #9fdada!important;
}

/*
.menu ul li:first-of-type,
.header ul li:first-of-type{
    display: none;
}
*/
.cms_wrap .flex_center-left {
    justify-content: center;
}
.cate_list .over_txt {
    white-space: normal;
}
@media screen and (max-width: 667px){
.page4 .box_txt1 {
    border-right: unset;
}
}
.qa_type3 .box_q .box_title1::before {
    top: 50%;
    translate: 0 20%;
}
.qa_type3 .box_a .box_txt1::before {
    top: 50%;
    translate: 0 10%;
}

@media screen and (max-width: 1024px){

.main_img_wrap {
    padding-bottom: 0%;
}
.catch2 {
    margin: 0 6% 0 auto;
}
}
@media screen and (max-width: 667px){

.main_img_wrap {
    padding-bottom: 0%;
}
.catch2 {
    margin: 10px 1% 10px 0px;
}
#contents .box .box_item {
        margin-top: 0px;
    }
#contents .box:nth-child(odd) figure {
        margin-left: 3%;
    }
}

.topcms_news_type1 .box_wrap, #topcms_news_type1.box_wrap {
	align-items: stretch;
}
.topcms_news_type1 .cate_box a, #topcms_news_type1 .cate_box .box_item{
	flex-direction: column;
}
.topcms_news_type1 .cate_box, #topcms_news_type1 .cate_box{
	width: 30.33333%!important;
	margin-right: 1.5%;
	margin-left: 1.5%;
	cursor: pointer;
	box-shadow: 0 10px 20px rgb(0 0 0 / 0);
}
.topcms_news_type1 .cate_box, #topcms_news_type1 .cate_box .box_item{
	border-radius: 20px;
	box-shadow: 0 10px 20px rgb(0 0 0 / 20%);
	background-color: #fff;
	padding: 0;
}
.topcms_news_type1 .cate_box:hover, #topcms_news_type1 .cate_box .box_item:hover {
	transform: translateY(-5px);
}
.topcms_news_type1 .cate_box .box_item, #topcms_news_type1 .cate_box .box_item{
	cursor: pointer;
}
.topcms_news_type1 .txt_height, #topcms_news_type1 .txt_height{
	height: 3em
}
.topcms_news_type1 .box_txt1:empty, #topcms_news_type1 .box_txt1:empty {
	display: block!important;
}
.topcms_news_type1 .box_img1, #topcms_news_type1 .box_item .box_img1{
	border-radius: 20px 20px 0 0;
	flex-grow: 0;
}
.topcms_news_type1 .txt_box, #topcms_news_type1 .txt_box{
	flex-grow: 1
}

/* topcms_news_type1 .modal */
html.modalset{overflow: hidden;}
.topcms_news_type1 .modal, #topcms_news_type1 .modal{
	display: none;
	width: 100%;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 9999;
	line-height: 1.7;
}
.topcms_news_type1 .modal-wrap, #topcms_news_type1 .modal-wrap {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	text-align: center;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
	overflow: -moz-scrollbars-none;
	overflow: auto;
	padding: 20px;
	padding-top: 100px;
	padding-bottom: 50px;
}
.topcms_news_type1 .modal-bg, #topcms_news_type1 .modal-bg{
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(0,0,0,0.3);
	width: 100%;
	height: 100%;
}
.topcms_news_type1 .modal-box, #topcms_news_type1 .modal-box {
	width: 90%;
	max-width: 900px;
	box-sizing: border-box;
	display: inline-block;
	vertical-align: middle;
	position: relative;
	padding: 10px;
	padding-bottom: 23px;
	background-color: #fff;
	text-align: left;
	border-radius: 20px;
}
.topcms_news_type1 .modal-box .inner, #topcms_news_type1 .modal-box .inner{
	max-height: 100%!important;
	overflow: auto;
	-ms-overflow-style: none;
}
.topcms_news_type1 .modal-box .inner::-webkit-scrollbar, #topcms_news_type1 .modal-box .inner::-webkit-scrollbar {
	width: 2px;
	height: 10px;
}
.topcms_news_type1 .modal-box .inner::-webkit-scrollbar-track, #topcms_news_type1 .modal-box .inner::-webkit-scrollbar-track {
	border-radius: 5px;
	box-shadow: 0 0 4px #aaa inset;
}
.topcms_news_type1 .modal-box .inner::-webkit-scrollbar-thumb, #topcms_news_type1 .modal-box .inner::-webkit-scrollbar-thumb {
	border-radius: 5px;
	background: #333;
}
.topcms_news_type1 .modal-box .modal-close, #topcms_news_type1 .modal-box .modal-close{
	cursor: pointer;
	position: absolute;
	top: 19px;
	right: 25px;
}
.topcms_news_type1 .modal-box .modal-close img, #topcms_news_type1 .modal-box .modal-close img {box-shadow: 0 2px 4px rgb(0 0 0 / 0%);}

.qa_type3 .box_a {
    background-position: right center;
}
.qa_type3 .box_q {
    background-position: left center;
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
.topcms_news_type1 .cate_box, #topcms_news_type1 .cate_box {width: 46.33333%!important;}
.qa_type3 .cate_box .box_txt1,
.qa_type3 .cate_box .box_title1 {
    border-radius: 30px;
}
}
/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
.topcms_news_type1 .cate_box, #topcms_news_type1 .cate_box {width: 100%!important;}
#cms_6-b .cate_box:first-of-type .box_txt1 {
    border-radius: 4px 4px 0 0!important;
}
.qa_type3 .cate_box .box_txt1,
.qa_type3 .cate_box .box_title1 {
    border-radius: 30px;
    font-size: 16px;
}
}

.main_img_wrap {
    height: auto;
    min-height: auto;
}

.red {
    color:red;
}
/*-------------------------- 2024.07.30 グログ記事URL化 ------------------------------*/
.page2 .input {
    position: relative;
    padding: 2px 3px 2px 8px;
    background: #9fdada;
    color: #ffffff;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    /* margin-top: 10px; */
    margin-bottom: 30px;
    margin-right: 20px;
    position: relative;
    display: inline-block;
    transform: translateY(-5px);
}
.page2 .input:before {
    display: block;
    position: absolute;
    content: "";
    background-image: url(Dup/img/copy.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 20px;
    height: 20px;
    top: 7px;
    left: 11px;
    z-index: 1;
}
.page2 input {
    padding: 5px 13px 5px 30px;
    background: transparent;
    color: #fff;
    border: none;
    cursor: pointer;
}

@media (max-width: 667px){
.page2 .date {
    width: 110px;
}
.page2 .input {
    margin-right: 0;
    transform: none;
}
.page2 .input:before {
    width: 17px;
    height: 17px;
    top: 8px;
    left: 10px;
    z-index: 1;
}
.page2 input {
    padding: 3px 4px 3px 26px;
    font-size: 12px;
}
}