/*
Theme Name:	Clean Simple White
Theme URI:	 http://mazznoer.web.id/wordpress-themes/clean-simple-white/
Author:			Mazznoer
Author URI:	http://mazznoer.web.id/
Description: It is a very clean and simple theme for Your WordPress site.
Version:		 1.4.2
License:		 GPL
License URI: http://www.gnu.org/licenses/gpl.html
Tags:				white, blue, light, two-columns, right-sidebar, theme-options, featured-images, fixed-layout, sticky-post, threaded-comments, translation-ready
Text Domain: clean-simple-white
*/

/* =Reset
-------------------------------------------------------------- */

/* http://meyerweb.com/eric/tools/css/reset/ 
	 v2.0 | 20110126
	 License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
html, body {
  overflow-x: hidden;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* additional by Mazznoer */

:focus {
	outline: none;
}

/* =Basic HTML
-------------------------------------------------------------- */

html {
	font-size: 100%;
	overflow-y: scroll;
	/* maxvoltar.com/archive/-webkit-font-smoothing */
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
body {
	color: #000;
	font-size: 16px;
	line-height: 30px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight:400;
}
a:link,
a:visited {
	color: #3366bb;
	text-decoration: none;
}
a:hover {
	text-decoration: none;
}
hr {
	background: #ccc;
	border: none;
	height: 1px;
}
b, dt, strong {
	font-weight: bold;
}
blockquote, dl, ol, p, pre, table, ul	{
	margin: 13px 0;
}
blockquote {
	font-size: 1.1em;
	margin-left: 40px;
}
dd {
	margin-left: 35px;
}


ol {
	list-style-type: decimal;
	margin-left:2em;
}
mark {
	background-color: #ff9;
}
del {
	text-decoration: line-through;
}
abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}
q:before,
q:after {
	content: '"';
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
td, th {
	border: 0px;
	vertical-align:top;
}
input, select {
	vertical-align: middle;
}
pre {
	overflow: auto;
}
address, em {
	font-style: italic;
}
code, kbd {
	font-size: 1.2em;
}
sub {
	vertical-align: sub;
	font-size: smaller;
}
sup {
	vertical-align: super;
	font-size: smaller;
}
img {
  display: block;
}
div {
	box-sizing: border-box;
}
.pc{}
.sp{
	display:none;
}
/* TablePress の横スクロール対応 */
.tablepress-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* スクロール時に下に余白が出ないように */
.tablepress-responsive table {
  width: 100%;
  min-width: 600px;
}
@media (max-width: 1080px) and (min-width: 768px) {
body {
	color: #000;
	font-size: 15px;
	line-height: 25px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight:400;
}

}
@media (max-width:767px){
.side_btn{
	display:none;
}
body {
	color: #000;
	font-size: 15px;
	line-height: 25px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight:400;
}
	.kg{
		display:block;
	}
	.pc{
		display:none;
	}
.sp{
	display:block;
}
}

.wrap{ display: flex; flex-wrap: wrap; }
/* additional by Mazznoer */

:focus {
	outline: none;
}
/* ブロック共通初期設定 */
.scroll-block {
  width: 100%;
}
/* ----------パターン1：透明度が変化---------- */
/* 画面外 */
.fade-block1 {
  opacity: .1;
  transition: all 1.5s;
}
/* 画面に入った時の動き */
.fade-block1.blockIn {
  opacity: 1;
}
/* ----------パターン2：下からふわっと---------- */
/* 画面外 */
.fade-block2 {
  transform: translateY(100px);
  transition: all .5s ease-in;
}
/* 画面に入った時の動き */
.fade-block2.blockIn {
  transform: translateY(0);
}
/* ----------パターン3：右からふわっと---------- */
/* 画面外 */
.fade-block3 {
  transform: translateX(200px);
  transition: all .5s ease-in;
}
/* 画面に入った時の動き */
.fade-block3.blockIn {
  transform: translateX(0);
}
/* ----------パターン4：左からふわっと---------- */
/* 画面外 */
.fade-block4 {
  transform: translateX(-200px);
  transition: all .5s ease-in;
}
/* 画面に入った時の動き */
.fade-block4.blockIn {
  transform: translateX(0);
}
/* ----------パターン5：斜め下からふわっと---------- */
/* 画面外 */
.fade-block5 {
  transform: translate(150px, 150px);
  transition: all .5s ease-in;
}
/* 画面に入った時の動き */
.fade-block5.blockIn {
  transform: translate(0);
}
/* ----------パターン6：画面外に飛んでいく---------- */
/* 画面外 */
.fade-block6 {
  transform: translate(-100vw);
  transition: all 3s ease;
}
/* 画面に入った時の動き */
.fade-block6.blockIn {
  transform: translate(100vw);
}

/* =Headings
-------------------------------------------------------------- */

.editor-styles-wrapper h1 { font-size: 2.5em; font-weight: bold; }
.editor-styles-wrapper h2 { font-size: 4em; font-weight: bold; }
.editor-styles-wrapper h3 { font-size: 3em; }
.editor-styles-wrapper h4 { font-size: 2.5em; }
.editor-styles-wrapper h5 { font-size: 2em; }
.editor-styles-wrapper h6 { font-size: 1.6em; }


#main h3.titel {
	font-size: 1.5em;
	color:#e40065;
	font-weight:700;
	margin:0 0 20px 0;
	border-bottom:1px solid #555;
	padding:0 0 10px 0;
}

.kv-title {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 80px 0 50px 0;
  padding: 0;
}

/* 英語（大きくて太いピンク）*/
.kv-title__en {
  font-weight: 800;
  font-size: 2.7em;
  line-height: 1;
  color: #e2006a;
  position: relative;
  padding-right: 1em;
}
.kv-title__en2 {
  font-weight: 800;
  font-size: 3.5em;
  line-height: 1;
  color: #e2006a;
  position: relative;
  padding-right: 1em;
}

/* 縦の仕切り線 */
.kv-title__en::after,
.kv-title__en2::after{
  content: "";
  position: absolute;
  right: 0px;                /* EN の右端からの位置 */
  top: 50%;
  transform: translateY(-50%);
  width: 1px;                /* 線の太さ */
  height: 100%;
  background: #e2006a;       /* 線の色（ピンク）*/
  opacity: 1;
}

/* 日本語（黒）*/
.kv-title__jp {
  font-weight: 500;
  font-size:1.1em;
  line-height: 1;
  color: #000;
  white-space: nowrap;
}
.kv-title__jp2 {
  font-weight: 500;
  font-size:1.3em;
  line-height: 1;
  color: #000;
  white-space: nowrap;
}
.kv-title__jp3 {
  font-weight: 500;
  font-size:1.6em;
  line-height: 1.3;
  color: #000;
  white-space: nowrap;
}
.kv-title__jp3 .big{
  font-weight: 600;
  font-size:2em;
  line-height: 1.3;
  color: #e4007f;
  white-space: nowrap;
}
/* 小さい画面でスペースを詰める例 */
@media (max-width:767px) {
 .kv-title {
  display: block;
  align-items: initial;
  gap: initial;
  margin: 40px 0;
  padding: 0;
}

/* 英語（大きくて太いピンク）*/
.kv-title__en {
  font-size: 2.2em;
  line-height: 1.6;
  color: #e2006a;
  position: initial;
  padding-right:0;
}
.kv-title__en2 {
  font-size: 2.2em;
  line-height: 1.6;
  color: #e2006a;
  position: initial;
  padding-right: 0;
}

/* 縦の仕切り線 */
.kv-title__en::after,
  .kv-title__en2::after {
    content: none; /* 疑似要素ごと消す */
  }
.kv-title__jp,
.kv-title__jp2{
  font-weight: 500;
  font-size:1.3em;
  line-height: 1.2;
  color: #000;
  display:block;
  white-space: initial;

}
.kv-title__jp3 {
  font-size:1.3em;
  line-height: 1.3;
  white-space: initial;
	padding:20px 0 0 0;
}
.kv-title__jp3 .big{
  font-size:1.6em;
  line-height: 1.3;
  color: #e4007f;
  white-space: nowrap;
}
}
/* =切り替え
-------------------------------------------------------------- */
/* PC */
.menu-desktop { display: block; }
.menu-mobile { display: none; }

/* スマホ */
@media (max-width: 1240px) {
  .menu-desktop { display: none; }
  .menu-mobile { display: block; }
}
/* =Layout
-------------------------------------------------------------- */

#container {
	margin: 0px auto;
	text-align: left;
	width: 100%;
}

.main-content {
	margin: 0 auto;
	padding: 0;
	width: 90%;
	max-width:1200px;
}
.main-content-voice {
	margin: 0 auto;
	padding: 50px;
	width: 90%;
	max-width:1200px;
	font-size:1.1em;
}
#container_box {
	display: flex;
	align-items: stretch; /* 子要素の高さを揃える */
	margin: 0 auto;
	padding: 0;
	width: 95%;
	max-width: 1200px;
	box-sizing: border-box;
}

#main {
	width: 70%;
	padding: 50px 20px;
	box-sizing: border-box;
}

#side {
	width: 30%;
	padding: 50px 20px;
	box-sizing: border-box;
}

#mainarchive {
	width: 70%;
	padding:50px 0;
}

#side h4,
#side_sp_box h4{
	margin:40px 0 10px 0;
	color:#e40065;
	border-left:5px solid #e40065;
	padding:0 0 0 5px;
}
#side ul,
#side_sp_box ul{
	margin:0;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
#side ul:after,
#side_sp_box ul:after{
	  content: "";
	  clear: both;
	  display: block;
	}
#side ul li,
#side_sp_box ul li {
	display: block;
	float: none;
	border-bottom:1px solid #ddd;
	width:100%;
	padding:5px 0.5em;
	box-sizing:border-box;
}
#side ul li a:link,
#side_sp_box ul li a:link{
	color:#000;
}
#side ul li:first-child,
#side_sp_box ul li:first-child{
	padding:0 0.5em 5px 0.5em;
}
/* PC用 */
#side_sp_box {
  display: none;
}

/* スマホ用 */
@media (max-width: 767px) {
  #side_sp_box {
    display: block !important; /* 強制表示 */
    width: 100%;
    padding: 0 20px 50px 20px;
    box-sizing: border-box;
  }

  #side {
    display: none !important;
  }

  #container_box {
    display: block !important;
  }
#mainarchive {
	width: 100%;
	padding:50px 0;
}
  #main {
    width: 95% !important;
    padding: 50px 0 0 0 !important;
    margin: 0 auto !important;
    box-sizing: border-box;
  }
}

/* =footer
-------------------------------------------------------------- */

#footer {
	width:100%;
	background:#1f2121;
	padding:70px 0 0 0;
}
#footer .box{
	width:95%;
	max-width:1200px;
	margin:0 auto;
	background:#1f2121;
}
#footer .box .top{
	padding:30px;
	border-bottom:1px solid #313333;
	box-sizing:border-box;
}
#footer .box .top{
	padding:30px;
	border-bottom:1px solid #313333;
	box-sizing:border-box;
	display: flex;
}
#footer .box .top .logo{
	width:30%;
}
#footer .box .top .logo img{
	width:100%;
	height:auto;
}

#footer .box .top .menu{
	width:70%;
	padding:0 0 0 120px;
	box-sizing:border-box;
}

#footer .box .top .menu ul{
	margin:0;
	padding:0;
	width:100%;
	display:flex;
	flex-wrap:wrap;
}
#footer .box .top .menu ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}
#footer .box .top .menu ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	box-sizing: border-box;
	padding:0 10px;
	margin:0;
	font-size:0.9em;
}
#footer .box .top .menu ul li a:link,
#footer .box .top .menu ul li a:visited{
	color:#fff;
}
#footer .box .top .menu ul li a:hover{
	color:#fff;
}
#footer .box .bottom{
	padding:30px;
	box-sizing:border-box;
	color:#fff;
	font-size:0.9em;
}
#footer .box .bottom table,
#footer .box .bottom table th,
#footer .box .bottom table td{
	border:0px;
}
/* 1列目は見出しなので固定気味 */
#footer .box .bottom th {
  white-space: nowrap;
  width: 1px;
	padding:0 2em 0 0;
}

/* 2列目：中身に合わせる */
#footer .box .bottom td:nth-child(2) {
  white-space: nowrap; /* 改行させないで最小幅に */
  width: 1px;          /* 中身の長さを優先させるコツ */
	padding:0 2em 0 0;
}

/* 3列目：残りを自動で使う */
#footer .box .bottom td:nth-child(3) {
  width: 100%;
}
#footer-credit {
	color:#fff;
	font-size:0.7em;
	text-align:center;
	line-height:4;
}
#footer-credit a:link,
#footer-credit a:visited{
	color:#fff;
}
@media (max-width:767px){
	#footer{
		padding-bottom:70px;
	}
	
	#footer .box .top{
	display: block;
}
#footer .box .top .logo{
	width:100%;
}
#footer .box .top .logo img{
	max-width:250px;
	margin:0 auto;
	display:block;
}

#footer .box .top .menu{
	width:100%;
	padding:15px 0;
	box-sizing:border-box;
}

#footer .box .top .menu ul li {
	display: block;
	text-align:center;
	padding:10px;
	margin:0;
	font-size:0.9em;
	width:50%;
}
#footer .box .bottom{
	display:none;
}
}
/* =Header
-------------------------------------------------------------- */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}


/* ===== Header ===== */
#header_back {
  width: 100%;
  height: 80px;
	background:#fff;
}
#header {
  position: relative;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

#header_box {
  flex: 1; 
  display: flex;
  align-items: center;
}

#header_box table,
#header_box td {
  border: 0;
  margin: 0;
  padding: 0;
}

#header_box td.sp-telbtn {
  display: none;
}

td.logo {
  padding: 10px 0 0 0;
}

td.logo img {
  height: 60px;
	padding:10px 0 0 0;
}

td.h_nav {
   padding: 10px 0;

}

/* PC用電話画像 */
#tel {
  background: #fff;
  padding: 0 10px 5px 10px;
  box-sizing: border-box;
  border-radius: 0 0 15px 15px;
  width: 220px;               /* 固定幅にするのがおすすめ */
  flex-shrink: 0;             /* 幅が潰れないように */
}

#tel img {
  width: 100%;
  height: auto;
}

#telModal {
  display: none; /* PCで非表示 */
}

/* ロゴ */

#header_box table,
#header_box td{
	border:0;
	margin:0;
	padding:0;
}
#header_box td.sp-telbtn{
	display:none;
}

/* PC用電話画像 */
#tel {
  position: absolute;
  right: 15px;
  top: 0;
  background: #fff;
  padding: 0 10px 5px 10px;
  box-sizing: border-box;
  border-radius: 0 0 15px 15px;
	width:17%;
}
#tel img {
width:100%;
	height:auto;
}

#telModal{ display: none; } /* PCで非表示 */

@media (max-width:1240px){
/* PCナビ・電話非表示 */
 #tel { display: none; }

  /* ヘッダー */
#header_back {
	background: #fff;
	height: auto;
	padding-bottom:10px;
}

#header {
	display: block !important;   /* flexを無効化 */
    justify-content: unset !important;
    align-items: unset !important;
    height: 50px;
}

/* ロゴ */
#header_box table,
#header_box td{
	border:0;
	margin:0;
	padding:10px 0;
}
td.h_nav {
}
td.logo{
	width:121px;
}
td.logo img {
	padding:0 0 0 0;
  height: 40px;
}

  /* 電話相談ボタン */
#header_box td.sp-telbtn{
	display:table-cell;
	padding:10px 0 10px 10px;
}

td.sp-telbtn img {
  max-height: 40px;
}
/* スマホメニュー */

/* ===== モーダル（ポップアップ） ===== */
.modal {
  display: none; /* 初期は非表示 */
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.6);
}
	.modal h2{
		font-weight:500;
		color:#e40065;
		font-size:1.1em;
	}
	.modal p{
		font-size:0.9em;
	}
/* 中身 */
.modal-content {
  background: #fff;
  margin: 15% auto;
  padding: 20px;
  border-radius: 12px;
  width: 90%;
  max-width: 400px;
  text-align: center;
  position: relative;
}

/* 閉じるボタン */
.modal-close {
  position: absolute;
  top: 10px; right: 15px;
  font-size: 1.5rem;
  cursor: pointer;
  color: #666;
}

.modallinkbox ul{
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
}
.modallinkbox ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}
.modallinkbox ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	width: 50%;
	box-sizing: border-box;
	padding:10px;
	margin:0;
}
.modallinkbox img {
	width:100%;
  height: auto;
}
}

/* =重要なお知らせ
-------------------------------------------------------------- */
#news_important{
	width:100%;
	background:#f7f7f7;
	padding:60px 0;
}
#news_important .box{
	width:95%;
	max-width:1000px;
	margin:0 auto;
}

.news_i_box {
	display: flex;
	align-items: center;
	gap: 20px;
	background: #fff;
	padding: 10px 25px 10px 25px;
	font-weight:600;
}

/* カテゴリー */
.news_i_box .categry {
	color: #e4007f;					 /* ピンク（重要なお知らせの色） */
	margin-right: 15px;
	padding-right: 25px;
	border-right: 1px solid #ccc; /* 縦線で区切る */
	white-space: nowrap;			/* 折り返さない */
}

/* 日付 */
.news_i_box .day {
	color: #333;
	white-space: nowrap;
}

/* テキスト（タイトル部分） */
.news_i_box .text {
	flex: 1;									/* 残りの幅を埋める */
	overflow: hidden;
	text-overflow: ellipsis;	/* はみ出したら「…」にする */
	white-space: nowrap;
}
.news_i_box .text a {
	text-decoration: none;
}
.news_i_box .text a:link,
.news_i_box .text a:visited{
	color:#000;
	padding-bottom: 3px;
	background-image: linear-gradient(#e40065, #e40065);
	background-repeat: no-repeat;
	background-position: bottom right;
	background-size: 0 1px;
	transition: background-size 0.3s;
}

.news_i_box .text a:hover {
	background-position: bottom left;
	background-size: 100% 1px;
	color:#e40065;
	transition: all .3s;
}


#news_important .box .link{
	text-align:right;
	font-size:0.85em;
	font-weight:600;
	padding:30px 0 0 0;
}
#news_important .box .link a:link,
#news_important .box .link a:visited{
	color:#e40065;
  padding-bottom: 3px;
  background-image: linear-gradient(#e40065, #e40065);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 0 1px;
  transition: background-size 0.3s;
}

#news_important .box .link a:hover {
  background-position: bottom left;
  background-size: 100% 1px;
	color:#000;
	transition: all .3s;
}
.categrytitel{
	display:none;
}
@media screen and (max-width:767px){
#news_important{
padding:40px 0 10px 0;

}
.news_i_box .categry {
	display:none;
}
.news_i_box .text a {
	display:block;
}
	
.categrytitel{
		display:block;
		font-size:1.2em;
		color:#e4007f;
		font-weight:700;
		padding-bottom:10px;
}
/* 日付 */
.news_i_box .day {
	color: #333;
	white-space: nowrap;
}

/* テキスト（タイトル部分） */
.news_i_box .text {
	display:block;
	flex: 1;									/* 残りの幅を埋める */
	overflow: hidden;
	text-overflow: ellipsis;	/* はみ出したら「…」にする */
	white-space: nowrap;
}
}
/* =Media Guide
-------------------------------------------------------------- */
#media_guide{
	width:100%;
}
.media_guide_box{
	width:95%;
	max-width:1200px;
	margin:0 auto;
	padding:60px 0;
}
.media_guide_box h2{
	color:#000;
	font-size:1.3em;
	font-weight:700;
}
.media_guide_box h2 .titel{
	color:#e40065;
	font-size:3em;
	font-weight:800;
	padding:0 30px 0 0;
}
.media_guide_box h3.titel{
	font-size:2em;
	line-height:1.8;
	text-align:center;
	font-weight:700;
	margin:50px 0 0 0;
}
.media_guide_box h3.titel .min{
	font-size:0.7em;
	display:block;
	font-weight:500;
}
.media_guide_box .sub{
	font-size:1.6em;
	line-height:1.8;
	font-weight:700;

}


.g_back{
	width:100%;
	background:#f7f7f7;
}
.suji_box {
	margin-bottom:60px;
	padding-bottom:50px;
}
.suji_box ul{
	max-width:1120px;
	margin:0 auto;
	padding:0;
	display:flex;
	flex-wrap:wrap;
}
.suji_box ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}

.suji_box ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	width: 31%;
	box-sizing: border-box;
	padding:0;
	margin:3% 1%;
	background:#f7f7f7;
	border-radius:8px;
}
.suji_box ul li img{
	width:100%;
	height:auto;
}
.suji_box .w_box{
	width:90%;
	max-width:1100px;
	margin:20px auto;
	padding:20px;
	box-sizing:border-box;
	background:#f7f7f7;
	border-radius:8px;
}
.suji_box .w_box h6,
.suji_boxw_box h6{
	font-size:1.2em;
	font-weight:bold;
	margin:0 0 10px 0;
	border-bottom:1px solid #ccc;
}

.suji_box .w_box li{
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	width: 46%;
	box-sizing: border-box;
	padding:0;
	margin:3% 2%;
	background:#f7f7f7;
	border-radius:8px;

}
.suji_box .w_box li .sub{
	font-size:12px;
	line-height:18px;	
	
}
.suji_box .w_box h4{
	font-size:1.6em;
	font-weight:700;
}
.suji_boxw_box{
	width:90%;
	max-width:1000px;
	margin:40px auto 130px auto;
	padding:20px;
	box-sizing:border-box;
	background:#fff;
	border-radius:8px;
	border:1px solid #ccc;
}
.keusait_box ul{
	max-width:1120px;
	margin:40px auto;
	padding:0;
	display:flex;
	flex-wrap:wrap;
}
.keusait_box  ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}

.keusait_box ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	box-sizing: border-box;
	padding:0;
	margin:0;
}
.keusait_box ul li .btn{
	color: #fff;
	background: #515151;
	line-height:40px;
	height:40px;
}
.keusait_box ul li a:hover.btn{
	transition: all .3s;
	background:#292929;
}
.keusait_box ul li.photo{
	width:40%;
	padding:30px;
	box-sizing:border-box;
}
.keusait_box ul li.photo img{
	width:100%;
	height:auto;
}
.keusait_box ul li.suji img{
	width:65%;
	height:auto;
	display:block;
	margin:0 auto;
}
.keusait_box ul li.suji{
	width:60%;
}
.keusait_box ul li.suji table{
	border:0px;
}
.keusait_box ul li.suji td{
	border:0px;
	text-align:center;
	width:50%;
	box-sizing:border-box;
	padding:20px　0;
	background:#fff;
	border:20px solid #f7f7f7;
	border-radius:20px;
}

.kakaku_box ul{
	max-width:1120px;
	margin:40px auto;
	padding:0;
	display:flex;
	flex-wrap:wrap;
}
.kakaku_box ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}

.kakaku_box ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	box-sizing: border-box;
	width:48%;
	padding:15px;
	margin:1%;
	background:#e6e6e3;
	border-radius:10px;
}
.kakaku_box ul li .h5box{
	padding:10px 10px 0 10px;
	box-sizing:border-box;
}
.kakaku_box ul li h5{
	color:#e40065;
	font-size:18px;
	font-weight:700;
}
.kakaku_box ul li .text{
	padding:10px;
	box-sizing:border-box;
	font-weight:500;
}
.kakaku_box ul li dl{
	width:100%;
	background:#f3f3f3;
	border:2px solid #fff;
	margin:0;
	border-radius:5px;
	display: flex;
	flex-wrap: wrap;
}
.kakaku_box ul li dt{
	width: 40%;
	padding:20px;
	box-sizing:border-box;
	text-align:center;
}
.kakaku_box ul li dt,
.kakaku_box ul li dd {
	display: flex;
	flex-direction: column; /* 中の要素を縦積み */
	justify-content: center; /* 子要素を中央に寄せる */
}
.kakaku_box ul li dt .kakaku01{
	font-size:3em;
	line-height:1;
	font-weight:800;
}
.kakaku_box ul li dt .kakaku01 span{
	font-size:0.5em;
	font-weight:800;
}
.kakaku_box ul li dt .kakaku01_sub {
	font-size:0.9em;
	font-weight:500;
	line-height:2;
}
.kakaku_box ul li dd{
	flex: 1;
	width: 60%;
	padding:20px;
	background:#fff;
	box-sizing:border-box;
	border:8px solid #f3f3f3;
	border-radius:12px;
	text-align:center;
	align-items: center;
}
.kakaku_box ul li dd .kakaku02{
	font-size:3.5em;
	line-height:1;
	font-weight:900;
	color:#e50065;
}
.kakaku_box ul li dd .kakaku02 span{
	font-size:0.5em;
	font-weight:900;
}
.kakaku_box ul li dd .kakaku02_sub {
	font-size:0.9em;
	font-weight:500;
	line-height:2;
	color:#e50065;
}

.btn_box{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	margin: 0;
}

@media (max-width:767px){
.media_guide_box{
	padding:30px 0;
}
.media_guide_box h2 .titel{
	font-size:2.3em;
	display:block;
	line-height:1.5;
}	
.media_guide_box h2{
	font-size:1.2em;
}	
.media_guide_box h3.titel{
	font-size:1.8em;
	line-height:1.5;
	text-align:center;
	margin:30px 0 20px 0;
}	
.media_guide_box h3.titel .min{
	font-size:0.7em;
	display:block;
	padding:10px 0 0 0;
}
.media_guide_box h4{
	text-align:center;
}
.media_guide_box .sub{
	text-align:center;
}
.keusait_box ul{
	max-width:1120px;
	margin:40px auto 0 auto;
	padding:0;
	
}
.keusait_box ul li {
	float: none;
}
.keusait_box ul li.photo{
	width:100%;
	padding:30px;
	box-sizing:border-box;
}
.keusait_box ul li.suji{
	width:100%;
}	
.keusait_box ul li.suji img{
		width:100%;
}
.suji_box ul{
	max-width:90%;
	padding:30px 0;
}
.suji_box ul li {
	float:none;
	width: 100%;
	margin:1% 0;
}
	.suji_box a{
		width:90%;
	}
.suji_box .w_box li{
	display: block;
	float: none;
	list-style-type: none;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	padding:0;
	margin:2% 0%;
	background:#f7f7f7;
	border-radius:8px;

}
.suji_box .w_box li:lat-child{
	margin:2% 0% 0 0;		
}
}
/* = お客様の声
-------------------------------------------------------------- */
#voice{
	width:95%;
	max-width:1150px;
	margin:60px auto 0 auto;
}
#voice h2{
	font-size:2em;
	font-weight:700;
	padding-bottom:10px;
	border-bottom:1px solid #000;
}
#voice h3{
	font-size:1.1em;
	font-weight:600;
}
#voice .box{
	border-left:1px solid #000;
	margin:20px 0 0 auto;
	width:95%;
	max-width:1100px;
	padding:30px 0 30px 40px;
	box-sizing:border-box;
}

.boxpage_titel{
	width:95%;
	padding:10px 0 0 0;
	max-width:1200px;
	box-sizing:border-box;
	margin:0 auto;
}
.boxpage{
	padding:0 0 50px 0;
}
.boxark{
  background: #f7f7f7;
	padding:40px;
	box-sizing:border-box;
	margin-bottom:50px;
}
#voice .box ul,
#voice .boxpage ul,
#voice .boxpage-single ul{
	margin:0 auto;
	padding:0;
	display:flex;
	flex-wrap:wrap;
}
#voice .box ul:after,
#voice .boxpage ul:after,
#voice .boxpage-single ul:after{
	  content: "";
	  clear: both;
	  display: block;
	}

#voice .box ul li,
#voice .boxpage ul li{
  float: left;
  list-style-type: none;
  width: 48%;
  margin: 1%;
  box-sizing: border-box;
}
#voice .boxpage-single ul li{
  float: left;
  list-style-type: none;
  width: 31%;
  margin: 1%;
  box-sizing: border-box;
}
#voice .box ul li a{
  display: block;          /* ← 全体をクリック可能に */
  padding: 20px;
  background: #f7f7f7;
  border-radius: 10px;
  text-align: left;
  color: #000;             /* リンク色を普通の文字色に */
  text-decoration: none;   /* 下線消す */
  transition: background 0.3s;
}
#voice .boxpage ul li a,
#voice .boxpage-single ul li a{
  display: block;          /* ← 全体をクリック可能に */
  padding: 20px;
  background: #fff;
  border-radius: 10px;
  text-align: left;
  color: #000;             /* リンク色を普通の文字色に */
  text-decoration: none;   /* 下線消す */
  transition: background 0.3s;
}
#voice .box ul li.boxark{
  background: #f7f7f7;
}
#voice .box ul li a:hover,
#voice .boxpage ul li a:hover,
#voice .boxpage-single ul li a:hover{
  background: #f0e6ec;     /* hover時の背景色 */
}
.img-trim {
	width: 100%;
	height: 200px;
	object-fit: cover;
	object-position: center top;
	margin-bottom:10px;
}

#voice .box ul li .text,
#voice .boxpage ul li .text,
#voice .boxpage-single ul li .text{
	font-size:1.1em;
	font-weight:700;
	color:#000;
	padding:5px 0 0 0;
	line-height:1.6;
	display: -webkit-box; 
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}
#voice .box ul li .arrow,
#voice .boxpage ul li .arrow,
#voice .boxpage-single ul li .arrow{
	position: relative;
	display: inline-block;
	padding: 0 0 0 25px;
	color: #000;
	vertical-align: middle;
	text-decoration: none;
	font-size:1em;
	font-weight:600;
}
@media (max-width:767px){
#voice .box{
	padding:30px 0 30px 20px;
}
#voice .box ul li,
#voice .boxpage ul li,
#voice .boxpage-single ul li{
  float: none;
  list-style-type: none;
  width: 100%;
  margin: 1% 0;
  box-sizing: border-box;
}
}
/* = Services
-------------------------------------------------------------- */
#services{
	width:100%;
	background:#f7f7f7;
	padding-bottom:80px;
}
#services .box{
	width:90%;
	max-width:1200px;
	margin:0 auto;
	display: flex; 
	padding:100px 0;
}
#services .box .photo{
	width: 50%;
	box-sizing: border-box;
	padding:0 40px 0 0;
}

#services .box .photo img{
	width:100%;
	height:auto;
	border-radius: 0px 15px 0px 0px;
}
#services .box .text_box {
	width: 50%;
	box-sizing: border-box;
	padding:0 0 0 40px;
}
#services .box .text_box h2{
	border-bottom:1px solid #000;
	font-size:2.5em;
	font-weight:800;
	color:#e40065;
	padding:0 0 10px 0;
}
#services .box .text_box h3{
	font-size:1.1em;
	font-weight:700;
	padding:10px 0 0 0;
	
}
#services .box .text_box .text{
	margin:30px 0;
	font-weight:500;
}
#services .box .text_box .btn{
	color: #fff;
	background: #515151;
}
#services .box .text_box a:hover.btn{
	transition: all .3s;
	background:#292929;
}
.service_page {
	width:90%;
	max-width:1200px;
	margin:0 auto;
}
.service_page h4{
	border-left:7px solid #e40065;
	padding:0 0 0 10px;
	font-size:1.8em;
	font-weight:700;
	margin:30px 10px;
	box-sizing:border-box;
}
.service_page ul{
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
}
.service_page ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}
.service_page ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	box-sizing: border-box;
	padding:20px;
	margin:0;
}
.service_page ul li.photo{
	width:40%;
}
.service_page ul li.photo img{
	width:100%;
	height:auto;
}

.service_page ul li.text{
	width:60%;
}
.service_page .linktb{
	padding:30px 0 60px 0;
}
@media (max-width:767px){
#services{
	padding:40px 0;
}
#services .box{
	max-width:initial;
	display: block; 
}
#services .box .photo{
	width: 100%;
	box-sizing: border-box;
	padding:0;
}
#services .box .text_box h2{
	border-bottom:1px solid #000;
	font-size:2.2em;
	font-weight:800;
	color:#e40065;
	padding:30px 0 10px 0;
}
#services .box .text_box {
	width: 100%;
	box-sizing: border-box;
	padding:0;
}
.service_page h4{
	padding:0 0 0 10px;
	font-size:1.5em;
	line-height:1.5;
	margin:30px 10px;
}
.service_page ul li {
	float: none;

}
.service_page ul li.photo{
	width:100%;
}
.service_page ul li.photo img{
	width:100%;
	height:auto;
}

.service_page ul li.text{
	width:100%;
}
}

/* = サービス2
-------------------------------------------------------------- */
#services .servicesbox ul{
	width:95%;
	max-width:1200px;
	margin:0 auto;
	padding:0;
	display:flex;
	flex-wrap:wrap;
}
#services .servicesbox ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}

#services .servicesbox ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	box-sizing: border-box;
	width:48%;
	padding:0;
	margin:1%;
}
#services .servicesbox .madoguti{
	padding:30px 0;
}
#services .servicesbox .madoguti img{
	width:100%;
	max-width:700px;
	height:auto;
	display:block;
	margin:0 auto;
}
.item {
	position: relative;
	overflow: hidden;
		border-radius: 0px 15px 0px 0px;

}

.item .photo img {
	width: 100%;
	display: block;
}

.item .caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.6);
	color: #fff;
	padding: 10px 15px;
	display: flex;
	justify-content: space-between; /* 左にタイトル・右に矢印 */
	align-items: center;
	text-decoration: none; /* リンクの下線消し */
}

.item .caption:hover {
	background: rgba(0,0,0,0.8); /* ホバーで少し濃く */
	transition: all .3s;
}

.item .caption .title {
	font-size: 18px;
	font-weight: bold;
}
@media (max-width:767px){
#services .servicesbox ul li {
	float: none;
	width:98%;
}
.item .caption .title {
	font-size: 0.9em;
	font-weight: bold;
}
}
/* = バナー
-------------------------------------------------------------- */
#banner{
	width:95%;
	max-width:1200px;
	margin:0 auto;
	padding:80px 0;
	
}
#banner img{
	width:100%;
	height:auto;
}
/* =事例
-------------------------------------------------------------- */
.case_link_box{
	width:90%;
	max-width:1000px;
	margin:50px auto;
}
.case_link_box ul {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(7, 1fr); /* PC: 7分割 */
  gap: 5px;
  list-style: none;
}

.case_link_box ul li {
  text-align: center;
  box-sizing: border-box;
  padding: 10px 0;
  font-size: 0.9em;
  border: 1px solid #f5f5f5;
}

/* PC用タブ */
.work-tabs {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  text-align: center;
}
.work-tabs li {
  display: inline-block;
  padding: 10px 20px;
  cursor: pointer;
  background-color: #f5f5f5;
  color: #000;
  transition: all 0.3s;
}
.work-tabs li.active {
  background: #e40065;
  color: #fff;
}



/* リンク hover */
.case_link_box ul li a {
  text-decoration: none;
  color: #000;
  transition: color 0.3s;
}
.case_link_box ul li a:hover {
  background-color: #ffe6f0;
  color: #e40065;
  transition: all .3s;
}


.work-contents{
	width:90%;
	max-width:1000px;
	padding:50px 0;
	margin:0 auto 100px auto;
}
.work-contents ul{
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
}
.work-contents ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}
.work-contents ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: center;
	width: 23%;
	line-height:23px;
	box-sizing: border-box;
	padding:0;
	margin:1%;
	font-size:0.9em;
	font-weight:500;
	border:1px solid #ddd;
	background:#fff;
	border-radius:5px;
}
.work-contents ul li a{
	padding:20px;
	color:#000;
	display:block;
	box-sizing: border-box;
}
.work-contents ul li a:hover{
	color:#000;
	display:block;
	background:#ddd;
	transition: all .3s;
}
.work-contents ul li a:hover img{
opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}
.work-contents ul li img{
	width:100%;
	height:auto;
}

@media (max-width:767px) {

.work-contents ul li {
	width: 48%;
	margin:1%;
}
.case_link_box ul {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5px;
  list-style: none;
}
	
/* プルダウン（スマホ用） */


.selectbox {
  position: relative; /* ← これが重要！ */
  font-size: 1.2em;
  width: 100%;
  margin: 10px auto;
}
/* selectタグ自体 */
.selectbox select.work-tabs-select {
  width: 100%;
  padding: 18px 45px 18px 16px; /* 右に矢印の余白 */
  font-size: 1.1em;
  border: 1px solid #ccc;
  border-radius: 6px;
  background-color: #fff;
  appearance: none; /* デフォルト矢印削除 */
  -webkit-appearance: none;
  -moz-appearance: none;
  box-shadow: 0 2px 5px rgba(0,0,0,0.08);
  cursor: pointer;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}
/* hover, focus */
.selectbox select.work-tabs-select:hover {
  border-color: #000;
}
.selectbox select.work-tabs-select:focus {
  border-color: #000;
  box-shadow: 0 0 0 3px rgba(74,144,226,0.25);
}

/* ▼アイコン */
.selectbox::after {
  content: "▼";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  color: #666;
  pointer-events: none;
}
}

/* = Contact
-------------------------------------------------------------- */
#contact{
	width:100%;
	background:url(img/contact_back.jpg);
	background-repeat:no-repeat;
	background-size:cover;
}
#contact .box{
	width:95%;
	max-width:1200px;
	margin:0 auto;
	display: flex; 
	padding:0 0;
}
#contact .box .left{
	width: 25%;
	box-sizing: border-box;
	padding:160px 0 220px 0;
	border-right:1px solid #fff;
	color:#fff;
}
#contact .box .left h2{
	font-size:2.5em;
	line-height:1;
	font-weight:800;
	border-bottom:1px solid #fff;
	padding:0 0 10px 0;
}
#contact .box .left h3{
	font-size:1.1em;
	line-height:1;
	font-weight:700;
	padding:10px 0 0 0;
}
#contact .box .right{
	width: 75%;
	box-sizing: border-box;
	padding:160px 0 90px 40px;
	color:#fff;
	font-weight:600;
}
#contact .box .right .telbox {
	width:70%;
  display: flex;
}
#contact .box .right .telbox img {
  display: block; /* 不要な隙間を消す */
}
#contact .box .right img{
	width: 100%;
	height:auto;
	padding:30px 0 0 0;
}
#contact .box .right h4{
	font-size:1.7em;
	padding-bottom:30px;
	font-weight:800;
}
#contact .box .right .bg{
	font-size:1.5em;
	font-weight:800;
	
}
#contact .box .right a:link.btn{
	color: #fff;
	font-size:1.3em;
	font-weight:500;
	text-align: center;
	line-height: 75px;
	width:100%;
	box-sizing:border-box;
	max-width: 400px;
	height: 75px;
	background: #fff;
	margin: 50px 0;
	position: relative;
	display: block;
	overflow: hidden;
	transition: 0.5s;
	text-decoration: none;
	color:#e40065;
}
#contact .box .right a:link.btn,
#contact .box .right a:visited.btn{
	color:#e40065;
		background: #fff;

}
#contact .box .right a:hover.btn{
	transition: all .3s;
	background:#e40065;
	color:#fff;
}
@media (max-width:767px){
	#contact .box{
	display: block;
		width:90%;
}	
#contact .box .left{
	width: 100%;
	padding:30px 0 0 0;
	border-right:0px solid #fff;
}	
#contact .box .right{
	width: 100%;
	box-sizing: border-box;
	padding:30px 0;
}
#contact .box .right h4{
	font-size:1.5em;
	line-height:1.5;
	padding-bottom:20px;
	font-weight:800;
}
#contact .box .right img{
	width: 100%;
	height:auto;
	padding:30px 0 0 0;
}
	#contact .box .right a{
		width:100%;
		max-width:100%;
	}
#contact .box .right a:link{
	margin:30px 0 0 0;
}
#contact .box .right .telbox {
	width:100%;
	padding-top:30px;
  display: block; /* 不要な隙間を消す */
}
#contact .box .right .telbox img {
  display: block;
	margin:0 auto;
	width:80%;
	padding:5px 0;
}
#contact .box .right a:link.btn{
	max-width: 100%;
}
}
/* = Company Profile
-------------------------------------------------------------- */

#company_profile{
	width:95%;
	max-width:1200px;
	margin:0 auto;
	display: flex; 
	padding:110px 0 50px 0;
}
#company_profile .left{
	width:50%;
	padding:0 60px 0 0;
	box-sizing:border-box;
}
#company_profile .left h2{
	font-size:2.5em;
	line-height:1;
	font-weight:800;
	border-bottom:1px solid #000;
	padding:0 0 10px 0;
	color:#e40065;
}
#company_profile .left h3{
	font-size:1.1em;
	line-height:1;
	font-weight:700;
	padding:10px 0 20px 0;
}
#company_profile .right{
	width:50%;
	background:#f7f7f7;
	border-radius: 15px 0px 0px 0px;
	padding:30px;
	box-sizing:border-box;
}

.office-item {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 6px; /* 必要なら角丸 */
	text-decoration: none;
	border-radius: 10px 0px 0px 0px;
	margin:10px 0;
}

.office-item img {
	width: 100%;
	display: block;
}

.office-item .title {
	position: absolute;
	top: 10px;
	left: 10px;
	color: #fff;
	font-size: 1.1em;
	font-weight:600;
	padding: 3px 8px;
}

.office-item .icon {
	position: absolute;
	bottom: 0;
	right: 0;
	background: #e40065;
	color: #fff;
	font-size: 20px;
	padding: 8px;
	border-radius: 5px 0px 0px 0px;
}
#company_profile_link{
	width:100%;
	border-top:1px solid #000;
}
#company_profile_link .box{
	width:100%;
	max-width:1200px;
	margin:0 auto;
	display: flex;
}

/* 左右のカラム */
#company_profile_link .box .left,
#company_profile_link .box .right{
	width:50%;
	box-sizing:border-box;
	display: flex;
	flex-direction: column;
}

/* 左カラムの仕切り線 */
#company_profile_link .box .left{
	border-left:1px solid #dedede;
}

/* リンク全体をクリック可能に */
#company_profile_link .link-box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 60px 20px;
	border-bottom: 1px solid #dedede;
	text-decoration: none;
	color: #000;
	box-sizing: border-box;
}

#company_profile_link .link-box:hover {
	background: #f5e9ee;
	transition: all .3s;
}
/* 日本語 */
#company_profile_link .link-box .title {
	font-weight: bold;
	margin-right: 10px;
}

/* 英語 */
#company_profile_link .link-box .en {
	color: #e40065;
	font-size: 14px;
}

/* 矢印 */
#company_profile_link .link-box .arrow {
	margin-left: auto;
}

/* 右の沿革は高さ2倍 */
#company_profile_link .link-box.tall {
	flex: 1;	/* 親と同じ高さを占有 */
	display: flex;
	align-items: center; /* 垂直中央 */
}
@media (max-width:767px){
#company_profile{
	width:90%;
	display: block; 
	padding:40px 0;
}
#company_profile .left{
	width:100%;
	padding:0;
}	
#company_profile .right{
	width:100%;
}	
#company_profile_link .box{
	display: block;
}
#company_profile_link .box .left,
#company_profile_link .box .right{
	width:100%;
}
}
/* = お知らせ
-------------------------------------------------------------- */

#news{
	width:100%;
	background:#f7f7f7;
	padding:60px 0;
}
#news .box{
	width:90%;
	max-width:1200px;
	margin:0 auto;
	display: flex;
}
#news .box h2{
	color:#000;
	font-size:1.1em;
	font-weight:700;
}
#news .box h2 .titel{
	font-size:2.3em;
	font-weight:800;
	padding:0 20px 0 0;
	display: inline-flex; /* ← アニメーションのズレ防止 */

}
#news .box h2 .sub{
	padding:5px 0 0 20px;
	border-left:1px solid #000;
}
#news .box .left{
	width:25%;
	padding:35px 0 0 0;
}
#news .box .right{
	width:75%;
}
.news_box {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 35px 0;
	font-weight:500;
	border-bottom:1px dotted #000;
}
/* カテゴリー */
.news_box .categry {
	color: #e4007f;
	margin-right: 15px;
	padding: 5px 50px;
	white-space: nowrap;
	border:1px solid #e4007f;
	border-radius:8px;
	background:#fff;
	text-align:center;
	font-size:0.8em;
}

/* 日付 */
.news_box .day {
	color: #000;
	white-space: nowrap;
}

/* テキスト（タイトル部分） */
.news_box .text {
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}


.news_box .text a:link,
.news_box .text a:visited{
	color:#000;
  padding-bottom: 3px;
  background-image: linear-gradient(#e40065, #e40065);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 0 1px;
  transition: background-size 0.3s;
}

.news_box .text a:hover {
  background-position: bottom left;
  background-size: 100% 1px;
	color:#e40065;
	transition: all .3s;
}
#news .box .right .link{
	text-align:right;
	font-size:0.85em;
	font-weight:600;
	padding:30px 0 0 0;
}

#news .box .right .link a {
	text-decoration: none;
}
#news .box .right .link a:link,
#news .box .right .link a:visited{
	color:#000;
	padding-bottom: 3px;
	background-image: linear-gradient(#e40065, #e40065);
	background-repeat: no-repeat;
	background-position: bottom right;
	background-size: 0 1px;
	transition: background-size 0.3s;
}

#news .box .right .link a:hover {
	background-position: bottom left;
	background-size: 100% 1px;
	color:#e40065;
	transition: all .3s;
}
@media (max-width:767px){
#news{
	padding:0px 0 30px 0;
}
#news .box{
	display: block;
}	
#news .box h2 .titel{
	font-size:2em;
	font-weight:800;
	padding:0 20px 0 0;
}

#news .box .left{
	width:100%;
	padding:35px 0 0 0;
}
#news .box .right{
	width:100%;
}
/* カテゴリー */
.news_box .categry {
	display:none
	}
}
/* = ボタン
-------------------------------------------------------------- */
.btn{
	color: #fff;
	font-size:1em;
	font-weight:500;
	text-align: center;
	line-height: 75px;
	width:100%;
	max-width: 400px;
	height: 75px;
	background: #e40065;
	margin: auto;
	position: relative;
	display: block;
	overflow: hidden;
	transition: 0.5s;
	text-decoration: none;
	box-sizing:border-box;
	padding:0;
}

.btn:after {
	font-family: "FontAwesome";
	content: "\f054";
	position: absolute;
	right: 20px;
}

.btn:hover:after {
	animation: fuwafuwa 1s linear infinite;
}
a:link.btn,
a:visited.btn{
	color:#fff;
}
a:hover.btn{
	transition: all .3s;
	background:#940042;
}
@keyframes fuwafuwa{
 0%{transform:translateX(0)}
 50%{transform:translateX(-8px)}
 100%{transform:translateX(0)}
}

/* = 矢印
-------------------------------------------------------------- */

.arrow{
	position: relative;
	display: inline-block;
	padding: 0 0 0 25px;
	color: #fff;
	vertical-align: middle;
	text-decoration: none;
	font-size:18px;
}
.arrow::before,
.arrow::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.arrow::before{
	width: 20px;
	height: 20px;
	background: #e40065;
}
.arrow::after{
	left: 5px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* =サイドボタン
-------------------------------------------------------------- */
.side_btn {
	border:0px;
	padding: 0;
	position: fixed;
	right: 0;
	top: 30%;
	-webkit-animation-name:side;
	-webkit-animation-duration:2s;
	-webkit-animation-iteration-count:infinite;
	-webkit-animation-timing-function:ease;
	
	-moz-animation-name:side;
	-moz-animation-duration:2s;
	-moz-animation-iteration-count:infinite;
	-moz-animation-timing-function:ease;
	z-index:999;
}
.side_btn img{
	width:80px;
	height:auto;
}
@-webkit-keyframes side {
	0% {-webkit-transform:translate(0, 0);}
	50% {-webkit-transform:translate(0, -4px);}
	100% {-webkit-transform:translate(0, 0);}
}
@-moz-keyframes side {
	0% {-moz-transform:translate(0, 0);}
	50% {-moz-transform:translate(0, -4px);}
	100% {-moz-transform:translate(0, 0);}
}
/* =Content
-------------------------------------------------------------- */
#page_titel,
#page_titel_providing,
#page_titel_providing-thanks,
#page_titel_privacy-policy,
#page_titel_contact,
#page_titel_contact-thanks{
	width:100%;
	background:url(img/back-about.jpg);
	padding:90px 0;
	margin:80px 0 0 0;
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center center;
}
#page_titel_about{
	width:100%;
	background:url(img/back-about.jpg);
	padding:90px 0;
	margin:80px 0 0 0;
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center center;
}
#page_titel_service,
#page_titel_services-02,
#page_titel_services-event{
	width:100%;
	background:url(img/back-service.jpg);
	padding:90px 0;
	margin:80px 0 0 0;
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center center;
}
#page_titel_advertisement,
#page_titel_advertisement-thanks,
#page_titel_livingnewspaper,
#page_titel_achievements{
	width:100%;
	background:url(img/back-livingnewspaper.jpg);
	padding:90px 0;
	margin:80px 0 0 0;
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center center;
}
#page_titel h2,
#page_titel_advertisement h2,
#page_titel_advertisement-thanks h2,
#page_titel_providing h2,
#page_titel_providing-thanks h2,
#page_titel_privacy-policy h2,
#page_titel_contact h2,
#page_titel_contact-thanks h2,
#page_titel_about h2,
#page_titel_service h2,
#page_titel_services-02 h2,
#page_titel_services-event h2,
#page_titel_livingnewspaper h2,
#page_titel_achievements h2{
	text-align:center;
	font-size:2.2em;
	font-weight:700;
}
@media (max-width:767px){
#page_titel,
#page_titel_advertisement,
#page_titel_advertisement-thanks,
#page_titel_providing,
#page_titel_providing-thanks,
#page_titel_privacy-policy,
#page_titel_contact,
#page_titel_contact-thanks,
#page_titel_about,
#page_titel_service,
#page_titel_services-02,
#page_titel_services-event,
#page_titel_livingnewspaper,
#page_titel_achievements{
	padding:40px 0;
	margin:50px 0 0 0;
}
#page_titel h2,
#page_titel_advertisement h2,
#page_titel_advertisement-thanks h2,
#page_titel_providing h2,
#page_titel_providing-thanks h2,
#page_titel_privacy-policy h2,
#page_titel_contact h2,
#page_titel_contact-thanks h2,
#page_titel_about h2,
#page_titel_service h2,
#page_titel_services-02 h2,
#page_titel_services-event h2,
#page_titel_livingnewspaper h2,
#page_titel_achievements h2{
	text-align:center;
	font-size:1.6em;
	font-weight:700;
	line-height:60px;
}
	
}
/* =概要
-------------------------------------------------------------- */
#gray{
	width:100%;
	background:#f7f7f7;
}
#gray .about {
	width:90%;
	max-width:900px;
	margin:0 auto;
	padding:50px 0 80px 0;
}
#gray .about ul{
	width:100%;
	margin:0 auto;
	padding:0;
	display:flex;
	flex-wrap:wrap;
}
#gray .about ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}

#gray .about ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	width: 50%;
	box-sizing: border-box;
	padding:0 30px 0 0;
	margin:0;
	border-right:1px solid #000;

}
#gray .about ul li h5{
	font-size:1.3em;
	font-weight:600;
	padding:0 0 0 1em;
}
#gray .about ul li:last-child{
	border-right:0px;
	padding:0 0 0 30px;
}
#gray .about ul li img{
	width:100%;
	height:auto;
	margin-bottom:50px;
}
/* =会社概要ページ
-------------------------------------------------------------- */
.commnt{
	width:100%;
	display: flex;
	padding-bottom:80px;
}
.commnt .photo{
	width:30%;
	text-align:center;
}
.commnt .photo　img{
	max-width:270px;
	height:auto;
	width:100%;
	margin-bottom:30px;
}
.commnt .text{
	width:70%;
	padding:0 0 0 30px;
	box-sizing:border-box;
	font-size:1.1em;
	line-height:2;
}

.timeline {
	width:100%;
}
.timeline table{
	border:0px;
	width:100%;
}
.timeline th{
	border:0px;
	width:3em;
	font-size:1.3em;
	font-weight:900;
	vertical-align:top;
	color:#e40065;
	padding:20px 0;
	box-sizing:border-box;
}
.timeline td {
	border:0px;
	vertical-align:top;
}

.timeline td.maru {
	color:#e40065;
	font-size:1.8em;
	text-align:center;
	background:url(img/t_bar.png);
	background-repeat:repeat-y;
	background-position:center center;
	padding:20px 0;
	box-sizing:border-box;
	width:50px;
}
.timeline td.days h3{
	color:#e40065;
	font-size:1.2em;
	font-weight:600;
	margin:0;
	padding:0;
}
.timeline td.days {
	width:auto;
	padding:20px;
	box-sizing:border-box;
}
.timeline td table {
	margin:0;
}
.timeline td.text {
	padding:0 2em 0 0;
	box-sizing:border-box;
}
.timeline td.photo {
	width:200px;
	padding:20px 0;
	box-sizing:border-box;
}
.timeline td img{
	width:100%;
	max-width:200px;
	height:auto;
}

.aboutmap img{
	width:100%;
	max-width:1000px;
	height:auto;
	display:block;
	margin:0 auto 50px auto;
}
.aboutmap .midashi{
	font-size:1.2em;
	font-weight:800;
	line-height:1.5;
}
.red{
	font-weight:900;
	color:#e40366;
	font-size:1.5em;
}
.pink{
	color:#e40366;
}


@media (max-width:767px){
.aboutmap .midashi .kg{
	display:block;
}
.commnt{
	display: block;
	padding-bottom:80px;
}
.commnt .photo{
	width:50%;
	margin:0 auto 30px auto;
}
.commnt .photo　img{
	margin-bottom:30px;
}
.commnt .text{
	width:100%;
	padding:0 0 0 0;
}
#gray .about ul li {
	float: none;
	list-style-type: none;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	padding:20px 0;
	margin:0;
	border-right:0px solid #000;
}
#gray .about ul li h5{
	font-size:1.3em;
	font-weight:600;
	padding:20px 0;
}
#gray .about ul li:last-child{
	padding:0 0 0 0;
}
#gray .about ul li img{
	width:100%;
	height:auto;
	margin-bottom:20px;
}
.timeline {
	width:100%;
}

.timeline td table {
	margin:0;
}
.timeline td table td{
	display:block;
}
.timeline td.text {
	padding:0 0 0 0;
	box-sizing:border-box;
}
.timeline td.photo {
	width:100%;
	padding:20px 0;
	box-sizing:border-box;
}
.timeline td.photo img{
	width:100%;
	}
}

/* PC用：スマホ以外はsummary非表示、常に表示 */
@media (min-width: 768px) {
  .readmore summary {
    display: none;
  }
  .readmore p {
    display: block;
	  margin:0;
	  padding:0;
  }
}
@media (max-width:767px) {
  .readmore summary {
    cursor: pointer;
    padding: 12px 16px;       /* タップしやすい余白 */
    background-color: #f0f0f0; /* 背景色で押せることを示す */
    border-radius: 8px;
    font-weight: bold;
    font-size: 16px;
    list-style: none;          /* デフォルトの三角を消す場合 */
    display: flex;
    align-items: center;
    justify-content: space-between;
	 margin:30px 0;
  }

  /* デフォルトの三角を残す場合は不要 */
  .readmore summary::-webkit-details-marker {
    display: none;
  }

  /* 矢印アイコンを追加 */
  .readmore summary::after {
    content: "▼";              /* 閉じているときの矢印 */
    transition: transform 0.3s;
  }

  /* 開いた時に矢印を回転 */
  .readmore[open] summary::after {
    transform: rotate(-180deg);
  }
}




/* =リビング新聞について
-------------------------------------------------------------- */
.livingnewspaper{
	width:90%;
	max-width:1200px;
	margin:0 auto;
	padding:50px 0;
}

.livingnewspaper .titel_sub{
	font-size:2em;
	line-height:1.5;
	font-weight:700;
	padding-bottom:50px;
}
.tuyomi h3{
	text-align:center;
	font-size:2.1em;
	line-height:1.5;
	font-weight:700;
}
.tuyomi .text{
	width:95%;
	max-width:700px;
	margin:0 auto;
	font-weight:500;
	padding:30px 0 100px 0;
}

.tuyomi ul{
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
}
.tuyomi ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}

.tuyomi ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	width:31%;
	box-sizing: border-box;
	padding:30px;
	margin:1%;
	background:#fff;
	border-radius:10px;
	font-weight:500;
}
.tuyomi ul li h4{
	color:#e40065;
	font-size:1.2em;
	font-weight:700;
	padding-bottom:20px;
}

.pricebox {
	width:90%;
	max-width:1200px;
	margin:0 auto;
	padding:30px 0;
}
.g_back .pricebox {
	width:90%;
	max-width:1200px;
	margin:0 auto;
	padding:40px 0;
}
.pricebox h4,
.contact_page h4{
	border-left:7px solid #e40065;
	padding:0 0 0 10px;
	font-size:1.8em;
	line-height:1.5;
	font-weight:700;
	margin:30px 10px;
	box-sizing:border-box;
}
.pricebox h5{
	background:#e40065;
	display:inline-block;
	color:#fff;
	font-size:1.6em;
	font-weight:700;
	padding:0 15px;
	line-height:2;
	margin:50px 0 30px 0;
}
.pricebox h5 span{
	font-size:0.7em;
}
.pricebox p{
	padding:0 2em;
	font-size:1.1em;
	box-sizing:border-box;
}
.pricebox ul{
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
}
.pricebox ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}

.pricebox ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	width: 50%;
	box-sizing: border-box;
	padding:0 20px;
	margin:0;
	font-size:1.1em;
}
.pricebox ul li img{
	width:100%;
	height:auto;
}
.pricebox ul li h5,
.pricebox h5.subtitel{
	background:initial;
	display:block;
	color:#000;
	font-size:1.3em;
	font-weight:700;
	padding:0 0;
	line-height:2;
	margin:15px 0;
}
.pricebox h5.subtitel{
	border-bottom:1px solid #000;
	padding:20px 0 5px 0;
	margin:0 0 15px 0;
}
.pricebox .g_back{
	width:100%;
	margin:0 auto;
	padding:20px 20px 40px 20px;
	box-sizing:border-box;
}
.pricebox .tyuui{
	box-sizing: border-box;
	padding:0 20px;
	font-size:14px;
	line-height:1.7;
}
/* CSS */
:root{
  --accent-pink: #e61c5a;    /* 金額のピンク */
  --muted-gray: #777;
  --badge-border: #cfcfcf;
  --gap: 24px;
  --font-sans: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Arial", sans-serif;
}

.price-row{
  display: flex;
  align-items: center;
  gap: var(--gap);
  font-family: var(--font-sans);
  white-space: nowrap;
	padding: 10px 0;
}

/* 丸バッジ */
.badge{
  width: 72px;
  height: 72px;
  border-radius: 50%;
  border: 2px solid var(--badge-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 16px;
  box-sizing: border-box;
  padding: 8px;
	background:#fff;
}

/* 小さい説明テキスト */
.meta .label{
  font-size: 18px;
  font-weight: 500;
}

/* 金額部分 */
.price-area{
  display: flex;
  align-items: baseline;
  gap: 8px;
}

/* 大きい金額 */
.price{
  font-size: 44px;
  font-weight: 800;
  color: var(--accent-pink);
  line-height: 1;
}

/* 円や補助文字 */
.yen{
  font-size: 22px;
  font-weight: 700;
  margin-left: 6px;
  vertical-align: baseline;
  color: var(--accent-pink);
}

/* （税別）等の小さい注記 */
.note{
  font-size: 14px;
  margin-left: 6px;
}

.schedule{
	padding:0 0 50px 0;
}
.schedule ul {
	display:flex;
	flex-wrap:wrap;
}
.schedule ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}
.schedule li img{
	width:100%;
	height:auto;
}
.schedule li:first-child{
	border-right:1px solid #000;
	padding:0 40px 0 0;
	width:40%;
}

.schedule li:last-child{
	padding:0 0 0 40px;
	width:60%;
}
.indent{
  padding-left: 1em;
  text-indent: -1em;
}
.link{
	width:100%;
	max-width:900px;
	margin:0 auto 50px auto;
}
.link li{
	padding:0 20px;
	width:50%;
}
.link li .fa-file-pdf{
	font-size:1.8em;
	padding-right:10px;
}
.pricebox h5.white{
	background:#fff;
	border:1px solid #000;
	display:inline-block;
	color:#000;
	font-size:1.3em;
	font-weight:600;
	padding:0 15px;
	line-height:1.8;
	margin:10px;
}
.pricebox .rei ul {
	display:flex;
	flex-wrap:wrap;
}
.pricebox .rei ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}
.pricebox .rei ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	width: 50%;
	box-sizing: border-box;
	padding:0 10px;
	margin:0;
}
.pricebox .rei img{
	width:100%;
	height:auto;
	border-radius:10px;
	border:1px solid #000;
}
.rei dl {
  display: flex;
  flex-wrap: wrap; /* 折り返したいとき */
	margin:10px 0;
}
.rei dt {
	width: 50%;
	font-weight:500;
	color:#fff;
	border-radius: 5px 0px 0px 5px;
	box-sizing:border-box;
	padding:5px 10px;
	font-size:0.9em;
}
.rei dd {
	flex: 1;       /* 右カラムを残り全部広げる */
	margin: 0;     /* ブラウザ標準の余白を消す */
	font-weight:500;
	color:#000;
	border-radius: 0px 5px 5px 0px;
	box-sizing:border-box;
	padding:5px 10px;
	font-size:0.9em;
}
.pricebox dt.pink {background:#ff3083;}
.pricebox dd.pink {background:#ffb5d3;}
.pricebox dt.yellow {background:#f8a000;}
.pricebox dd.yellow {background:#fbd185;}
.pricebox dt.green {background:#46c400;}
.pricebox dd.green {background:#c6f4ad;}
.pricebox dt.blue {background:#00b3ff;}
.pricebox dd.blue {background:#ade7ff;}

.pricebox .websuji li{
	display: block;
	float: left;
	list-style-type: none;
	text-align: center;
	width: 23%;
	box-sizing: border-box;
	padding:20px;
	background:#fff;
	border-radius:10px;
	margin:1%;
	font-weight:700;
}
.pricebox .websuji li i{
	font-size:2.5em;
	padding:10px 0 20px 0;
	display:block;
	color:#555;
}
.websujisub{
	font-size:1.8em;
	font-weight:900;
	padding-top:10px;
	color:#e40065;
}
.pricebox .websuji li img{
	width:100%;
	height:auto;
}
.haifu_map {
  width: 100%;
  margin: 0 auto;
  background: #f3f3f3;
  position: relative;
  overflow: hidden; /* はみ出し防止 */
}

.haifu_map .map {
  position: absolute;
  width: 50%;
  right: 0;
  top: 0;
  height: 100%; /* コンテナの高さに合わせる */
}

.haifu_map .map img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;       /* 高さと幅に合わせる */
  object-position: center; /* 画像の中心を表示 */
}

.haifu_map .text {
  width: 50%;
  margin: 0;
  padding: 50px 0;
  position: relative;
  text-align: left; /* 左揃え */
}
.haifu_map .text h5{
	font-size:1.5em;
	font-weight:500;
	padding:0 0 40px 0;
}
.linkbox {
	width:100%;
	margin:0 auto;
}
.linkbox ul{
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
}
.linkbox ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}

.linkbox ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	width: 50%;
	box-sizing: border-box;
	padding:10px;
	margin:0;
	font-size:0.9em;
	line-height:1.5;
}
.linkbox ul li a.btn{
	width:90%;
	margin:0 auto;
	height:50px;
	line-height:50px;
	font-size:1.2em;
}
.recruit-box {
	width:90%;
  max-width: 700px;
  margin: 50px auto;
	border-radius:8px;
	border: 2px solid #e40065;
	border-radius:8px;
}
.recruit-box table,
.recruit-box td{
	border:0px;
	margin:0;
}
.recruit-box td{
	width:50%;
}
.recruit-box td.right{
  border-left: 1px solid #e40065;

}
.recruit-box .item {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  color: #e40065;
  font-weight: bold;
  text-decoration: none;
  position: relative;
  border-radius: 0; /* 角丸なし */
  height: 75px;      /* 高さを固定 */
  line-height: 75px; /* テキストの縦位置合わせ */
}

.recruit-box .label {
  flex: 1;
  text-align: left;
  line-height: normal; /* line-heightリセット（align-items:centerで縦中央にする） */
}

.recruit-box .arrow {
  margin-left: auto;
}

/* hover時 → 背景は変えず矢印だけ動かす */
.recruit-box .item:hover .arrow {
  animation: fuwafuwa 1s linear infinite;
}
@keyframes fuwafuwa {
  0%   { transform: translateX(0); }
  50%  { transform: translateX(5px); }
  100% { transform: translateX(0); }
}
.yotei-box{
	padding:30px 0 0 0;
	text-align:center;
	font-size:1.3em;
	font-weight:600;
}
.yotei-box h6{
	text-align:center;
	font-size:1em;
	font-weight:600;
	color:#e40065;
}
.p_bare{
	border-bottom:2px solid #e40065;
}
.slidephoto img{
	width:100%;
	height:auto;
}
.web_g_back {
	padding:0 20px 20px 20px;
	box-sizing:border-box;
}
.tanka_box{
	border:1px solid #555;
	background:#fff;	
	padding:10px 20px;
	box-sizing:border-box;
	margin:20px 0;
}
.tanka{
	font-size:1.1em;
	font-weight:700;
	padding:10px 0;
}
.download-list {
	width:90%;
	margin:0 auto;
	padding:0 0 50px 0;
}

.download-list ul{
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
}
.download-list ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}

.schedule-list {
  list-style: none;
  padding: 0 0 0 0;
  margin: 0;
}

.schedule-list li {
  position: relative;
  border-bottom: 1px solid #ddd;
  margin: 1% 0;
  font-size: 1.1em;
  padding: 20px 20px 20px 50px; /* 左にアイコン分の余白 */
  line-height: 1.6;
  width: 100%;
  box-sizing: border-box;      /* padding込みで幅を計算 */
  word-break: break-word;       /* 長い単語も折り返す */
  overflow-wrap: break-word;    /* 念のため補助 */
}

.schedule-list li::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f14a"; /* fa-square-check */
  position: absolute;
  left: 20px;
  top: 50%;                      /* li の中央基準 */
  transform: translateY(-50%);   /* 縦中央寄せ */
  color: #e40065;
  font-size: 1.1em;              /* ← li の文字サイズとほぼ同じに */
  line-height: 1;                /* アイコン自体の行高をリセット */
}


/* モバイル対応 */
@media (max-width: 767px){
.livingnewspaper{

	padding:30px 0;
}
.livingnewspaper .titel_sub{
	font-size:1.6em;
	line-height:1.5;
	font-weight:700;
	padding-bottom:0;
}
.tuyomi h3{
	text-align:center;
	font-size:1.5em;
	font-weight:700;
}
.tuyomi .text{
	padding:30px 0 30px 0;
}

.tuyomi ul li {
	float: none;
	width:100%;
	padding:30px;
	margin:1% 0;
}
.pricebox h4,
.contact_page h4{
	padding:0 0 0 10px;
	font-size:1.5em;
	line-height:1.5;
	margin:30px 10px;
}
.pricebox h5{
	display:inline-block;
	font-size:1.3em;
	padding:0 15px;
	line-height:2;
	margin:50px 0 30px 0;
}

.pricebox ul li,
.schedule li{
	float: none;
	width: 100%;
	padding:20px;
}	
.pricebox .g_back{
	width:100%;
	margin:0 auto;
	padding:0 0 20px 0;
	box-sizing:border-box;
}

  .price-row{
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
  }
  .badge{
    width: 56px;
    height: 56px;
    font-size: 14px;
  }
  .meta .label{
    font-size: 16px;
  }
  .price{
    font-size: 34px;
  }
  .yen{
    font-size: 18px;
  }
.pricebox ul li h5,
.pricebox h5.subtitel{
	font-size:1.2em;
	font-weight:700;
	line-height:2;
	margin:15px 0;
}

.pricebox .rei ul li {
	float: none;
	width: 100%;
	padding:10px;
}
.schedule li:first-child{
	border-right:0px solid #000;
	border-bottom:1px solid #000;
	padding:20px;
	width:100%;
}

.schedule li:last-child{
	padding:20px;
	width:100%;
	line-height:1.8;
}
.schedule li img{
	width:90%;
	display:block;
	margin:0 auto 30px auto;
	height:auto;
}
.pricebox .websuji li{
	float: none;
	width: 48%;
	padding:10px;
	margin:1%;
}
.websujisub{
	font-size:1.5em;
	line-height:1.5;
}
.pricebox .websuji li span{
	display:block;
}

.haifu_map {
  position: initial;
  height: auto;
}
.haifu_map .map {
	width:100%;
  position: initial;
  right: initial;
  top: initial;
  height: auto;
}

.haifu_map .map img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: initial;
  object-position: initial;
}

.haifu_map .text {
  width: 100%;
  margin: 0;
  padding: 0px 0 0 0;
  position: initial;
}
.haifu_map .text h5{
	font-size:1.3em;
	padding:0 0 40px 0;
}
.linkbox ul li {
	display: block;
	float: none;
	list-style-type: none;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	padding:10px;
	margin:0;
	font-size:0.9em;
	line-height:1.5;
}
.recruit-box {
	width:90%;
  margin: 0 auto;

}
.recruit-box td{
	border:0px;
	margin:0;
	display:block;
	width:100%;
}
.recruit-box td.right{
  border-left: 0px solid #e40065;
  border-top: 1px solid #e40065;
}
  .schedule-list li::before {
    content: "";             /* アイコン非表示 */
    left: 0;                 /* ライン用に左端 */
    top: 0;
    bottom: 0;
    width: 3px;              /* 縦ラインの太さ */
    background-color: #e40065; /* ラインの色 */
    position: absolute;
    transform: none;
  }

  .schedule-list li {
    padding-left: 20px;      /* アイコン分の余白を削除して調整 */
  }
}



/* =イベント
-------------------------------------------------------------- */
.eventbox{
	padding:50px 0 0 0;
}
.eventbox h5{
	background:#e40065;
	display:inline-block;
	color:#fff;
	font-size:1.6em;
	font-weight:700;
	padding:0 15px;
	line-height:2;
	margin:50px 0 30px 0;
}
.eventbox ul,
.tetote ul{
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
}
.eventbox ul:after,
.tetote ul:after{
	  content: "";
	  clear: both;
	  display: block;
	}
.eventbox ul li{
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	width: 50%;
	box-sizing: border-box;
	padding:0;
	margin:0;
	font-weight:500;
}
.eventbox ul li img{
	width:90%;
	height:auto;
	display:block;
	margin:50px 0 0 auto;
	border-radius: 0px 20px 0px 0px;
}
.eventbox ul li p{
	padding:0 20px;
	box-sizing: border-box;
	margin:0;
}
.eventbox_sub{
	background:#f3f3f3;
	padding:30px;
	box-sizing:border-box;
	margin:20px 0 0 0;
	font-weight:400;
}

.orikomibox .g_back{
	padding:30px;
	box-sizing:border-box;
}
.orikomibox .g_back h4{
	font-size:1.5em;
	font-weight:700;
	margin:0 0 10px 0;
}
.orikomibox .g_back ul {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
.orikomibox .g_back ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}
.orikomibox .g_back ul li{
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	box-sizing: border-box;
	padding:30px;
	margin:2%;
	width:46%;
	background:#fff;
	border-radius:8px;
}
.orikomibox .g_back ul li h5{
	font-size:1.3em;
	font-weight:500;
	color:#e40065;
}
.tetote ul {
	display:flex;
	flex-wrap:wrap;
}
.tetote ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}
.tetote ul li{
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	box-sizing: border-box;
	padding:0;
	margin:0;
}
.tetote ul li.table{
	width:70%;
}
.tetote ul li.table img{
	max-width:200px;
	height:auto;
}
.tetote ul li.photo{
	width:30%;
}
.tetote ul li.table img{
	max-width:200px;
	height:auto;
}
.tetote ul li.photo img{
	width:70%;
	height:auto;
	display:block;
	margin:0 auto;
}
.kakobox {
	width:100%;
	max-width:1200px;
	margin:0 auto;
	padding:0 0 80px 0;
}
.kakobox ul {
	display:flex;
	flex-wrap:wrap;
}
.kakobox ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}
.kakobox ul li{
	display: block;
	float: left;
	list-style-type: none;
	text-align: center;
	box-sizing: border-box;
	padding:20px;
	margin:0;
	width:33%;
}
.kakobox ul li img{
	width:100%;
	display:block;
height: 250px; /* トリミングしたい高さ */
  object-fit: cover; /* 余白なくトリミング */
  object-position: center; /* 中央を基準に */
}
@media (max-width:767px){
.eventbox ul li {
	float: none;
	width:100%;
}	
.eventbox h5{
	font-size:1.3em;
	margin:40px 0 30px 0;
}
.eventbox ul li img{
	width:100%;
	height:auto;
	display:block;
	margin:50px auto;
	border-radius: 0px 20px 0px 0px;
}
.kakobox ul li{
	display: block;
	float: none;
	list-style-type: none;
	text-align: center;
	box-sizing: border-box;
	padding:20px 10px;
	margin:0;
	width:50%;
	font-size:0.8em;
}
.orikomibox .g_back ul li{
	float: none;
	padding:20px;
	margin:2% 0;
	width:100%;
}
.tetote ul li{
	float: none;
}
.tetote ul li.table{
	width:100%;
}
.tetote ul li.table img{
	max-width:200px;
	height:auto;
	display:block;
	margin:0 auto;
}
.tetote ul li.photo{
	width:100%;
}
.tetote ul li.table img{
	max-width:200px;
	height:auto;
}
.tetote ul li.photo img{
	max-width:200px;
	height:auto;
	display:block;
	margin:0 auto;
}
}


.contact_page{
	padding:50px 0;
	width:90%;
	max-width:1200px;
	margin:0 auto;
}

.privacy-policy{
	padding:50px 0;
}
.privacy-policy-box{
	padding:30px;
	box-sizing:border-box;
	background:#f5f5f5;
	margin:30px 0 0 0;
}
.download-list {
	width:90%;
	margin:0 auto;
	padding:0 0 50px 0;
}
.download-list ul{
	margin:0;
	padding:0;
}

.download-list {
  list-style: none;
  padding: 0;
  margin: 0 0 80px 0;
}

.download-list li {
  border-bottom: 1px solid #ddd;
  margin: 1% 0;
  font-size: 1.1em;
	width:100%;
}

.download-list li a {
  display: block;              /* リンク全体をブロック化 */
  position: relative;
  padding: 20px 20px 20px 40px; /* 左に余白（アイコン分） */
  color: #bc0000;
  text-decoration: none;
  line-height: 1.6;            /* 行間は少し狭めに調整可 */
}

.download-list li a::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f14a"; /* fa-square-check */
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: #555;
  font-size: 1.2em;
}

.download-list li a:hover {
  color: #6f0031;
  transition: all .3s;
}

table {
	border: 1px solid #ddd;
	width: 100%;
}
table thead {
	background: #eee;
}
table th {
	font-weight: bold;
}
table td {
	border: 1px solid #ddd;
}
#main-content ul , #main-content ol {margin: 10px 0 10px 15px;}
#main-content ul li {list-style-type: square;}
#main-content ol li {list-style-type: decimal;}
#main-content li li {margin-left: 25px;}
#main-content p {margin: 10px 0;}

/* images and captions */


img.centered {
	display: block;
	margin: 10px auto;
}
img.alignright {
	padding: 4px;
	margin: 0 0 2px 7px;
	display: inline;
}
img.alignleft {
	padding: 4px;
	margin: 0 7px 2px 0;
	display: inline;
}
.wp-caption {
	border: 1px solid #ccc;
	padding-top: 4px;
	text-align: center;
	margin: 10px 0;
	max-width: 550px;
	height: auto;
}
.wp-caption img {
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
}
.wp-caption .wp-caption-text {
	margin: 0;
	line-height: 15px;
}
.wp-caption.alignright {
	margin: 10px 0 10px 10px;
}
.wp-caption.alignleft {
	margin: 10px 10px 10px 0;
}
.gallery-caption {

}

/* classes */

.clear {
	clear: both;
}
.center {
	text-align: center;
}
.hidden {
	display: none;
}
.justify {
	text-align: justify;
}


.post-spt {
	border-top: 1px dashed #ccc;
	margin-bottom: 15px;
}
.post-meta {
	background: #eee;
	margin: 10px -10px;
	padding: 2px 10px;
}
.post-tag {
	margin: 10px 0;
}
.sticky {
	background: #f6f6f6;
	border: 0px solid #ccc;
	margin: -10px -10px 10px -10px;
	padding: 0 10px;
}
.sticky .post-meta {
	background: transparent;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}
p.page-link span {
	border: 1px solid #ccc;
	padding: 3px 8px;
}
p.page-link a:hover {
	text-decoration: none;
}
.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.alignleft {
	float: left;
}
.alignright {
	float: right;
}
.page .nocomments {
	display: none;
}
.bypostauthor .fn {
	font-weight: bold;
}

/* widget */

.widget {
	margin-bottom: 15px;
}
.widget_calendar table {
	text-align: center;
	width: 100%;
}
.widget_calendar caption {
	font-size: 1.5em;
	margin-bottom: 10px;
	text-align: center;
}
.widget_calendar thead th {
	background: #eee;
	border: 1px solid #ddd;
	font-weight: bold;
	text-align: center;
}
.widget_calendar td {
	border: 1px solid #ddd;
}
#today {
	background: #eee;
}
.search-form label span{
	display: none;
}
/* アーカイブ */


.archive-list ul{
	margin:0;
	padding:0;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
.archive-list ul:after {
	  content: "";
	  clear: both;
	  display: block;
	}
.archive-list ul li {
	display: flex;
	flex-direction: column;
	list-style-type: none;
	text-align: left;
	width: 48%;
	box-sizing: border-box;
	padding:0;
	margin:1%;
	border:1px solid #ddd;
	font-size:0.9em;
	line-height:1.5;
	font-weight:500;
}
.archive-list ul li img{
	width:100%;
	height:auto;
}
.archive-list ul li a {
    flex: 1;              /* liの高さにフィットさせる */
    display: flex;
    flex-direction: column;
    color: #000;
    text-decoration: none;
}
.archive-list ul li a:link,
.archive-list ul li a:visited{
	color:#000;
	display:block;
}
.archive-list ul li a:hover{
	background:#fde9f2;
	transition: all .3s;
}
.archive-content h3{
	font-size:1.2em;
	font-weight:700;
	margin-bottom:5px;
	line-height:1.5;
	padding:15px 0 5px 0;

}
.archive-content {
    display: flex;
    flex-direction: column;
    height: 100%; 
    padding: 0 15px 15px 15px;
    box-sizing: border-box;
}

.archive-excerpt {
    flex-grow: 1;
}

.archive-meta {
    display: flex;
    justify-content: space-between;
    font-size: 0.9em;
}
.archive-date,
.archive-cat {
    position: static;
	border-bottom:1px solid #fff;
	background:#eee;
	width:50%;
	padding:5px 10px;
	box-sizing:border-box;
}
.archive-cat{
	text-align:right;
	border-left:1px solid #fff;
	box-sizing:border-box;
}
@media (max-width:767px){
.archive-list ul li {
	display: block;
	flex-direction: column;
	list-style-type: none;
	text-align: left;
	width: 98%;
	box-sizing: border-box;
	padding:0;
	margin:2% 1%;
	border:1px solid #ddd;
	font-size:0.9em;
	line-height:1.5;
	font-weight:500;
}		
}
/* navigation */
.pager{
	width:90%;
	max-width:1200px;
	margin:0 auto;
}
.pager__list {
    display: flex;
    justify-content: space-between;
	width:70%;
	margin-bottom:50px;
	font-size:0.9em;
	font-weight:700;
}

.pager__item {
  flex: 1;          /* 均等に伸びる */
  text-align: center;
}
.pager__item.prev {
    text-align: left;   /* 前の記事は左寄せ */
}

.pager__item.next {
    text-align: right;  /* 次の記事は右寄せ */
}

	@media (max-width:767px){
.pager__list {
	width:100%;
	margin:50px 0;
}		
	}	
	
.post-navigation h2 {
	display: none;
}

.nav-previous {
	float: left;
}
.nav-next {
	float: right;
}
a.more-link:link,
a.more-link:visited {
	float: right;
	margin-bottom: 10px;
}

/* pagination */

.pagination h2 {
	display: none;
}
.pagination .nav-links * {
	background: #eee;
	border: 1px solid #ccc;
	display: inline-block;
	line-height: 25px;
	padding: 0 10px;
}
.pagination .current,
.pagination .dots {
	background: transparent;
}
/* 入力欄 */
.cf-area {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
  padding-bottom: 10px;        /* 下線とテキストの間隔 */
  border-bottom: 1px solid #ccc;
}

.cf-area dt,
.cf-area dd {
  margin: 0;
}

.cf-area dt {
  flex: 0 0 200px;
}

.cf-area dd {
  flex: 1;
}

.cf-area dd p {
  margin: 0;
}

/* スマホ対応 */
@media (max-width: 767px) {
  .cf-area {
    display: block;
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }

  .cf-area dt {
    width: auto;
    margin-bottom: 5px;
  }

  .cf-area dd {
    width: auto;
  }
}

/* 入力欄 */
.cf-area input, .cf-area textarea {
  width: 100%;
  padding: 0.8em;
  border: none;
  background-color: #e6e6e6;
  font-size: 16px;
	resize: vertical;
	transition: all .3s;
	box-sizing:border-box;
}

.cf-area input:focus,.cf-area textarea:focus {
	outline: none;
	background: #dde2e9;
}

.cf-required {
	background: #b91e23;
	color: #fff;
	font-size: 0.8em;
	padding: 0 5px 2px;
	border-radius: 2px
}

.cf-send input {
	display: block;
	background:#e40065;
	width: 300px;
	height: 60px;
	margin: 30px auto 0;
	border: none;
	border-radius: 10px;
	color: #fff;
	font-size: 1.3em;
	font-weight: bold;
	transition: all .3s;
}

.cf-send input:hover {
	filter: brightness(1.25);
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	background-color: #fce3e3;
	border: none;
	text-align: center;
}
.wpcf7 select {
  width: 100%;
	padding:20px;
	box-sizing:border-box;
	font-size:1em;
-webkit-appearance: none;
  appearance: none;
}
.contact7{
	width:100%;
	max-width:800px;
	margin:0 auto;
	padding:50px 0 0 0;
}

/* --------------------
   スマホ対応
-------------------- */
@media screen and (max-width: 767px) {
.main-content-voice {
	margin: 0 auto;
	padding: 50px 0;
	width: 90%;
	max-width:1200px;
}

.contact7{
	width:100%;
	max-width:100%;
	margin:0 auto;
}
}


.iedukuri{
	width:90%;
	max-width:700px;
	margin:0 auto;
	padding:30px 0;
}
.iedukuri img{
	width:100%;
	height:auto;
}

#mobileFootNav { display:none; }
@media only screen and (max-width: 767px) {


 #mobileFootNav {
    display: flex;               /* float ではなくflexで横並び */
    justify-content: space-between; 
    align-items: center;         /* 縦中央揃え */
    z-index: 1030;
    width: 100%;
    height: 60px;
    position: fixed;
    bottom: 0;
    padding: 0;              /* 左右少し余白 */
    box-sizing: border-box;
  }

  #mobileFootNav .ftNavBtn {
    width: 60%;
    height: 60px;
    margin: 0;
  }

  #mobileFootNav .ftNavBtn02 {
    width: 40%;                  /* margin分を減らして収まるよう調整 */
    height: 60px;
    margin: 0;
  }

/* ボタンデザイン */
a.blueButton {
	background:#e50065;
	display:block;
	cursor:pointer;
	color:#fff;
	text-decoration:none;
	font-size:1.2em;
	line-height:60px;
	font-weight:500;
	width:100%;
	text-align:center;
	vertical-align:middle;
	box-sizing:border-box;
    border-top: 1px solid #e50065;
    border-right: 1px solid #e50065;
}
a.blueButton:hover {
	background:#940042;
	text-decoration:none;
	transition: all .3s;
}
a.blueButton:active { position:relative; top:1px; }
}
a.blueButton02 {
	background:#fff;
	display:block;
	cursor:pointer;
	color:#e50065;
	text-decoration:none;
	font-size:1.2em;
	line-height:60px;
	font-weight:500;
	width:100%;
	text-align:center;
	vertical-align:middle;
	box-sizing:border-box;
    border-top: 1px solid #e50065;
}
a.blueButton02:hover {
	background:#940042;
	color:#fff;
	text-decoration:none;
	transition: all .3s;
}
a.blueButton02:active { position:relative; top:1px; }
}
summary {
  cursor: pointer;
  font-weight: bold;
}
details[open] summary {
  color: #0078d7; /* 開いてるときに色変更 */
}
