@charset "utf-8";
/*
Theme Name: kaleido_lp1
Theme URI: https://kaleidoscope-jp.net
Description: 
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700&display=swap&subset=japanese');

/*
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Noto Serif JP', serif;
font-family: 'Kosugi', sans-serif;
font-family: 'Kosugi Maru', sans-serif;
font-family: 'Sawarabi Gothic', sans-serif;
font-family: 'Sawarabi Mincho', sans-serif;
font-family: 'M PLUS Rounded 1c', sans-serif;
font-family: 'M PLUS 1p', sans-serif;
*/

@media screen and (min-width:520px) and (max-width:960px) {

}
@media screen and (min-width:320px) and (max-width:519px) {

}


@media screen and (max-width:1024px) {

}
@media screen and (max-width:599px) {

}

/* ページ全体
============================================================================================================ */
html {
	font-size:  62.5%;
}
body {
	color: #333;
	font: 1.8rem/1.8em 'Noto Sans JP', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', sans-serif;
	margin: 0px;
	padding: 0px;
	background: #e2e1e1;
	text-align: left;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.6rem;
  }
}

/*font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;*/
/*
b, strong, .bold{
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
}
*/

/* リンク・hover指定
========================================================= */
/* 画像（hoverで70％透過）
============================= */
a img {
	transition: all .3s ease-out;
}
a:hover img {
	opacity: 0.7;
}

/* 画像（hoverで明度変更）
============================= */
/*
a img {
	transition: all .3s ease-out;
}
a:hover img {
	filter: brightness(104%);
}
*/

/* テキスト
============================= */
a:link {
	color: #333;
	transition: all 0.3s ease;
	text-decoration: none;
}
a:visited {
	color: #333;
}
a:hover {
	color: #CCC;
}
a:active {
	color: #333;
}

footer a:link {
	color: #FFF;
	transition: all 0.3s ease;
	text-decoration: none;
}
footer a:visited {
	color: #FFF;
}
footer a:hover {
	color: #FFF;
}
footer a:active {
	color: #FFF;
}


/* ボタン指定
========================================================= */
.btn_base1 {
	display: block;
	text-align: center;
	line-height: 50px;
	font-size: 1.4rem;
	width: 300px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
	transition: all 0.3s ease-in-out;
	background-color: #333;
	color: #FFF !important;
}
.btn_base1:hover {
	opacity: 0.6; 
}
.news-btn1 {
  display: block;
	text-align: center;
	line-height: 50px;
	font-size: 1.4rem;
	max-width: 250px;
	position: relative;
	transition: all 0.3s ease-in-out;
	color: #FFF !important;
  background-color: #96B533;
  border-radius: 3px;
  margin: 0 auto;
}
.news-btn1:hover {
  background-color: #7B9429;
}

/* ボタンスアイコン1
============================= */
/*矢印アイコン1*/
.btn_icon_arrow1::after {
	content: "\f105";
	font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
	font-weight: 900;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}
/*矢印アイコン2*/
.btn_icon_arrow2::after {
	content: "\f0a9";
	font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
	font-weight: 900;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}
/*矢印アイコン3*/
.btn_icon_arrow3::after {
	content: "\f138";
	font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
	font-weight: 900;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}
/*外部リンクアイコン*/
.btn_icon_arrow4::after {
	content: "\f35d";
	font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
	font-weight: 900;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}
/*メールアイコン*/
.btn_icon_mail1::after {
	content: "\f0e0";
	font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
	font-weight: 900;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}
/*受話器アイコン*/
.btn_icon_phone1::after {
	content: "\f879";
	font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
	font-weight: 900;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}
/*スマホアイコン*/
.btn_icon_sp1::after {
	content: "\f3cd";
	font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
	font-weight: 900;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}
/*テキストアイコン*/
.btn_icon_text1::after {
	content: "\f15c";
	font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
	font-weight: 900;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
}


/* レアウトブロック
============================================================================================================ */
.box {
  padding: 0 10px;
  margin-bottom: 80px;
}

.box_inner {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
.box_inner2 {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 767px) {
.box_inner2 {
  padding: 0 10px;
}
}

.box_title {
  text-align: center;
  margin-bottom: 40px;
}

.box_title span {
  display: inline-block;
  padding: 5px 25px 10px;
  font-size: 3.2rem;
  font-weight: bold;
  background-color: #040000;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 10px;
}

.ib {
  display: inline-block;
}

.main {
  padding-top: 60px;
}

/* ヘッター
========================================================= */
.header {
  background-color: #fff;
}
.header_page {
  
}

.header_bg {
  height: 32px;
  background: url('images/header_bg.svg') left repeat;
  background-size: 544px;
}

.header_content {
  padding: 120px 10px;
}

.header_inner {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.header_logo {
  margin: 0 auto min(8vw, 60px);
  width: 55%;
}

.header_title {
  margin-bottom: min(8vw, 60px);
}

.header_title_page {
  font-size: 4rem;
  font-weight: bold;
  text-align: center;
  width: 100%;
  margin-bottom: 0;
  letter-spacing: 3px;
}

.header_description {
  text-align: center;
  font-size: min(3.8rem, 5.2vw);
  line-height: 1.4;
}

@media screen and (max-width: 480px) {
.header_content {
padding-top: 80px;
padding-bottom: 80px;
}

.header_bg {
background-size: 306px;
}

.header_title_page {
  font-size: 2.5rem;
}
}


/* フッター
========================================================= */
.footer {
  text-align: center;
}

.footer_content {
  margin-bottom: 60px;
  padding-left: 10px;
  padding-right: 10px;
}

.footer_inner {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.footer_logo {
  margin: 0 auto 10px;
  width: min(150px, 30%);
}

.footer_title {
  margin: 0 auto 5px;
  width: min(450px, 90%);
}

.footer_address {
  font-size: min(4vw, 1.6rem);
}
.footer_address a:link {
  color: #333;
}

.copyright {
  display: flex;
  align-items: center;
  justify-content: center;
  background: url('images/footer_bg.svg') left repeat;
  background-size: 544px;
  height: 60px;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.4;
  text-shadow: 0 0 3px #888;
}

@media screen and (max-width: 480px) {
  .copyright {
    background-size: 306px;
  }
}


/* コンテンツ
============================================================================================================ */
.media_youtube {
  aspect-ratio: 16 / 9;
}

.media_youtube iframe {
  width: 100%;
  height: 100%;
}

.about_us_list_wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.about_us_list li {
  position: relative;
  margin-left: 1em;
}

.about_us_list li::before {
  content: '・';
  position: absolute;
  left: -1em;
  width: 1em;
}

.message {
  text-align: center;
  margin-bottom: 40px;
}

.message_img {
  margin: 0 auto 30px;
  max-width: 450px;
}

.message_img img {
  width: 100%;
  height: auto;
}

.message_position {
  font-size: 1.4rem;
  line-height: 1.2;
}

.message_name {
  margin-bottom: 20px;
  font-size: 2rem;
}

.message_comment {
  margin-bottom: 30px;
}

.message_comment p {
  text-indent: 1em;
  text-align: left;
}

.message_facebook {
  line-height: 1.4;
}

.message_facebook a {
  display: inline-block;
}

.message_facebook i {
  display: inline-block;
  margin-bottom: 5px;
  font-size: 4rem;
}

.form_area_consultation {
  margin-bottom: 30px;
  font-size: min(3rem, 4.2vw);
  font-weight: bold;
  color: #118987;
  text-align: center;
}

.company_list {
  text-align: center;
}

.company_list dt:nth-of-type(n + 2)::before {
  content: '・';
  display: block;
}