﻿@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@500&family=M+PLUS+1:wght@600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Dela+Gothic+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Mochiy+Pop+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');


/* -----------------------------------------------------------------------------------------------　all　----------------------------------------------------------------------------------------------------------------- */


/* ----------------------------------------------------------------------------------------------　body　----------------------------------------------------------------------------------------------------------------- */
/*--------------------------------疑似要素にオブジェクト--------------------------------▼*/
#main_img,.line1,#main_img .slick,.main_img_wrap,#intro,.top_cms_blog,#top_cms,#contents,#info_title_box,#bottom_menu,#page_title{position: relative;}

/*リピートなし*/
#main_img:before,#main_img:after,.line1:after,#main_img .slick:before,#main_img .slick:after,.main_img_wrap:before,.obj,#intro:before,#intro:after,#intro h3:before,.top_cms_blog:before,.top_cms_blog:after,#top_cms:before,#contents:before,#info_title_box:before,#info_title_box:after,#bottom_menu:after,#page_title:after{
content: "";
display: block;
background-size: cover;
background-repeat: no-repeat;
position: absolute;
}
/*--------------------------------疑似要素にオブジェクト--------------------------------▲*/

/* font -----------------------------------------------------------------------------*/
:root {
    --font-jp: "Mochiy Pop One",'M PLUS 1', 'Noto Sans JP',sans-serif!important;
    --font-en: "Dela Gothic One",'Josefin Sans', 'Noto Sans JP', "MS PGothic",sans-serif!important;
    --font-en2:"Roboto","Dela Gothic One",sans-serif;
}

body{
    font-family:var(--font-jp)!IMPORTANT;
}

#intro_txt h2, #header_menu li a,#page_title h2,.con_title{
    font-family:var(--font-en) !IMPORTANT;
}

h2, h3, h4, h5, h6,#page10,u_page #bottom_menu ul li a,#bottom_menu ul li a,#foot_banner a,#foot_banner2 a,#info .info_txt h3{
    font-family:var(--font-jp)!IMPORTANT;
}

.top_cms_box .cms_title,.pager li a, .more, #info_title_box, #page_title p, a[href^="tel:"], header #header #header_menu ul, #bottom_menu, .drawer-menu, #intro .intro_no, #con_h .con_no, .font1,#page-top a div p,.con_no{
    font-family: var(--font-en2) !IMPORTANT;
    font-weight: 700;
}


body {
    line-height: 1.8;
    font-size: 105% !important;
}

.font_2dw{
    font-size: -webkit-calc(1rem + 0px);
    font-size: calc(1rem + 0px);
}

.font_bold {
    font-weight: 100;
}
/* font -----------------------------------------------------------------------------*/
/* color -----------------------------------------------------------------------------*/
:root{
	--normal: #FA812F;
	--color1: #F3C623;
	--color2: #FFB22C;
	--color3: #3a3a3a;
	--color4: #FEF3E2;
	--color5: #F7F7F7;
	--white: #fcfcfc;
	--black: #1a1a1a;
	--gray: #ccc;
	--red: red;
	--linkStyle: #60513c;
}

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(--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);}

.linkStyle{
    color: var(--color1);
    border-bottom:solid 1px;
}

.linkStyle:hover{
	color: var(--color3);
	opacity: 0.7;
	transition: all 0.5s;
}

body#body {
    background: var(--white);
}


/* ----------------------------------------------------------------------------------------------　top　----------------------------------------------------------------------------------------------------------------- */

header {
    background-color: var(--white);
}

.more a{
    border: solid 1px var(--black);
    box-shadow: 3px 3px 0 var(--black);
    background-color: var(--normal);
}

.more a:hover{
    box-shadow: none;
    border: solid 1px var(--black);
}

/* ---------------------------------------　main_img　▼--------------------------- */

#main_img::before {
	position: absolute;
	content: "";
	left: 0;
	top: 70%;
	width: 100%;
	height: 100px;
	background-image: url("../img/loop_txt.png");
	background-size: auto 100%;
	background-position-y: 0;
	background-position-x: 0;
	background-repeat: repeat-x;
	animation: loop 30s linear infinite;
}

@keyframes loop {
	0% {background-position-x: 0;}
	100% {background-position-x: -1000px;}
}


.character-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  opacity: 0;
  pointer-events: none;
}

/* 表示後に追加されるクラス */
.character-wrapper.show {
  animation: wrapperFadeIn 0.8s ease-out forwards;
  pointer-events: auto;
}

/* アニメーション内容 */
@keyframes wrapperFadeIn {
  0% {
    opacity: 0;
    transform: translate(-50%, -40%) scale(0.8);
  }
  60% {
    opacity: 1;
    transform: translate(-50%, -52%) scale(1.1);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}






/* ---------------------------------------　main_img　▲--------------------------- */

/* ---------------------------------------　intro　▼--------------------------- */

#intro_bg {
    background-image: url(/Files/img/bg_img.png);
    background-size: contain;
    background-position: top left;
}

/* ---------------------------------------　intro　▲--------------------------- */

/* ---------------------------------------　top_cms　▼--------------------------- */
.cms_title, .blog_cms_title{
    background-repeat: no-repeat;
    background-position: 50% 0;
    background-size: 80px;
    padding-top: 90px;
}

.top_cms_box .blog_cms_title{
    background-image: url(/Files/img/icon02.png);
}

#top_cms .top_cms_box:nth-of-type(2) .cms_title{
    background-image: url(/Files/img/icon03.png);
}

#top_cms .top_cms_box:nth-of-type(3) .cms_title{
    background-image: url(/Files/img/icon04.png);
}


#top_cms .top_cms_box:nth-of-type(4) .cms_title{
    background-image: url(/Files/img/icon05.png);
}
/* ---------------------------------------　top_cms　▲--------------------------- */

/* -----------------------------------------------------------------------------------------------　下層ページ　--------------------------------------------------------------------------------------------------------- */

#cms_2-g .cate_title {
	line-height: 1.2;
	font-size: 2.5em;
}

/*---------------------------------------------------------------------------------------------------------タブレット------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 768px){

.character-wrapper {
    top: 40%;
}

#cms_2-g .cate_title {
    line-height: 1.2;
    font-size: 1.7em;
}

}

/*---------------------------------------------------------------------------------------------------------スマホ----------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 667px){
.drawer-menu li a {
    color: var(--black);
    font-weight: 100;
    font-size: 20px;
}

.top_cms_box .cms_title h2 {
    padding: 0;
    font-size: 28px;
}

.cms_title {
    background-size: 35px;
    padding-top: 80px;
}

.top_cms_blog:before  {
    top: -3%;
}

.top_cms_blog:after {
    bottom: -3%;
}

#intro:after {
    bottom: -1px;

}

#top_cms:before {
    top: -1%;
}

}

/*---------------------------------------------------------------------------------------------iPhone8以下サイズ----------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 320px){
}