@charset "utf-8";

/*

下層ページ用のスタイルです。

*/

/* --------------- */
/* #contents_title */
/* --------------- */
#contents_title_wrap {
 position: relative;
 background-position: center;
 background-repeat: no-repeat;
 background-size: cover;
}

#contents_title_wrap.contact {
 background-position: center 76%;
}

#contents_title_wrap.topics {
 background-position: center 83%;
}

#contents_title_wrap.recruit {
 background-position: center 30%
}

#contents_title_wrap::before {
 content: "";
 display: block;
 position: absolute;
 top: 0;
 left: 0;
 z-index: 1;
 width: 100%;
 height: 100%;
 background: url('images/contents_title_bg.jpg') no-repeat center;
 background-size: 100% 100%;
}

#contents_title_wrap::before {
 z-index: 1;
 opacity: 0.8;
}

#contents_title_wrap>* {
 position: relative;
 z-index: 2;
}

#contents_title_wrap>.inner {
 max-width: 1600px;
 margin: 0 auto;
 display: flex;
 justify-content: center;
 align-items: center;
 flex-direction: column;
}

#contents_title {
 text-align: center;
 max-width: 100%;
 font-family: var(--font-family-heading);
 font-size: 2.5rem;
 font-weight: normal;
 line-height: 1.25;
 letter-spacing: 0.1em;
}

#contents_title span {
 font-size: 1.2rem;
}


@media screen and (max-width:767px) {
 #contents_title_wrap>.inner {
  height: 240px;
  padding: calc(60px + 2rem) 20px 2rem;
 }
}

@media print,
screen and (min-width:768px) {
 #contents_title_wrap>.inner {
  height: 360px;
 }
}

@media print,
screen and (min-width:768px) and (max-width:1024px) {
 #contents_title_wrap>.inner {
  padding: calc(6px + 2rem) 2rem 2rem;
 }
}

@media print,
screen and (min-width:1025px) {
 #contents_title_wrap>.inner {
  padding: calc(120px + 2rem) 2rem 2rem;
 }
}

/* ------ */
/* .bread */
/* ------ */
.bread {
 font-size: 0.875rem;
 line-height: 1.25;
 margin: 0;
 padding: 0;
 position: relative;
 background-color: var(--color-bg-light);
}

.bread ul {
 list-style: none;
 max-width: 1600px;
 margin: 0 auto;
}

.bread ul:after {
 content: "";
 display: block;
 clear: both;
}

.bread li {
 margin: 0 0.8em 0 0;
 padding: 0.25em 0;
 float: left;
}

.bread li:before {
 content: ">";
 margin: 0 0.8em 0 0;
}

.bread li:first-child:before {
 display: none;
}

.bread a {
 color: #333;
 text-decoration: none;
 transition: 200ms color;
}

.bread a:hover {
 color: var(--color-main);
 text-decoration: underline;
}

@media screen and (max-width:767px) {
 .bread ul {
  padding: 0.5rem 20px;
 }
}

@media print,
screen and (min-width:768px) {
 .bread ul {
  padding: 0.5rem 2rem;
 }
}

/* ---------- */
/* .layout_01 */
/* ---------- */
@media screen and (max-width:767px) {
 .layout_01 .sp_img_area {
  margin-bottom: 2rem;
  text-align: center;
 }

 .layout_01 .pc_img_area,
 .layout_01 #pc_img_area_slidewrap {
  display: none;
 }

 .layout_01 p.img_txt {
  padding: 5px 0;
  text-align: center;
  display: block;
 }
}

@media print,
screen and (min-width:768px) {
 .layout_01 {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: flex-start;
 }

 .layout_01.style_02 {
  flex-direction: row;
 }

 .layout_01 .sp_img_area {
  display: none;
 }

 .layout_01 .detail_area {
  width: 63%;
 }

 .layout_01 .pc_img_area {
  position: relative;
  width: 30%;
  margin-bottom: 3rem;
 }

 .layout_01.style_02 .pc_img_area {
  left: -2rem;
 }

 .layout_01 .pc_img_area::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  top: 3rem;
  right: -2rem;
  width: 100%;
  height: 100%;
  background-image: url('images/bg_gra_01.jpg');
  background-color: var(--color-accent-1);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
 }

 .layout_01 .pc_img_area img {
  position: relative;
  z-index: 2;
 }

 .layout_01 #pc_img_area_slidewrap {
  position: relative;
  width: 30%;
  margin-bottom: 3rem;
  z-index: 0;
 }

 .layout_01.style_02 #pc_img_area_slidewrap {
  left: -2rem;
 }

 .layout_01 #pc_img_area_slidewrap::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  top: 3rem;
  right: -2rem;
  width: 100%;
  height: calc(100% - 48px);
  background-image: url('images/bg_gra_01.jpg');
  background-color: var(--color-accent-1);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
 }

 .layout_01 #pc_img_area_slidewrap img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: auto;
  aspect-ratio: 7 / 5;
  object-fit: cover;
 }

 .layout_01 #pc_img_area_slidewrap p.img_txt {
  padding: 10px 0;
  text-align: center;
  display: block;
 }

 .layout_01 #pc_img_area_slidewrap .slick-dots {
  bottom: 3.5rem !important;
  right: 53%;
 }
}

/* ------------------ */
/* .archive_layout_01 */
/* ------------------ */
.archive_layout_01>.sidebar {
 background-color: var(--color-bg-light);
}

.archive_layout_01>.sidebar .heading {
 color: var(--color-main);
 font-family: var(--font-family-heading);
 font-size: calc(1rem + 4px);
 font-weight: 400;
 text-align: justify;
 text-justify: inter-ideograph;
}

@media screen and (max-width:767px) {
 .archive_layout_01>.sidebar {
  margin-top: 2rem;
  padding: 20px;
 }
}

@media print,
screen and (min-width:768px) {
 .archive_layout_01>.sidebar {
  padding: 2rem;
 }
}

@media print,
screen and (min-width:768px) and (max-width:1024px) {
 .archive_layout_01>.sidebar {
  margin-top: 2rem;
 }
}

@media print,
screen and (min-width:1025px) {
 .archive_layout_01 {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
 }

 .archive_layout_01>.main_area {
  width: calc(100% - 18rem - 2rem);
 }

 .archive_layout_01>.sidebar {
  padding: 2rem;
  width: 18rem;
 }
}

/* ------------------ */
/* .archive_select_01 */
/* ------------------ */
.archive_select_01 {
 width: 100%;
 margin-top: 0.5rem;
}

/* ------------------------ */
/* ページャー(paginate_links) */
/* ------------------------ */
.paginate.top {
 margin-top: 2.5rem;
}

.paginate.bottom {
 margin-top: 1.5rem;
}

.paginate .page-numbers {
 display: inline-block;
 margin: 0.5rem;
}

.paginate a {
 text-decoration: none;
}

.paginate a:hover {
 text-decoration: underline;
}

/* -------------- */
/* .archive_hr_01 */
/* -------------- */
.archive_hr_01 {
 clear: both;
 margin: 2rem auto;
 padding: 0;
 background: none;
 border: none;
 border-bottom: 1px solid #ccc;
 line-height: 0;
}

/* ----------------- */
/* .contact_table_01 */
/* ----------------- */
.contact_table_01 {
 margin: 0 auto;
 border-collapse: collapse;
}

.contact_table_01 th,
.contact_table_01 td {
 vertical-align: top;
}

.contact_table_01 th {
 white-space: nowrap;
}

.contact_table_01 td {
 padding-left: 1rem;
}

.contact_table_01 .txt_01,
.contact_table_01 .txt_02 {
 display: inline-block;
}

.contact_table_01 .txt_01 {
 margin-right: 1rem;
}

@media screen and (max-width:767px) {

 .contact_table_01,
 .contact_table_01>tbody,
 .contact_table_01>tbody>tr,
 .contact_table_01>tbody>tr>th,
 .contact_table_01>tbody>tr>td {
  display: block;
 }

 .contact_table_01>tbody>tr>th {
  text-align: center;
 }
}

/* -------------- */
/* .contact_dl_01 */
/* -------------- */
.contact_dl_01 {
 margin: 0 -0.5rem;
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
}

.contact_dl_01>dt,
.contact_dl_01>dd {
 margin: 0 0.5rem;
}

.contact_dl_01>dt {
 font-weight: bold;
}

.contact_dl_01 .txt_01,
.contact_dl_01 .txt_02 {
 display: inline-block;
}

.contact_dl_01 .txt_01 {
 margin-right: 1rem;
}

/* -------------- */
/* .form_table_01 */
/* -------------- */
.form_table_01 {
 border-collapse: collapse;
}

.form_table_01>tbody>tr>th,
.form_table_01>tbody>tr>td {
 padding-top: 0.5rem;
}

.form_table_01>tbody>tr:nth-of-type(1)>th,
.form_table_01>tbody>tr:nth-of-type(1)>td {
 padding-top: 0;
}

.form_table_01>tbody>tr>th {
 text-align: left;
 font-weight: normal;
 white-space: nowrap;
}

.form_table_01>tbody>tr>td {
 width: 100%;
 padding-left: 1rem;
}

/* ---------- */
/* フォーム関連 */
/* ---------- */
[type='text'],
[type='email'],
[type='tel'],
textarea {
 display: block;
 box-sizing: border-box;
 width: 100%;
 padding: 0.25rem;
 border: 1px solid #ccc;
 margin: 0;
 background-color: #fefefe;
 box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
 border-radius: 0;
 font-size: 16px;
 outline: none;
 transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
 -webkit-appearance: none;
 -moz-appearance: none;
}

[type='text'].InputSize1 {
 width: 15em;
 max-width: 100%;
}

[type='text']:focus,
[type='email']:focus,
textarea:focus {
 border: 1px solid #8a8a8a;
 box-shadow: 0 0 5px #cacaca;
 transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}

textarea {
 max-width: 100%;
 resize: vertical;
}

textarea[rows] {
 height: auto;
}

[type='submit'],
[type='button'],
[type='reset'] {
 border-radius: 0;
 -webkit-appearance: none;
 -moz-appearance: none;
}

select {
 font-size: 1rem;
}

[type='text'].post-cord {
 max-width: 4rem;
}

/* --------------- */
/* .form_btn_area */
/* --------------- */
.form_btn_area {
 margin-top: 2rem;
 text-align: center;
}

/* ----------- */
/* .post_title */
/* ----------- */
.post_title {
 margin-bottom: 1.5rem;
 padding-bottom: 1rem;
 font-size: 1.5rem;
 font-weight: 400;
}

/* -------- */
/* .up_date */
/* -------- */
.up_date {
 margin-bottom: 2rem;
 padding: 0.75em;
 border-radius: 2px;
 background-color: var(--color-bg-light);
 /*font-size:0.875em;*/
 line-height: 1;
}

/* ---------------------- */
/* .page_bottom_link_area */
/* ---------------------- */
.page_bottom_link_area {
 margin-top: 2rem;
 text-align: center;
}

/* ---------- */
/* .prev_next */
/* ---------- */
.prev_next {
 display: inline-block;
 position: relative;
 margin-top: 3rem;
}

.prev_next .prev {
 position: absolute;
 top: 50%;
 right: calc(100% + 2rem);
 transform: translate(0, -50%);
 white-space: nowrap;
}

.prev_next .next {
 position: absolute;
 top: 50%;
 left: calc(100% + 2rem);
 transform: translate(0, -50%);
 white-space: nowrap;
}


/* ---------- */
/* .btn01 */
/* ---------- */
.btn01 {
 display: block;
 position: relative;
 padding: 1em 2em;
 border: 1px solid var(--color-main);
 border-radius: 2px;
 background: rgba(255, 255, 255, 0.85);
 color: #666 !important;
 text-decoration: none;
 transition: 0.5s ease-out;
}

@media (hover: hover) {
 .btn01:hover {
  background-color: rgb(var(--color-main-rgb), 0.25);
  text-decoration: none;
 }
}

/* ---------- */
/* .btns_area01 */
/* ---------- */
.btns_area01 {
 display: flex;
 flex-wrap: wrap;
}

.btns_area01>li {
 list-style: none;
}

.btns_area01>a,
.btns_area01>li {
 width: calc(100% / 2 - 0.5rem);
 margin-top: 1rem;
}

.btns_area01>a:nth-of-type(1),
.btns_area01>li:nth-of-type(1) {
 margin-top: 0;
}

@media screen and (max-width:1024px) {
 .btns_area01.area_column_style02 {
  display: block;
 }

 .btns_area01.area_column_style02>li {
  width: 100%;
 }

 .btns_area01.area_column_style02 a {
  width: 100%;
  margin-left: 0;
 }

 .btns_area01.area_column_style02 a:nth-of-type(2) {
  margin-top: 1rem;
 }
}

@media screen and (min-width:1025px) {

 .btns_area01>a:nth-of-type(2n),
 .btns_area01>li:nth-of-type(2n) {
  margin-left: 1rem;
 }

 .btns_area01>a:nth-of-type(2),
 .btns_area01>li:nth-of-type(2) {
  margin-top: 0;
 }
}

/* -------- */
/* .table02 */
/* -------- */
.table02 {
 margin: 2rem auto;
 border-collapse: collapse;
}

.section_area .table02:nth-child(1) {
 margin-top: 0;
}

.section_area .table02:nth-last-child(1) {
 margin-bottom: 0;
}

.table02 th {
 font-weight: 600;
}

.table02 .td_heading {
 display: inline-block;
 padding-right: 1em;
 font-weight: bold;
}

.table02 .td_contents {
 display: inline-block;
}

@media screen and (max-width:1024px) {

 .table02,
 .table02>tbody,
 .table02>tbody>tr,
 .table02>tbody>tr>th,
 .table02>tbody>tr>td {
  display: block;
 }

 .table02>tbody>tr:not(:nth-of-type(1)) {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px dotted #b3b3b3;
 }

 .table02.top_border>tbody>tr,
 .table02.sp_top_border>tbody>tr {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px dotted #b3b3b3;
 }

 .table02.bottom_border>tbody>tr:not(:nth-of-type(1)),
 .table02.sp_bottom_border>tbody>tr:not(:nth-of-type(1)) {
  padding-bottom: 2rem;
  border-bottom: 1px dotted #b3b3b3;
 }

 .table02>tbody>tr>th,
 .table02>tbody>tr>td {
  text-align: left;
 }

 .table02>tbody>tr>td {
  margin-top: 1rem;
 }
}

@media print,
screen and (min-width:1025px) {

 .table02>tbody>tr>th,
 .table02>tbody>tr>td {
  padding: 2rem 0;
  border-top: 1px dotted #b3b3b3;
  text-align: left;
  vertical-align: top;
 }

 .table02>tbody>tr:nth-of-type(1)>th,
 .table02>tbody>tr:nth-of-type(1)>td {
  padding-top: 0;
  border-top: none;
 }

 .table02.top_border>tbody>tr:nth-of-type(1)>th,
 .table02.pc_top_border>tbody>tr:nth-of-type(1)>th,
 .table02.top_border>tbody>tr:nth-of-type(1)>td,
 .table02.pc_top_border>tbody>tr:nth-of-type(1)>td {
  padding-top: 2rem;
  border-top: 1px dotted #b3b3b3;
 }

 .table02>tbody>tr:nth-last-of-type(1)>th,
 .table02>tbody>tr:nth-last-of-type(1)>td {
  padding-bottom: 0;
 }

 .table02.bottom_border>tbody>tr:nth-last-of-type(1)>th,
 .table02.pc_bottom_border>tbody>tr:nth-last-of-type(1)>th,
 .table02.bottom_border>tbody>tr:nth-last-of-type(1)>td,
 .table02.pc_bottom_border>tbody>tr:nth-last-of-type(1)>td {
  padding-bottom: 2rem;
  border-bottom: 1px dotted #b3b3b3;
 }

 .table02>tbody>tr>td {
  padding-left: 2rem;
 }
}

/* .table_style02 */

.table02.table_style02 {
 width: 100%;
 text-align: center;
 word-break: break-all;
}

@media print,
screen and (min-width:1025px) {
 .table02.table_style02 th {
  white-space: nowrap;
 }

 .table02.table_style02 td {
  width: 100%;
 }
}


/* -------- */
/* .form_table */
/* -------- */

.form_table input[type=text],
.form_table input[type=email],
.form_table input[type=email],
.form_table textarea {
 max-width: 100%;
 padding: 5px;
}

.table02 td input[type="text"] {
 width: auto;
}

.form_table span.horizontal-item {
 display: inline-block !important;
 margin-right: 10px !important;
 margin-left: 0 !important;
}

@media screen and (max-width:1024px) {
 .form_table input[type="text"] {
  width: 100%;
 }
}




/* LAST */
/* ---- */