@charset "utf-8";
/* CSS Document */

html {
font-size: 62.5%;
}
/*--------------------- pagetop  ---------------------*/
.page-top {
	position: fixed;
	bottom: 15px;
	right: 20px;
	font-size: 2rem;
	-ms-filter: "alpha(opacity=80)";
	-moz-opacity: 0.8;
	-khtml-opacity: 0.8;
	opacity: 0.8;
	background-color: #ae932a;
	color: #FFF;
	padding: 10px 15px 5px 20px;
	text-align: center;
}
.a page-top{	color: #FFF;}
i {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}
/*--------------------- ---------------------*/
body{font-family: 'Noto Sans JP', sans-serif;font-size: 1.5rem;}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
::before , ::after {
	box-sizing: inherit;
}
i {
	margin-right: 5px;
}
/* animation */


.fadeIn{
animation-name:fadeInAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* fadeUp */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:2s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(200px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeUpTrigger{
    opacity: 0;
}


/* 上から */

.fadeDown{
animation-name:fadeDownAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeDownAnime{
  from {
    opacity: 0;
	transform: translateY(-100px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/* 左から */

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:3s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
	transform: translateX(-200px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}

/* 右から */

.fadeRight{
animation-name:fadeRightAnime;
animation-duration:3s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
	transform: translateX(200px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}



button {
	margin: 0;
	padding: 0;
	outline: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	vertical-align: middle;
	text-align: inherit;
	font: inherit;
	-webkit-appearance: none;
	appearance: none;
}
/**************** 以下、ハンバーガーボタンのスタイリング ****************/
.btn {	/* ボタンの配置位置  */
	position: fixed;
	top: 13px;
	right: 16px;
	z-index: 100;
		/* ボタンの大きさ  */
	width: 30px;
	height: 30px;
}
/***** 真ん中のバーガー線 *****/
.btn-line {
	display: block;
	/* バーガー線の位置基準として設定 */
	position: relative;
	/* 線の長さと高さ */
	width: 100%;
	height: 4px;
	/* バーガー線の色 */
	background-color: #d6d5d5;
	transition: .2s;
}
/***** 上下のバーガー線 *****/
.btn-line::before , .btn-line::after {
	content: "";
	/* 基準線と同じ大きさと色 */
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #d6d5d5;
	transition: .5s;
}
.btn-line::before {
	/* 上の線の位置 */
	transform: translateY(-10px);
}
.btn-line::after {
	/* 下の線の位置 */
	transform: translateY(10px);
}
/***** メニューオープン時 *****/
.btn-line.open {
	/* 真ん中の線を透明に */
	background-color: transparent;
}
.btn-line.open::before , .btn-line.open::after {
	content: "";
	background-color: #333;
	transition: .2s;
}
.btn-line.open::before {
	/* 上の線を傾ける */
	transform: rotate(45deg);
}
.btn-line.open::after {
	/* 上の線を傾ける */
	transform: rotate(-45deg);
}
/**************** ここまで、ハンバーガーボタンのスタイリング ****************/
/**************** 以下、メニューのスタイリング ****************/
.menu {
	/* メニューを縦に */
	display: flex;
	flex-direction: column;
	position: fixed;
	/* メニューの位置マイナス指定で画面外に */
	right: -70%;
	width: 70%;
	height: 100vh;

transition: .3s;	
}

a.overwhite{
    background-color:#ffffff;
    display:block;
}

a.overwhite:hover img,a:hover{
    cursor:pointer;
    filter: alpha(opacity=60);        /* ie lt 8 */
    -ms-filter: "alpha(opacity=60)";  /* ie 8 */
    -moz-opacity:0.6;                 /* FF lt 1.5, Netscape */
    -khtml-opacity: 0.6;              /* Safari 1.x */
    opacity:0.6;
    zoom:1;
}
a { color: inherit;
	text-decoration: none;
	transition: all 0.3s;}
h1 {
	padding: 15px 0 0 20px;
}
nav {
	background-color: rgba(255, 255, 255, 0.87);
	height: 70px;
	border-bottom: 2px solid #c1b56f;
	position: fixed;
	top: 0;
	left: 0;
z-index: 10;
	width: 100%;
	box-sizing: border-box;
}
.menu-list {
	/* メニューテキスト位置をリスト内中心に */
	display: flex;
	align-items: center;
	justify-content: center;
	height: 70px;
	color: #25446e;
	font-weight: bold;
	padding: 0 20px;
}.menu-list:last-child {
	padding-right: 0;
}

.menu-list:hover {
	background-color: rgba(255, 255, 255, .5);
	color: #333;
	cursor: pointer;
	transition: .3s;
}

.menu-list a {
	height: 100%;
	display: flex;
	align-items: center;
}
/***** メニューオープン時位置0にして画面内に *****/
.menu.open {
	position: absolute;
	right: 0;
	background: rgba(255, 255, 255, 0.9);
z-index: 1;
}
/* 600px以上はハンバーガーボタン非表示、ヘッダー固定 */
@media screen and (min-width: 1300px) {
	.btn {
		display: none;
	}
	.menu {
		/* メニューを横に */
		display: flex;
		flex-direction: row;
		position: fixed;
		top: 0;
		right: 0;
		width: 70%;
		height: 70px;
		padding-right: 250px;
		justify-content: right;
	}
}
/**************** ここまで、メニューのスタイリング ****************/
.hd_tel {
	background: #25446e;
	position: absolute;
	right: 0;
	top: 0;
	color: #FFF;
	padding: 15px 20px;
	text-align: center;
}
.hd_tel span {
font-size: 2.3rem;
	font-weight: bold;
}
.hd_tel p {
	font-size: 1.3rem;
}
#contena {
	margin: 0px;
	padding: 0px;
	width: 100%;
	line-height: 1.8;
}
.contents {padding: 80px 0;text-align: center;}
.contents h2 {font-size: 2.5rem;}
.contents h2 span::after {
	padding-top: 5px;
	content: "";
	display: block;
	width: 100px;
	height: 2px;
	background-color: #e8d179;
	bottom: 0;
	margin: 10px auto;
}
.h2-p {
	color: #e8d179;
}
.p-840 {
	max-width: 840px;
	margin: auto;
	padding-top: 50px;
	width: 80%;
}
/* ★★★★★★★★★★★★★★★★★★★★★top free*/
.p-840.free {
	display: flex;
	justify-content: center;
	align-items: center;
}
.p-840.free div:last-child {
	margin-left: 50px;font-weight: bold;
	text-align: left;
}
.p-840.free .abc {
	font-size: 8rem;
	color: #143a6f;
}
.p-840.free .ab {
	padding: 20px 40px;
	background: #ffea7b;
	color: #6c581b;
	margin-right: 30px;
	border-radius: 10px;
}
.p-840.free div:last-child {
	position: relative;
	border-top: solid 2px #143a6f;
	border-bottom: solid 2px #143a6f;
	line-height: 1.4;
	padding: 1.5rem 0 2.5em 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
	align-items: center;
}
.p-840.free div:last-child::after {
	position: absolute;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f0a7\ お気軽にご利用ください！';
	background: #143a6f;
	color: #fff;
	left: 0px;
	bottom: 100%;
	border-radius: 5px 5px 0 0;
	padding: 10px 10px 10px;
	font-size: 1.2em;
	line-height: 1;
	letter-spacing: 0.05em;
}
.p-840.free p {
	margin-top: 10px;
}


/* ★★★★★★★★★★★★★★★★★★★★★Fotter */
#f-copy {
	color: #AEAEAE;
	width: 100%;
	padding-bottom: 10px;
	text-align: center;
	font-size: 0.8rem;
}
.f-menu2 {
	text-align: center;
	margin-bottom: 20px;
	color: #9b9b9b;
}
.f-menu2 a::after,.f-sitemap .ul-flex li::after{
	content: "／";
	margin: 0 5px;
}.f-menu2 a:last-child::after,.f-sitemap .ul-flex li:last-child::after {
	content: none;
}
footer {
	background: url(images/ft-bk.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	margin-bottom: 30px;
	padding: 40px 0;
	background-position: center;
}
footer div {
	margin: 50px auto;
	width: 600px;
		text-align: center;
	color: #FFF;
}
footer div iframe {
	margin-top: 40px;
}footer div span {
font-size: 2.2rem;
	font-weight: bold;
	display: block;
	margin-bottom: 20px;
}
.ul-flex {
	display: flex;
	justify-content: center;
	align-items: center;
margin: 50px auto;
  max-width: 1200px;
  width: 100%;
}.ul-flex li {
	margin-right: 20px;
	list-style: none;
}
.ul-flex li img {
	width: 100% !important;
	height: auto;
}


.contents.tp-content {
	background-color: #143a6f;
}
.f-sitemap .ul-flex {
	padding: 0;
	margin: 0 auto;
	max-width: 980px;
	width: 90%;
	justify-content: left;
	color: #FFF;
}
/* tp-CONTTACT */
.contents.tp-con {
	background: url(images/tp-con.jpg);
	background-position: right;
	background-size: cover;
}
.btn-cont {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	padding: 1rem 4rem;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #6c581b;
	border-radius: 0.5rem;
}
a.btn-cont {
	background: #ffea7b;
	padding: 20px 40px;
	display: block;
}.f-sitemap {
	background-color: #b0ac95;
	padding-top: 10px;
	padding-bottom: 10px;
}.f-sitemap .ul-flex li {
	margin-right: 0;
}
/************************************* contactform */
.contact-dl div {
	border-bottom: dashed 1px #bbb;
	overflow: hidden;
	padding: 20px 0;
}

.contact-dl dt {
	float: left;
	clear: left;
	width: 20%;
}

.contact-dl dd {width: 75%; float:left;margin-left: 1em;}
form {width: 100%;margin: 30px 0;}
dd.ddcheck label {width: 50%;display: block;float: left;margin-bottom: 5px;}
input[type="checkbox"],input[type="radio"] {margin-right: 5px;}
dd.ddcheck label:nth-of-type(5) {width: 100%;float: none;}
textarea, input[type="text"] {
	width: 90%;
}
.radio label {margin-right: 10px;}

.center {
	text-align: center;
	margin-bottom: 80px;}
.ddcheck {width: 78%;}
form p {
	margin: 20px;
}
.contact-telbox {
	background: #f2f2f2;
padding: 25px 40px;
	display: flex;
align-items: stretch;
}
.contact-telbox p {
	border-right: 1px solid #424242;
	padding:0 30px 0 0;
	font-size: 2rem;
	align-items: stretch;
	display: flex;
	flex-direction: column;
	justify-content: center
}
.contact-telbox p span {
	display: block;
	font-weight: bold;
}
.contact-telbox .con-tel span {font-size: 3.5rem;}
.con-tel {
	font-size: 1.5rem !important;
	padding-left: 40px !important;
}
.contact-telbox p:last-child {
	border: none;padding-right: 0;}
.contact-telbox .fa-solid.fa-phone {
	padding: 10px;
	border-radius: 30px;
	border: 1px solid #424242;
	margin-right: 10px;
}
.input-button {
	border: 0;
	padding: 10px 20px;
	width: 30%;
	font-weight: bold;
}.kome::after {
	content: "必須";
	padding: 3px 5px;
	background: #ff5656;
	font-size: 1rem;
	color: #FFF;
	margin-left: 5px;
}
.contact-dl dd li {
	list-style: none;
}.contact-dl div div:last-child {
	border: none;
}
/******************************** privacy */
.inner-privacy h3 {
	border-bottom: solid 3px #bfbfbf;
	position: relative;
	margin: 40px 0 10px 0;
	font-size: 2rem;
	padding-bottom: 5px;
}
.inner-privacy h3::after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 3px #f0d63c;
	bottom: -3px;
	width: 30%;
}
li ol {padding-left: 30px;margin-bottom: 10px;}
ol {padding-left: 20px;}

/******************************** all */
.inner {
	padding-top: 30px;
}
.inner h4 {
	padding: 0rem 2rem;
	border-left: 4px solid #d7c684;
	font-size: 2rem;
	margin-bottom: 20px;
}

.inner ol{
  counter-reset: item;
  list-style-type: none;
  padding-left: 0;
}
.inner ol ol{
  padding-left: 1em;
}
.inner ol　li{
  text-indent: -1.3em;
  padding-left: 1.3em;
}
.inner ol li::before {
	counter-increment: item;
	content: counter(item)'';
	padding-right: .5em;
	font-weight: bold;
	color: #fff;
	background: #bbad77;
	text-align: center;
	padding-left: 5px;
	margin-right: 10px;
}
.inner ul {
	padding-left: 15px;
}



/******************************** pan */
#pan li::after {
	content: ">";
	margin: 0 10px;}
#pan li:last-child::after {display: none;}
#pan li {display: inline-block;}
#pan {background: #f9f9f9;margin: 0;
	padding: 5px 10px;font-size: 1.3rem;}
/* title */
.title {
	height: 400px;
	background-position: center;
	background-size: cover;
position: relative;
}
.succession .title{background-image: url("images/title-succession.jpg")}
.contact .title{background-image: url("images/title-contact.jpg")}
.company .title{background-image: url("images/title-company.jpg")}
.counseling .title{background-image: url("images/title-counseling.jpg")}
.improvement .title{background-image: url("images/title-improvement.jpg")}


.title h2 {
	position: absolute;
	bottom: 0;
	width: 100%;
	text-align: center;
	padding: 0 0 40px 0;
	font-size: 3.5rem;
color: #205599;
}
/* read*/
.read-box {
	position: relative;
	padding: 3rem;
	text-align: center;
	border: 2px solid #777;
	background: #fff;
	margin-top: 20px;
}

.read-box:before,
.read-box:after {
  position: absolute;
  content: '';
}

.read-box:before {
  top: -40px;
  left: calc(50% - 40px);
  width: 80px;
  height: 80px;
  border: 2px solid #777;
  border-radius: 50%;
  background: #fff;
}

.read-box:after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
}

.read-box i {
  font-size: 30px;
  font-size: 3rem;
  line-height: 60px;
  position: absolute;
  z-index: 1;
  top: -40px;
  left: calc(50% - 40px);
  width: 80px;
  height: 60px;
  text-align: center;
}

.read-box span {
  position: relative;
  z-index: 1;
}

.inner-1025 {
	max-width: 1025px;
	padding: 40px 20px;
	margin: 0  auto;
}
.product_con .inner-1025 h3 {
	padding: 0.35em 0em;
	border-bottom: solid 2px #7db4e6;
	font-size: 2.5rem;
	color: #25446e;
}


/* メモ　クリップ　Ａ */
.clip-box-a {
 position: relative;
 margin: 2em auto;
 padding: 15px 35px 15px 25px;
 width: 90%; /* ボックス幅 */
 background-color: #fff; /* ボックス背景色 */
 color: #555555; /* 文章色 */
 border: 1px solid #ccc; /* 枠線 */
 box-shadow: 1px 1px 1px #acacac; /* 影の色 */
}
.clip-box-a::before {
 position: absolute;
 content: '';
 top: -15px;
 right: 10px;
 height: 55px;
 width: 15px;
 border: 3px solid #555555; /*クリップ色 */
 background-color: none;
 border-radius: 12px;
 box-shadow: 1px 1px 2px #999;
 transform: rotate(10deg);
 z-index: 1;
}
.clip-box-a::after {
 position: absolute;
 content: '';
 top: 0px;
 width: 10px; 
 right: 20px;
 border: solid 5px #fff; /*背景色と同じ色にする*/
 z-index: 2;
}
/* ★★★★★★★★★★★★★★★★★★★★★succession */
.succession-flow {display: flex;flex-wrap: wrap; /* 折返し指定 */ justify-content: center;}
.succession-flow .clip-box-a {margin-right: 30px;width: calc(25% - 30px);margin-left: 0;}
.succession-flow .clip-box-a:last-child {margin-right: 0;}
.succession-flow .clip-box-a p {font-size: 1rem;text-align: justify;
text-justify: inter-ideograph;}

.succession-flow .clip-box-a h4 {
	font-size: 2rem;
	line-height: normal;
	border-bottom: 2px solid #a8996c;
	padding-bottom: 8px;
	margin-bottom: 15px;
	color: #a8996c;
}
.succession-flow .clip-box-a p {
	font-size: 1.2rem;
	line-height: initial;
}
/* ★★333333333333333clip-box-a 3 */
.succession-flow.column3 .clip-box-a {
	width: calc(33% - 30px);
}
/* ★★★★★★★★★★★★★★★★★★blue-object */
.succession-flow.blue-object div {
	background: #143a6f;
	padding: 20px;
	margin-right: 30px;
	width: calc(25% - 30px);
	text-align: center;
	color: #FFF;
	font-weight: bold;
}
.succession-flow.blue-object div:last-child {
	margin-right: 0;
}.succession-flow.blue-object div p {
	font-size: 1.2rem;
}


table {
	margin: 20px auto;
	width: 100%;
}
.tbl-r02 tr {
	background: #f9f9f9;
}
.tbl-r02 th {
  background: #4b5e7d;
  border: solid 1px #ccc;
  color: #fff;
  padding: 10px;width: 20%;
}
.tbl-r02 td {
　border: solid 1px #ccc;
  padding: 10px;
}
 /* ボタン */
a.btn2 {
	display: block;
	max-width: 290px;
	margin: 0 auto;
	padding: 1.5rem 3.0rem;
	border-radius: 8px;
	box-sizing: border-box;
	text-decoration: none;
	transition: 0.3s;
	max-height: 59px;
	margin-top: 20px;
	border: 1px solid #FFF;
}
a.btn2 span.btn2-text {
    display: block;
    position: relative;
    color: #fff;
    font-size: 16px;
    text-align: center;
    padding-left: 30px;
}
a.btn2 span.btn2-text:before {
    content: '';
    width: 20px;
    height: 20px;
    background: #ffffff;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}
a.btn2 span.btn2-text:after {
    content: '';
    width: 8px;
    height: 8px;
    border-top: 3px solid #1755aa;
    border-right: 3px solid #1755aa;
  box-sizing: border-box;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    left: 5px;
    bottom: 0;
    margin: auto;
    transition: 0.3s;
}
a.btn2:hover {
    background-color: #01b5d0;
}
a.btn2:hover span.btn2-text:after {
    border-top: 3px solid #01b5d0;
    border-right: 3px solid #01b5d0;
}

.slider {
	overflow: hidden;
}

@media (max-width: 768px) {
    a.btn2 {
        max-width: 280px;
        padding: 1.5rem 2.0rem;
    }
    a.btn2 span.btn2-text {
        font-size: 14px;
    }

  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  .tbl-r02 {
    width: 80%;
  }
  .tbl-r02 th,
  .tbl-r02 td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
}
@media only screen and (max-width:1300px) {
.hd_tel {display: none;}
	.inner-1025 {
	width: 90%;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin: auto;
	max-width: 100%;
}
}

@media only screen and (max-width:768px) {
nav {height: 60px;}
h1 {
	padding: 15px 0 0 15px;
	font-size: 1.8rem;
}
.f-sitemap {display: none;}
footer div,.p-840 {width: 80%;	}
.ul-flex {display: block;width: 90%;margin: 0 auto 20px auto;}
.ul-flex li {margin: 0 auto 20px auto;}
.ul-flex li img{max-width: 100%;height: auto;}
.p-840 {margin-bottom: 30px;}
.succession-flow .clip-box-a ,.succession-flow.column3 .clip-box-a,.succession-flow.blue-object div{width: 100%;margin: 15px auto;}
.p-840.free {display: block;}
.p-840.free .ab {
	margin-right: 0;
	text-align: center;
	margin-top: 10px;
	display: block;
}

	.title {height: 250px;}
.p-840.free div:last-child {margin: 0;display: block;}
.mainphoto img {max-width: 600px;height: 300px;object-fit: cover;}
.mainphoto {width: 100%;height: auto;}
	.contact-dl dt,.contact-dl dd {float: none;width: 100%;}
dd.ddcheck label {width: 100%;	float: none;}
}