/*------------------------------------------------------------------------------
  PC or ALL
------------------------------------------------------------------------------*/
/* テンプレート */
.list-flow-type02 {
  position: relative;
}
.list-flow-type02:after {
  content: "";
  position: absolute;
  top: 0;
  left: 100px;
  width: 12px;
  height: 100%;
  background: var(--main-color);
  opacity: 0.2;
  z-index: 0;
}
.list-flow-type02 > ul > li {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 0 0 50px 0;
}
.list-flow-type02 > ul > li .icon {
  position: relative;
  padding: 5px;
  width: 80px;
  color: var(--main-color);
  font-size: 1.3rem;
  text-align: center;
  background: var(--main-color-2);
}
.list-flow-type02 > ul > li .icon:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 10px;
  border-color: transparent transparent transparent var(--main-color-2);
  transform: translateY(-50%);
}
.list-flow-type02 > ul > li .image-text-type01 {
  position: relative;
  display: flex;
  flex-direction: row-reverse; /* column row-reverse column-reverse */
  flex-wrap: wrap;
  align-items: self-start; /* self-end self-start center */
  justify-content: space-between; /* flex-start flex-end center nowrap space-between space-around */
  width: calc(100% - 150px);
  margin: 0;
  padding: 20px;
  background: #fff;
}
.list-flow-type02 > ul > li .image-text-type01.right .image {
	margin-left: 20px;
}
.list-flow-type02 > ul > li .image {
  float: none;
  flex: 0 1 36%; /*子要素 */
}
.list-flow-type02 > ul > li .text {
  flex: 0 1 60%; /*子要素 */
}
.list-flow-type02 > ul > li .text:before {
  content: "";
  position: absolute;
  top: 11px;
  left: -48px;
  width: 8px;
  height: 8px;
  background: var(--main-color);
  border-radius: 4px;
}
.list-flow-type02 > ul > li .text:after {
  content: "";
  position: absolute;
  top: 14px;
  left: -40px;
  width: 25px;
  height: 1px;
  border-bottom: var(--main-color) 1px dashed;
}
.list-flow-type02 > ul > li .text h3.box-h3 {
  padding-bottom: 10px;
  font-size: 2.2rem;
  border-bottom: 1px var(--main-color) solid;
}
.tablet,
.sphone {
  .list-flow-type02 > ul > li .image-text-type01 {
    flex-direction: column; /* column row-reverse column-reverse */
  }
  .list-flow-type02 > ul > li .image-text-type01.right .image {
	width: 100%;
	margin: 0 0 30px;
  }
  .list-flow-type02 > ul > li .text {
	width: 100%;
  }
}
.sphone {
  .list-flow-type02:after {
    left: 10px;
  }
  .list-flow-type02 ul li {
    display: block;
  }
  .list-flow-type02 ul li .icon {
    margin: 0 0 30px 30px;
  }
  .list-flow-type02 ul li .icon:after {
    top: auto;
    bottom: -12px;
    left: 12px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 4px 0 4px;
    border-color: var(--main-color-2) transparent transparent transparent;
  }
  .list-flow-type02 ul li .image-text-type01 {
    margin: 0 0 0 auto;
    width: calc(100% - 61px);
  }
  .list-flow-type02 > ul > li .image-text-type01 .image {
    width: 100%;
  }
}


/* header
------------------------------------------*/
.header-logo {
	width: auto;
}

.header-nav {
	.title {
		color: var(--main-color);
	}
}

.mainvisual {
  margin: 0 0 0;
}
.mainvisual-catch {
  position: absolute; /* initial 解除 */
  bottom: 50%;
  left: 50%;
  transform: translate(-50%, 50%);
  width: calc(100% - 20vw);
  color: #fff;
  text-align: center;
  z-index: 100;
}


/* main
------------------------------------------*/
.box-wrap.xl {
	margin-bottom: 0;
}
.box-wrap.sm {
  padding: 0 4vmin;
  margin: 0 auto;
  max-width: 1120px;
}

.main-news {
	padding: 44px 0 72px;
	background: #fffdd1;

	.title-type02:before {
		display: none;
	}
	h2 {
		padding-top: 80px;
		background: url(../images/main-news-icon.webp) no-repeat top center;
	}
	h2 span.en {
		color: var(--main-color);
		opacity: 1;
	}
	.box-wrap.sm {
		padding: 30px 60px;
		background: #fff;
	}
	ul {}
	ul li {}
	ul li:not(:last-child) {
		border-bottom: 1px #cdc1b5 dashed;
	}
	ul li .text .date {
		color: #2b491d;
	}
}

.main-point {
	padding: 76px 0 109px;
	background: url(../images/main-point-bg.png) no-repeat top center / 100% auto;

	.title-type02:before {
		display: none;
	}
	h2 {
		padding-top: 80px;
		background: url(../images/main-point-icon.webp) no-repeat top center;
	}
	h2 span.en {
		color: var(--main-color);
		opacity: 1;
	}
	ol {}
	ol li {
		border: 4px var(--main-color) solid;
	}
	ol li:before {
		position: absolute; /* initial 解除 */
		top: 0;
		left: 0.4vw;
		transform: translate(0, -50%);
		color: var(--main-color-2);
		font-size: 48px;
		text-align: center;
		line-height: 80px;
		width: 80px;
		height: 80px;
		background: var(--main-color);
		border-radius: 50%;
	}
	ol li .text {
		padding: 4vmin 1vmin;
	}
	ol li .text h3 {
		font-size: 2.8rem;
		letter-spacing: -0.2rem;
	}
}

.main-flow {
	padding: 60px 0 89px;
	background: #e5f5ff;

	.title-type02:before {
		display: none;
	}
	h2 {
		padding-top: 80px;
		background: url(../images/main-flow-icon.webp) no-repeat top center;
	}
	h2 span.en {
		color: var(--main-color);
		opacity: 1;
	}
	ul {}
	ul li {}
	ul li .text {}
}

.main-blog {
	padding: 91px 0 82px;

	.title-type02:before {
		display: none;
	}
	h2 {
		padding-top: 80px;
		background: url(../images/main-blog-icon.webp) no-repeat top center;
	}
	h2 span.en {
		color: var(--main-color);
		opacity: 1;
	}
}
/* footer
------------------------------------------*/
.footer-top-wrap {
}
.footer-top {
}
.footer {
	background: #fffdd1;
}
.footer-inner {
}

.footer-banner {
	margin-bottom: 28px;
	ul {}
	ul li {}
}

.footer-main .logo {
	margin: 0 auto 30px auto;
	max-width: 367px;
}
.footer-main:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #887063;
}
.footer-main .about {
	font-size: 1.5rem;
}

.fixed-footer {
	background-color: rgba(0,153,255,0.8);
}
.fixed-footer p {
	color: var(--body-color-bg);
}
.fixed-footer .tel a {
	color: var(--body-color-bg);
}
.fixed-footer .tel a:before {
	content: "\e0b0";
	margin: 0 5px 0 0;
	color: var(--body-color-bg);
	font-family: "Material Symbols Outlined";
	font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
}
.fixed-footer .contact a {
	display: flex;
	align-items: center;
	padding: 6px 28px 4px 25px;
	color: var(--text-color);
	font-size: 1.8rem;
	font-weight: bold;
	background: var(--main-color-2);
	border-radius: 100px;
}
.fixed-footer .contact a:before {
	content: "\e158";
	margin: 0 5px 0 0;
	color: #fff;
	font-family: "Material Symbols Outlined";
	font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
}
/* =========================
2024/01/18 added by saito.m
========================= */
.scroll{
    overflow-x:auto;
    overflow-y:hidden;
}
.scroll table{
    min-width: 800px;/* 幅の値を大きくすれば各列のサイズが伸びる */
}
/*==========
CONTENTS WORKS ID:1876
==========*/
/*config*/
:root {
    --cw-check-color:#FFCC01; /*アイコンの色*/
}
.cw-check li{
    list-style-type:none !important;
    position:relative;
    padding:0.5em 0;
    display:flex;
    justify-content:flex-start;
    align-items:flex-start;
}
.cw-check li::before{
    color:var(--cw-check-color);
    content: '\f00c';
    font-family: 'Font Awesome 5 Free';
    font-weight: bold;
    margin-right:0.5em;
}

/* ======================================
2024/1/19 added by tsuji
======================================== */

.box01 {
    padding: 1px 20px;
    margin: 20px 0;
    color: #2c2c2f;
    background: #E5F5FF;
}



/*------------------------------------------------------------------------------
  TABLET and SHONE
------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
}

/*------------------------------------------------------------------------------
  TABLET ONLY
------------------------------------------------------------------------------*/
@media screen and (min-width: 600px) and (max-width: 1024px) {
}

/*------------------------------------------------------------------------------
  SPHONE ONLY
------------------------------------------------------------------------------*/
@media screen and (max-width: 599px) {
/* =========================
2024/01/18 added by saito.m
========================= */
	.scroll{
    overflow-x:auto;
    overflow-y:hidden;
}
.scroll table{
    min-width: 800px;/* 幅の値を大きくすれば各列のサイズが伸びる */
}
/*==========
CONTENTS WORKS ID:1876
==========*/
/*config*/
:root {
    --cw-check-color:#FFCC01; /*アイコンの色*/
}
.cw-check li{
    list-style-type:none !important;
    position:relative;
    padding:0.5em 0;
    display:flex;
    justify-content:flex-start;
    align-items:flex-start;
}
.cw-check li::before{
    color:var(--cw-check-color);
    content: '\f00c';
    font-family: 'Font Awesome 5 Free';
    font-weight: bold;
    margin-right:0.5em;
}
}
