@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Outfit:wght@400;600&display=swap');
/*
16px基準文字サイズ
8px	  0.5rem
10px	0.625rem
11px	0.6875rem
12px	0.750rem
13px	0.8125rem
14px  0.875rem
15px	0.9375rem
16px	1rem
18px	1.125rem
20px	1.25rem
21px  1.3125rem
22px	1.375rem
24px	1.5rem
28px  1.75rem
30px  
32px	2rem
36px	2.25rem 
38px	2.375rem 
39px	 2.4375rem
40px	 2.5rem
*/

/*
Layout（ページを構成する要素に対して使用するクラス）・・・「l-」
Component（複数のページで再利用できる要素に対して使用するクラス）・・・「c-」
Project（ページ単位で使用するクラス）・・・「p-」
Utility（強制的にスタイルを当てたりする調整用のクラス）・・・「u-」
*/

/* ================================================
   RESET

html, body, div, dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea,
p, blockquote, th, td {
margin: 0;
padding: 0;
}
h1, h2, h3, h4, h5, h6 {
font-size: 100%;
font-weight: normal;
}
address, caption, cite, code, dfn, th, var {
font-style: normal;
font-weight: normal;
}
caption, th {
text-align: left;
}
ol, ul {
list-style: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
img, abbr, acronym, fieldset {
border: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: "";
}
img {
max-width: 100%;
height: auto;
vertical-align: top;
}
================================================ */

/* ================================================
   BASIC
================================================ */
html {
  font-size: 16px;
}
@media (max-width: 1200px) {
  html {
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 16px;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}


body {
line-height: 1.6;
font-family:'Outfit','Noto Sans JP',"ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
color: #014f99;
-webkit-text-size-adjust:100%;
letter-spacing:0.05em;
overflow:hidden;
overflow-y:scroll;
overflow-x:hidden;
-webkit-backface-visibility: hidden;
-webkit-font-smoothing: antialiased;
}
body.is-fixed {
height: 100%;
overflow: hidden;
}
a {
display: block;
text-decoration: none;
color: inherit;
outline: none;
-webkit-transition: all .4s;
transition: all .4s;
text-decoration:none;
}
a:hover {
opacity: 0.7;
-webkit-transition: all .4s;
transition: all .4s;
text-decoration:none;
}

/* WRAPPER
------------------------------------------------ */
#wrapper {
}
#wrapper img {
max-width:100%;
height:auto;
}

/* HEADER
------------------------------------------------ */
div#header {
width: 100%;
}
.l-header_inr {
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
}
.l-header__contents {
padding: 2rem 2rem;
position: relative;
}
.l-header__main {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
align-items: flex-end;  
}
.l-header__toolbar {
display: flex;
justify-content: space-around;
align-items: center;  
max-width: 22rem;
margin-left: auto;
}
.l-logo {
width: 12rem;
}
.l-header-button {
width: 15.2rem;
margin-left: 3.2rem;
}
.l-header-button a {
display: block;
padding: 1.9rem 1rem;
font-size: 1.215rem;
text-align: center;
border-radius: 100px;
border: 1px solid rgba(0,0,0,1);
}

.l-header__sns {
  width: 4rem;
  max-width: 32px;
  margin-top: 0.8em;
  margin-right: 2rem;
}

.l-header__data {
display: flex;
justify-content: center;
align-items: center;
line-height: 1;
}

.l-header__data_monthly {
font-size:2rem;
font-weight: bold;
margin-right: 1rem;
}
.l-header__data_day {
font-size:3.5rem;
font-weight: bold;
}

.l-heade__data_calendar {
max-width: 9rem;
display: flex;
justify-content: center;
align-items: baseline;
letter-spacing:0.01em;
}
.l-header__data_calendar_sub {
font-size:1rem;
font-weight: bold;
text-align: center;
line-height: 1.2;
margin: 0 1rem;
letter-spacing:0.01em;
}
.l-header__data_monthly_year {
  font-size:1rem;
}
.l-header__data_week {
  font-size:1.5rem;
}

.l-header__post {
max-width: 35px;
width: 4rem;
}
.l-header__post_ttl {
  font-size:0.750rem;
  font-weight: 800;
  text-align: center;
  letter-spacing:0.01em;
  display: block;
}
.l-header__post_number {
  background: #014f99;
  border-radius: 50% 50%;
  color: #fff;
  font-size: 0.9375rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 30px;
  max-height: 30px;
  width: 3rem;
  height: 3rem;
  margin: 0 auto;
}
@media screen and (max-width:900px) {
  .l-header__contents {
    padding: 2rem 1rem;
  }
}
@media screen and (max-width: 768px) {
  .l-logo {
  width: 5rem;
  }
  .l-header_inr {
  height:70px;
  padding: 1rem 0;
  display: block;
  }
  .l-header__contents {
    padding: 0rem 15px;
  }
  .l-header__sns {
  width: 29px;
  height: auto;
  margin-top: 0.6em;
  margin-right: 0.5rem;
  }
  .l-header__data_monthly {
  font-size: 1.215rem;
  margin-right: 0.3rem;
  }
  .l-header__data_day {
  font-size: 2rem;
  }
  .l-header__data_week {
  font-size: 1rem;
  }
  .l-header__data_monthly_year {
  font-size: 0.7rem;
  }
  .l-header__data_calendar_sub {
  font-size: 0.78rem;
  margin: 0 0.5rem;
  }
  .l-header__main {
  gap: 1.5rem;
  grid-template-columns: 1fr 73% 1fr;
  }
  .l-header__post_number {
  font-size: 0.8375rem;
  }
  .l-header__post_number {
  font-size: 0.8375rem;
  max-width: 25px;
  max-height: 25px;
  width: 2rem;
  height: 2rem;
  }
  .l-header__post_ttl {
    font-size: 0.65rem;
  }
  .p-mv__head {
  position: sticky;
  top: 0;
  }

}

@media screen and (max-width: 660px) {
  .l-header__main {
  grid-template-columns: 1fr 1fr 1fr;
  }

}

/* NAVI
------------------------------------------------ */

.l-gnav {
max-width: 1200px;
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
padding: 0 2em;
}
.l-gnav__nav {
display: flex;
justify-content: space-between;
align-items: center;
margin: 0;
padding: 0;
}
.l-gnav__nav li a {
display: block;
white-space: nowrap;
padding:0.5em;
margin: 0 1.25em;
font-size: 1.215rem;
font-weight: bold;
}
.l-gnav__nav li {
position: relative;
}
.l-gnav__nav li:after {
content: "";
display: block;
width: 2rem;
height: 1px;
position: absolute;
background: #014f99;
transform: rotate(-45deg);
right: -1rem;
top: 0;
bottom: 0;
margin: auto;
}
.l-gnav__nav li:last-child::after {
display: none;
}

@media screen and (max-width: 768px) {
  .l-navi {
  display: none;
  }
  .l-gnav__nav li a {
  padding: 0.3em;
  margin: 0 0.5em ;
  font-size: 0.750rem;
  }
  .l-gnav {
  padding-right: 4em;
  }

}

/* CONTENTS HEADER
------------------------------------------------ */
#l-chead {
width: 100%;
margin: 0 auto;
}
.l-chead-cover {
height: 400px;
margin: 0 auto;
max-width: 1200px;
margin: 3em auto;
background:#efefef;
color:#fff;
}
.l-chead-cover.__index {
background:url(images/chead_1.jpg) no-repeat center center;
background-size:cover;
}

/* CONTENTS
------------------------------------------------ */
.l-contents_top {
margin: 0 auto 0;
}
.l-contents {
margin: 6rem auto 6rem;
}
.l-contents__topinr {
 display: flex;
justify-content: space-between;
margin: 0 auto;
position:relative; 
}
.l-contents__inr {
display: flex;
justify-content: space-between;
margin: 0 auto;
max-width: 1200px;
padding:0 15px;
position:relative;
}
.l-contents__inr.__p-page {
width:100%;
justify-content:center;
}

.l-main {
max-width: 1200px;
min-height: 600px;
width:100%;
}

.l-main.__main_page {
max-width: 1200px;
width:auto;
max-width: 100%;
}

.l-main.__main_top {
max-width: 100%;
width:auto;
max-width: 100%;
}

.l-contents__inr.__p-archive {
max-width:100%;
}
.l-main.__p-archive {
max-width:100%;
}


@media screen and (max-width: 768px) {
  .l-main {
  width: auto;
  }
  .l-contents-inr {
  display: block;
  }

}

/* PAN
------------------------------------------------ */
.l-breadcrumb {
display:flex;
margin:2em auto;
align-items: center;
font-size:0.75rem;
max-width:1200px;
padding:0 15px;
}
.l-breadcrumb span {
}
.l-breadcrumb span a {
padding:0.3em;
}


/* SIDE COLUMN
------------------------------------------------ */
.l-side-column {
padding-left: 5em;
}

.l-side-column_inr {
position: sticky;
top: 50px;
width:140px;
padding-top: 5em;
}
.l-side-pic {
background-size:cover !important;
background: #fff;
border-radius: 50% 50%;
display: block;
margin:0 auto;
max-width:120px;
}
.l-side-pic img {
aspect-ratio: 10 / 10;
object-fit: cover;
object-position: center;
border-radius: 50% 50%;
border: 1px solid #ccc;
}
.l-side_sns {
}
.l-side_sns_list li {
margin:1em 0;
font-size:0.750rem;
}
.l-side_sns_list li span {
border: 1px solid #ccc;
padding: 6px;
background: #fff;
border-radius: 50% 50%;
display: inline-block;
margin-right:10px;
}
.l-side_sns_list li img  {
width:23px;
height:23px;
}
.l-side-prof__company {
font-size:0.8125rem;
text-align:center;
margin:1em auto 2em;
}
.l-side_prof_ttl {
font-size:0.8125rem;
font-weight:bold;
margin:0 auto 1em ;
}

.l-side-pagetop {
margin:6em auto 0;
text-align:center;
}
.l-side-pagetop a {
font-size:1.3125rem;
font-weight:bold;
display: inline-block;
font-size:0.9375rem !important;
}
.l-side-pagetop a span {
border-bottom:3px solid #014f99;
}
.l-side-pagetop a span {
transform: translateY(0px);
display: block;
transition: all 0.2s ease;
}
.l-side-pagetop a:hover span {
transform: translateY(5px);
transition: all 0.2s ease;
}


.l-side-pic_bg {
background-size:cover;
}

@media screen and (max-width: 900px) {
  .l-side-column {
  margin-top:6em;
  position: static;
  width: 100%;
  padding-left: 0;
  }
  .l-main {
  padding: 0 ;
  border-right:none;
  }
  .l-side-column_inr {
  position: static;
  padding: 7px 12px;
  display:flex;
  align-items: baseline;
  width:auto;
  display:block;
  }
  
  .l-side_sns_list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  }
  .l-side_sns_list li {
  width:31.33%;
  }
  .l-side_sns_list:after {
  content:"";
  display: block;
  width:31.33%;
  }
}
@media screen and (max-width: 640px) {
  .l-side_sns_list li {
  width:48%;
  }
}

/* FOOTER
------------------------------------------------ */
#l-footer {
width: 100%;
background:#fff;
margin-top:3em;
}
.l-footer__inr {
max-width: 2000px;
padding: 5em 3rem 8rem;
margin: 0 auto;
}
.l-footer__main {
margin:0 auto;
display: flex;
align-items: center;
justify-content: space-between;
flex-direction: row-reverse;
}
.l-footer_menu {
display: flex;
align-items: center;
}
.l-footer_logo {
display: flex;
align-items: center;
justify-content: flex-end;
}
.l-footer-logo {
width: 18.2rem;
}
.l-footer {
display: flex;
align-items: center
}
.l-footer_menu_list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap:1rem;
}
.l-footer_menu_list_item {
  font-size: 1.125rem;
  font-weight: bold;
}
.l-footer-logopic {
  width: 17rem;
}

.l-footer-copy {
margin-top: 1.4rem;
font-size: 0.750rem;
line-height: 1;
text-align: right;
}
.l-footer__copy {
  background: #014f99;
  padding: 3rem ;
  margin: 0 3rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 30px 30px 0 0;
  color: #fff;
}


@media screen and (max-width: 768px) {
  .l-footer_menu {
    justify-content: center;
  }
}

/* BLOG
------------------------------------------------ */
#l-aside {
margin:3em;
background:#ccc;
}

/* PAGETOP */


/* ================================================
   コンテンツページ
================================================ */

/*MV*/
.p-mv {
margin-left: auto;
margin-right: auto;
max-width: 1800px;
width: 100%;
position: relative;
}
.p-mv__inr {
padding: 3rem 3rem 3rem 5rem;
display: grid;
gap:4rem;
grid-template-columns:35% 1fr ;
position: relative;
}
.p-mv__decoration_logo {
position: relative;
width: 100%;
text-align: center;
margin: 0 auto;
}
.p-mv__decoration_logo img {

}
.p-mv_pickup {
color: #e03481;
font-size: 1.5rem;
font-weight: bold;
display: flex;
align-items: center;
transform: rotate(90deg);
position: absolute;
left: -6rem;

bottom: 11rem;
margin: auto;
height: fit-content;
}
.p-mv_pickup_decoration {
width: 4rem;
height: 1px;
display: block;
background: #e03481;
margin: 0 0.5rem;
}

.p-mv__number_decoration {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  width:11rem;
}
.p-mv__number_decoration::before {
  content: "";  
  position: absolute;
  width: 4.6rem;
  margin-left: auto;
  height: 1px ;
  background: #014f99;
  bottom:0;
  left:0;
}
.p-mv__number_decoration:after {
  content: "";
  position: absolute;
  width: 4.6rem;
  margin-left: auto;
  height: 1px ;
  background: #014f99;
  bottom:0;
  right:0;
}
.p-mv__number_decoration_line {
    position: relative;
    display: block;
    width: 2.6rem;
    margin: 0 auto;
    bottom: -0.65rem;
}
.p-mv__number_decoration_line::before {
  content: "";
  width: 1.5rem;
  height: 1px ;
  background: #014f99;
  transform: rotate(60deg);
    position: absolute;
    left:0;
}
.p-mv__number_decoration_line::after {
  content: "";
  width: 1.5rem;
  height: 1px ;
  background: #014f99;
  transform: rotate(-60deg);
      position: absolute;
      right: 0;
}

.p-mv__number_item {
display: flex;
align-items: baseline;
position: relative;
}
.p-mv__number_current {
    font-size: 2.5rem;
  font-weight: bold;
      line-height: 1;
}
.p-mv__number_current_big {
    font-size: 4rem;
  font-weight: bold;
  margin: 0 0.6rem;
}
.p-mv__number_count {
    font-size: 2rem;
  font-weight: bold;
}
.p-mv__container {
display: flex;
flex-direction: column;
/*gap: 2em;*/
justify-content: space-between;
order: 0;
position: relative;
z-index: 2;
margin-top: 2rem;
    position: sticky;
    top: 0;
}
.p-mv__container_sticky {
align-content: flex-end;
align-items: flex-end;
flex-direction: row;
flex-wrap: wrap;
gap: 6px 10px;
justify-content: flex-start;
margin: 0 0 0 0;
padding: 0px;
position: sticky;
top: 84px;
}
.p-mv__ttl {
  font-size: 4rem;
  font-weight: bold;
  width: 47rem;
}
.p-mv__ttl span {
background: #fff;
padding: 0.2rem;
}
.p-mv__company {
  display: flex;
  gap: 1rem;
  align-items: center;
    margin-top: 3rem;
}
.p-mv__company_pic img {
    width: 5rem;
    max-width: 70px;
    height: 5rem;
    max-height: 70px;
    border-radius: 50% 50%;
    border:1px solid #ccc;
}
.p-mv__company_name {
  font-size: 1.215rem;
  font-weight: bold;
}
.p-mv__company_name span {
  padding: 0.2rem;
  background: #fff;
}
.p-mv__pic {
flex: none;
flex-direction: row;
flex-wrap: nowrap;
justify-content: center;
width: 100%;
z-index: 0;
max-width: 100%;
}
.p-mv__pic_anker {
align-items: flex-end;
flex: none;
flex-direction: column;
flex-wrap: nowrap;
justify-content: flex-start;
margin: 15rem 0px 0px 0px;
}

@media screen and (max-width: 1600px) {
  .p-mv__ttl {
  font-size: 4.3vw;
  }
  .p-mv__pic_anker {
    margin: 26vw 0px 0px 0px;
  }

}

/* TOP
------------------------------------------------ */
.p-top_section {
  padding: 6rem 0;
}
.p-top_section_inr {
  max-width: 2000px;
  margin: 0 auto;
}
.p-top_section.p-top_business {
    padding: 0;
}
.p-top_business {
  background: #fff;
}

.p-top_section_head {
border-top:1px solid #014f99;
display:flex;
justify-content: space-between;
align-items: center;
padding: 3rem 2rem ;
gap: 3rem;
}
.p-top_section_head_ttl {
  font-size: 3.5rem;
  font-weight: bold;
}
.p-top_section_head_ttl_sub {
  font-size: 1.215rem;
  margin-left: 1rem;
}
.p-top_section_head_txt {
    font-size: 1.125rem;
    font-weight: bold;
}

.p-top-postlist {
display:grid;
justify-content: space-between;
border-top:1px solid #014f99;
}
.p-top-postlist_item {
border-bottom:1px solid #014f99;
}
.p-top-postlist_item:first-child {
border-right:1px solid #014f99;
}

.p-top-postlist.__list_big .p-top-postlist_item {
	border-bottom: none;
}

.p-top-postlist .p-top-postlist_item {
  border-right:1px solid #014f99;
}
.p-top-postlist .p-top-postlist_item:nth-child(4n) {
border-right:none;
}

.p-top-postlist.__list_big {
grid-template-columns: 1fr 1fr;
}
.p-top-postlist.__list_big .p-top-postlist_item:nth-child(2) {
border-right:none;
}
.p-top-postlist.__list_normal {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
border-top:none;
border-top:1px solid #014f99;
}
.p-top-postlist_wrap {
  padding:2.5vw;
}
.p-top-postlist.__list_big .p-top-postlist_wrap {
    padding: 4vw;
}
.p-top-postlist__pic img {
  width: 100%;
  aspect-ratio: 4 / 3;
	object-fit: cover;
}

.p-top-postlist_data {
  display: block;
  margin: 1rem 0 0.5rem;
  font-weight: bold;
  color: #797979;
  font-size: 1.125rem;
  line-height: 1.5;
}
.__list_big .p-top-postlist_ttl {
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1.5;
}
.__list_normal .p-top-postlist_ttl {
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.5;
}
.p-top-postlist_company {
  font-size: 1rem;
  margin-top: 1rem;
}
.p-top-postlist_btn_section {
background: #f4f4f4;
padding: 4rem 1rem;
}
.p-top_about_btn {
  margin-top: 3rem !important;
}


.c-button_more {
    margin: 0 auto;
    display: flex;
    justify-content: center;
}
.c-button_more_item {
  display: inline-block;
 padding: 1rem 2rem;
 color: #014f99;
 font-size: 1rem;
 font-weight: 500;
 border: 1px solid #014f99;
 border-radius: 50px 50px;
 position: relative;
 min-width: 240px;
 text-align: center;
 margin: 0 auto;
 background: #fff;
}
.btn_arrow {
  display: inline-block;
  vertical-align: middle;
  color: #014f99;
  line-height: 1;
  position: relative;
  width: 1em;
  height: 0.1em;
  background: #014f99;
      position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 1.8rem;
}
.btn_arrow::before {
  content: '';
  width: 0.65em;
  height: 0.65em;
  border: 0.1em solid #014f99;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(45deg);
  transform-origin: top right;
  position: absolute;
  top: 50%;
  right: -0.05em;
  box-sizing: border-box;
}


.c-button_more_item.__btn_wht {
 color: #fff;
 border: 1px solid #fff;
 background: none;
}
.c-button_more_item.__btn_wht .btn_arrow {
  color: #fff;
  background: #fff;
}
.c-button_more_item.__btn_wht .btn_arrow::before {
  border-color: #fff;
}


.l-sitedescription {
  display: flex;
  width: 100%;
  overflow: hidden;
  background: #f2f2f2;
  padding: 1rem 0;
  border-top: 1px solid #014f99;
  border-bottom: 1px solid #014f99;
  margin-top: 1px;
}
.loop_text {
  flex: 0 0 auto;
  white-space: nowrap;
  font-size:0.750rem;
  font-weight: bold;
  overflow: hidden;
  padding-left: 20px;
  color: #014f99;
}
.loop_text span {
  margin-left: 2rem;
}
.loop_text:nth-child(odd) {
  animation: loop 90s -45s linear infinite;
}
.loop_text:nth-child(even) {
  animation: loop2 90s linear infinite;
}
@keyframes loop {
    0% {
      transform: translateX(100%);
    }
    to {
      transform: translateX(-100%);
    }
}
@keyframes loop2 {
    0% {
      transform: translateX(0);
    }
    to {
      transform: translateX(-200%);
    }
}


@media screen and (max-width: 768px) {
  .p-mv__ttl {
    font-size: 3rem;
    width: auto;
  }
  .p-mv__company_name {
    font-size: 1rem;
  }
  .p-mv_pickup {
    font-size: 1rem;
    left: -5rem;
    top: 0;
    bottom: 0;
    margin: auto;
    height: fit-content;
  }

  .p-mv__pic_anker {
    margin: 4rem 0px 0px 0px;
  }
  .p-mv__number_current_big {
    font-size: 3rem;
  }
  .p-mv__number_count {
    font-size: 1.5rem;
  }
  .p-mv__number_current {
    font-size: 2rem;
  }
  .p-mv__number_decoration {
    width: 9rem;
  }

  .p-mv__number_decoration::before {
    width: 3.6rem;
  }
  .p-mv__number_decoration::after {
    width: 3.6rem;
  }


  .l-sitedescription {
  padding: 0.5rem 0;
  }
  .loop_text {
    font-size: 0.650rem;
  }
  .p-mv__inr {
    padding: 2rem 2rem 3rem 3rem;
    gap: 3rem;
  display: block;
  }
  .p-top_section_head_ttl {
  font-size: 2rem;
  }
  .p-top_section_head {
    display: block;
    padding: 2rem 1rem;
  }
  .p-top_section_head_txt {
    font-size: 0.8735rem;
  }
  .p-top_section_head_ttl_sub {
    font-size: 1rem;
  }

  .p-top-postlist.__list_normal {
		grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .p-top-postlist.__list_big {
    grid-template-columns: 1fr;
  }

  .p-top-postlist_data {
    font-size: 1rem;
  }
  .p-top-postlist_company {
    font-size: 0.9735rem;
  }
  .p-top-postlist_wrap {
    padding: 4vw;
  }
  .p-top_section {
    padding: 4rem 0;
  }
 .p-top_section.p-top_sitename {
    padding: 4rem 2rem;
  }

  .p-top-postlist .p-top-postlist_item:nth-child(2n) {
  border-right:none;
  }
  .p-top-postlist.__list_big .p-top-postlist_item:nth-child(1) {
    border-right: none;
  }
  
}

@media screen and (max-width: 660px) {

  .p-top-postlist.__list_normal {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .p-top-postlist.__list_big {
    grid-template-columns: 1fr;
  }

  .p-mv__ttl {
  font-size: 1.5rem;
  width: auto;
  }
  .p-mv__inr {
  padding: 2rem 1rem 4rem 3rem;
  }
  .p-mv__company {
  margin-top: 1.5rem;
  }
  .p-mv__company_pic img {
    max-width: 60px;
    max-height: 60px;
  }
  .p-mv__pic_anker {
  margin: 3rem 0px 0px 0px;
  padding-bottom: 5rem;
  }

  .p-top-postlist.__list_big .p-top-postlist_wrap {
  padding: 2rem;
  }
  .__list_big .p-top-postlist_ttl {
    font-size: 1.3rem;
  }
  .p-top-postlist_btn_section {
    background: #f4f4f4;
    padding: 3rem 1rem;
  }

}

/*ABOUT*/
.p-top_about {
padding: 8rem 6vw;
background: #014f99;
color: #fff;
}
.p-top_about_head_ttl {
  font-size: 3.5rem;
font-weight: bold;
margin-bottom: 1rem;
line-height: 1.5;
}
.p-top_about_head_ttl_sub {
font-size: 1.215rem;
display: block;
}
.p-top_about_main {
display: flex;
gap: 3rem;
justify-content: space-between;
align-items: stretch;
}
.p-top_about_head {
  margin-bottom:5rem;
}
.p-top_about_main_pic {
	display: flex;
	width: 50%;
}
.p-top_about_main_pic img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}
.p-top_about_main_txt {
  width: 47%;
}
.p-top_about_main_ttl {
font-size: 2rem;
font-weight: bold;
margin-bottom: 1rem;
}
.p-top_about_main_mes {
  font-size: 1rem;
  font-weight: 500;
}



@media screen and (max-width: 768px) {
  .p-top_about_main {
    display: block;
  }
  .p-top_about_main_txt {
    width: auto;
  }
  .p-top_about_main_pic {
    width: auto;
    margin-top: 4rem;
  }
  .p-top_about_main_ttl {
    font-size: 1.5rem;
  }
  .p-top_about_head_ttl {
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 1rem;
    line-height: 1.5;
  }
  .p-top_about {
    padding: 6rem 2rem;
  }
  .p-top_about_head_ttl_sub {
    font-size: 1.125rem;
  }
  .p-top_about_head {
    margin-bottom: 3rem;
  }

}


/*LINK*/
.p-top_link {
  background: #f2f2f2;
  margin-bottom: -1px;
  padding: 6rem 5rem;
}

.p-top_link_list_item_head {
  display: flex;
  justify-content: space-between;
}
.p-top_link_list {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
}
.p-top_link_list_item {
  background: #fff;
  border: #014f99 1px solid;
  margin-right: -1px;
}
.p-top_link_list_item a {
  padding: 4rem 3vw;
}
.p-top_link_ttl {
font-size: 1.5rem;
font-weight: bold;
}
.p-top_link_txt {
margin-top: 1rem;
}
.p-top_link_list_item_head {
 position: relative;
}
.link-arrow {
  display: inline-block;
  place-content: center;
  vertical-align: middle;
  text-align: center;
  background: #fff;
  width: 2rem;
    height: 2rem;
  border-radius: 100vmax;
  border: 1px solid #014f99;
      position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.link-arrow::before,
.link-arrow::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.link-arrow::before {
  background: #014f99;
  width: 12px;
  height: 1px;
}

.link-arrow::after {
  width: 9px;
  height: 9px;
  border: 1px solid #014f99;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(45deg);
  transform-origin: center;
}


@media screen and (max-width: 768px) {
  .p-top_link_list {
    grid-template-columns: 1fr;
  }
  .p-top_link {
    padding: 5rem 2rem;
  }

  .p-top_link_list_item a {
    padding: 3rem 2rem;
  }
  .p-top_link_list_item {
    margin-right: 0;
    margin-bottom: -1px;
  }

}

/*BOTTOM*/
.p-top_section.p-top_sitename {
   border-bottom: 1px solid #014f99; 
}
.p-top_sitename_wrap {
  text-align: center;
}
.p-top_sitename_catchcopy {
  max-width: 30rem;
      margin: 0 auto;
}
.p-top_sitename_logo {
  width: 15rem;
      margin: 2rem auto;
}
.p-top_sitename_en {
  font-size: 1rem;
  font-weight:bold;
      margin: 0 auto;
}


@media screen and (max-width: 768px) {
  .p-top_sitename_catchcopy {
    max-width: 20rem;
  }
  .p-top_sitename_logo {
    width: 10rem;
  }
  .l-footer__main {
    margin: 0 auto;
    display: block;
  }
  .l-footer_menu_list {
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  }
  .l-footer__inr {
    padding: 1rem 2rem 5rem;
  }
  .l-footer_logo {
    display: flex;
    justify-content: center;
    margin-top: 3rem;
  }
  .l-footer__copy {
    padding: 2rem;
    margin: 0 2rem;
  }
  .l-footer_copyright {
    font-size:0.9rem;
  }

}

/* PAGE
------------------------------------------------ */
.l-main.__page h3 {
font-size: 1.5rem;
font-weight:bold;
margin:2rem 0;
}
.p-about_mes p {
margin-bottom:1rem;
}
.p-about_mes ul {
	margin-top: 40px; 
	list-style-type: disc; 
	padding-left: 1.5em;
	line-height: 1.8;
}
.p-about_mes h4 {
font-size: 1.215rem;
font-weight:bold;
margin:2rem 0;
}
.p-about_mes img {
	width: 100%;
	margin:40px auto 0 auto; 
	text-align:center;
}


/* ARCHIVE
------------------------------------------------ */

.entry_img {
width:100%;
padding-top:85%;
background-size:cover !important;
background-position: center !important;
}
.p-singular-pic .entry_img {
padding-top:67%;
}

.l-ttlhead {
text-align:center;
margin-bottom:5rem;
}
.l-ttlhead.__ttl_second {

margin-top:6em;
}
.l-archive_jobtype {
display: flex;
align-items: center;
background:#efefef;
justify-content: center;
margin-bottom: 3em;
padding:0.5em;
}
.l-archive_jobtype p {
font-weight:bold;
margin-right:1em;
}
.l-archive_jobtype_list {
display: flex;
justify-content: center;
align-items: center;
max-width: 500px;
width: 100%;
}
.l-archive_jobtype_list li {
margin:0 0.5em;
width: calc(50% - 4rem);
}
.l-archive_jobtype_list li a {
padding:0.5em 0.5em;
background:#fff;
text-align:center;
}
.l-archive_jobtype_list li a.current {
background:#ec6941;
color:#fff;
}
.l-archive_jobtype_list li a:hover {
background:#ec6941;
color:#fff;
}


.p-archive_navi {
margin-top:4rem;
}
.wp-pagenavi {
    clear: both;
    display: flex;
    text-align: center;
    justify-content: center;
}
.wp-pagenavi a, .wp-pagenavi span {
    border: none !important;
}

@media screen and (max-width: 640px) {
  .p-topinfo_list li a dl {
  display:block;
  }
  .p-info_list li a dl {
  display:block;
  }
}


/* SINGLE
------------------------------------------------ */
.p-singular-ttl {
font-size:3rem;
font-weight:bold;
margin-bottom:2rem;
}
.p-singular-ttl_sub {
font-size:1.5rem;
font-weight:bold;
}
.p-singular-ttl_sub span {
font-size:1.215rem !important;
display:block !important;
margin-top:0.5rem;
}
.p-singular {
}
.p-singular-name {
	margin-top: 1em;
	font-size:1.4rem;
	font-weight:bold;
	line-height:1.6;
}
.p-singular-data {
	display: inline-block;
	font-size: 1.125rem;
	color:#014f99;
}
.p-singular-data span {
	color:#000;
}
.p-singular-data + .p-singular-data {
	margin:0 0 0 20px;
}
@media screen and (max-width: 768px) {
	.p-singular-name {
		font-size: 1.125rem;
	}
	.p-singular-data {
		display: block;
	}
	.p-singular-data.--release {
		margin:1em 0 0;
	}
	.p-singular-data + .p-singular-data {
		margin:0.5em 0 2em;
	}
}
.p-singular-discription {
display:flex;
justify-content: space-between;
margin:3em 0 0;
/* padding-bottom:2em; */
column-gap: 20px;
background:#e5f2ff;
padding:3rem;
border-radius:10px 10px;
}
.p-singular-head-l {
width:45%;
}
.p-singular-head-l p:not(._company),
.p-singular-head-r p {
	color: #000;
}
.p-singular-head-l p._company {
	display: inline-block;
	font-size: 18px;
	padding-bottom: 5px;
	border-bottom: 1px solid #014f99;
	margin-bottom: 20px;
}
.p-singular-head-r {
width:55%;
}
.p-singular-head-r {
font-size: 0.9375rem;
}
.p-singular-head-r p {
margin-bottom:0.8em;
}
.p-singular-head-r ._company {
font-size: 1.2rem;
margin-bottom:0.8em;
}
.p-singular-head-r ._url a {
color:#00a0e9;
text-decoration:underline;
display:inline;
}
.p-singular-head-r ._url{
margin-bottom:1em;
}
.p-singular-head-r ._mes {
}
.p-singular-head {
margin:0 0 3rem 0;
}
.p-singular-pic {
margin:0 0 2.5em 0;
}

.p-singular-block_area {
border-bottom:1px solid #e5e5e5;
padding:5em 0;
}
.p-singular-block_area .__ttl {
margin-bottom:2em;
}
.p-singular-area figure {
	border-top: 1px solid #e5e5e5;
	padding: 3em 0 0;
	margin: 3em 0 2em;
}
.p-singular-area h2 {
	font-size: 1.5rem;
	margin: 2em 0 1em;
}
.p-singular-area p {
margin-bottom:0.8em;
font-size:1rem;
line-height:1.6;
text-align:justify;
/* margin-left: 4%; */
/* padding-left: 1.8rem;
text-indent: -1.8rem; */
/* text-indent: 1rem; */
}
.p-singular-area.--restaurant p {
padding-left: 0;
text-indent: 0;
}
.p-singular-area img {
/* aspect-ratio: 3 / 2; */
/* object-fit: cover;
object-position: center; */
width: 100%;
height: auto;
}
.youtube {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
}

.youtube iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}

/*下部リンク*/
.l-singular-link {
background:#fff;
margin:4em 0 0;
padding: 4rem 0 0 0;
border-top: 1px solid #014f99;
}
.l-singular-link__sns {
display: flex;
justify-content:center;
margin-bottom:3rem;
}
.l-singular-link__sns dl {
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
row-gap: 10px;
}
.l-singular-link__sns dl dt {
font-weight:bold;
}
.l-singular-link__sns_list {
display: flex;
align-items: center;
}
.l-singular-link__sns_list li {
width:25px;
margin:0 1em;
}
.l-singular-link__membership {
width:50%;
}
.l-singular-link__membership a {
padding:5em 0;
background:url(images/singular_membership_bg.jpg) no-repeat center center;
}
.l-singular-link__membership .__ttl {
color:#fff;
text-align:center;
font-size:1.3125rem;
font-weight:bold;
}
.l-singular-link__membership .__ttl span {
font-size:0.875rem;
display:block;
}
/*PAGE NAVI*/
.l-singular-pagenavi {
display: flex;
align-items: center;
margin:3em auto;
position:relative;
justify-content: space-between;
}
.l-singular-pagenavi:after {
content:"";
height:100%;
width:1px;
display:block;
position:absolute;
left:0;
right:0;
top:0;
bottom:0;
background:#ccc;
margin:auto;
}
.l-singular-pagenavi div a {
padding:2em 0;
text-align:center;
font-size:1rem;
font-weight:bold;
display: flex;
justify-content: center;
}
.l-singular-pagenavi div a:hover {
background:#fff;
}
.l-singular-pagenavi_next {
width:50%;
}
.l-singular-pagenavi_prev {
width:50%;
}
.l-singular-pagenavi div a span {
position:relative;
}
.l-singular-pagenavi_next a span:after {
position: absolute;
top: 50%;
left: -25px;
display: block;
content: '';
width: 8px;
height: 8px;
margin-top: -4px;
border-top: 2px solid #014f99;
border-right: 2px solid #014f99;
-webkit-transform: rotate(-135deg);
transform: rotate(-135deg);
}
.l-singular-pagenavi_prev a span:after {
position: absolute;
top: 50%;
right: -25px;
display: block;
content: '';
width: 8px;
height: 8px;
margin-top: -4px;
border-top: 2px solid #014f99;
border-right: 2px solid #014f99;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

/*PAGE TOP*/
.l-singular-pagetop {
margin:6em auto 0;
text-align:center;
}
.l-singular-pagetop a {
font-size:1.3125rem;
font-weight:bold;
display: inline-block;
}
.l-singular-pagetop a span {
border-bottom:3px solid #014f99;
}
.l-singular-pagetop a span {
transform: translateY(0px);
display: block;
transition: all 0.2s ease;
}
.l-singular-pagetop a:hover span {
transform: translateY(5px);
transition: all 0.2s ease;
}

@media screen and (max-width: 900px) {
  .p-singular-discription {
  display: block;
  }
  .p-singular-head-l {
  /* width: 130px; */
	width: 100%;
  margin: 0 auto 2em;
  }
	.l-contents__inr._single {
		flex-direction: column;
	}
  .p-singular-head-r {
  width: auto;
  }
	.p-singular-head-l p._company {
		font-size: 16px;
		margin-bottom: 10px;
		margin-top: 20px;
	}
  .l-singular-link__sns dl dt {
  font-weight: bold;
	margin-bottom: 10px;
  }
  .l-singular-link__sns_list li {
  margin: 0 0.5em;
  }
  .l-singular-link__sns dl {
  display: block;
  }
  .l-singular-link__membership {
  width:auto;
  }
  .l-singular-link__sns {
  width:auto;
  padding:2em 0;
  }
  .l-singular-link {
  display: block;
  }
  .p-singular-ttl {
  font-size: 1.5rem;
  }
  .p-singular-discription {
  margin: 3em 0 0;
  }
  .l-singular-pagetop {
  right:1.5em;
  bottom:1em;
  }
  .l-singular-pagetop a {
  font-size:0.875rem;
  }
}
@media screen and (max-width: 768px) {
  .p-singular-data {
  margin: 1em 0 2em;
  }
  .p-singular-block_area .__txt {
  margin-left:0;
  }
  .l-singular-link__sns dl dt {
  margin-right: 0;
  margin-bottom:1em;
  }
  .l-singular-link__sns_list li {
  margin: 0 1em;
  }
  .p-singular-area p {
  margin-left: 0;
  }

}


/* CONTACT
------------------------------------------------ */
.cform  {
margin:40px auto;
padding:0 15px;
}
.cform table {
width:100%;
font-size:1rem;
margin:20px auto 0;
border-top:1px solid #ccc;
}
.cform table .check {
margin-left:10px;
}
.cform table tr {
border-bottom:1px solid #ccc;
}
.cform table tr th {
width: 35%;
padding:20px 10px ;
color: #333;
vertical-align: middle;
text-align: left;
}
.cform table tr td {
padding:20px 10px ;
}
.cform table tr td input[type="text"],
.cform table tr td input[type="email"] {
border: 1px solid #a5a5a5;
padding: 1em;
}
.cform table tr td textarea {
border: 1px solid #a5a5a5;
padding:10px ;
width: 93%;
}
.mwform-tel-field input[type="text"] {
width:auto !important;
}
.cform .attention {
font-size:0.9rem;
margin:80px auto 0;
}
.cform .attention span {
display:block;
}
.cform .check {
color:#cc0000;
}

.cform table input[type=checkbox] {
  -ms-transform: scale(1.5, 1.5);
  -webkit-transform: scale(1.5, 1.5);
  transform: scale(1.5, 1.5);
}

.cform input.button {
-webkit-appearance: none;
  display       : inline-block;
  font-weight:bold;
  font-size     : 1.5rem;        /* 文字サイズ */
  text-align    : center;      /* 文字位置   */
  cursor        : pointer;     /* カーソル   */
  padding       : 20px 60px;   /* 余白       */
  background    : #1a72ad;     /* 背景色     */
  color         : #ffffff;     /* 文字色     */
  line-height   : 1em;         /* 1行の高さ  */
  transition    : .3s;         /* なめらか変化 */
  border        : 1px solid #1a72ad;    /* 枠の指定 */
  border-radius: 6px 6px;
}
.cform input.button:hover {
  box-shadow    : none;        /* カーソル時の影消去 */
  color         : ;     /* 背景色     */
  background    : #797979;     /* 文字色     */
  border        : 1px solid #797979;
  transition    : .3s;
}
.contact_add {
margin:10px 0 0 ;
}
.contact_mes {
margin:0 auto 40px ;
max-width:640px;
background:#f7f7f7;
padding:15px;
text-align:center;
}

.contact_tel .tel {
font-size:2rem;
font-weight:bold;
color:#47b6db;
margin:10px auto;
}
.contact_tel .close {
font-size:1.2rem;
}


.txtinput input {
width: 93%;
}
.addinput input {
border: 1px solid #a2a2a2;
padding: .8em;
}
.addinput span input{
width: 93%;
}

.telinput input{
width: auto;
width: 93%;
}
.checkboxsize checkbox {
-ms-transform: scale(2);
    transform: scale(2);
}

.mw_wp_form .vertical-item {
    display: inline-block !important;
    margin:0 6px 0;
}

.contact_tel {
font-size:1.3rem;
font-weight:normal;
color:#333;

}
.contact_tel span {
color:#ee8002;
font-size:1.8rem;
font-weight:bold;
}

input[type=checkbox] {
  -ms-transform: scale(1.5, 1.5);
  -webkit-transform: scale(1.5, 1.5);
  transform: scale(1.5, 1.5);
}

.contact_tel {
margin:20px auto 20px;
background:#f5f5f5;
text-align:center;
padding:25px 15px;
}
.contact_tel h3 {
font-size:1.5rem;
font-weight:bold;
color:#1a72ad;
}
.contact_tel_num {
font-size:3rem;
font-weight:bold;
}
.contact_tel_date {
font-size:1.3rem;
color:#828282;
}

.thanks_pad {
padding:25px ;
margin:30px auto 0;
background:#eef9ff;
text-align:center;
}
.thanks_pad h3 {
font-size: 18px;
}

.l-contact_thanks_ttl {
margin: 0 0 2em;
    font-size: 1.3rem;
    text-align: center;
}

@media screen and (max-width: 768px) {
	.cform table tr th {
	width: auto !important;
	padding:15px 0 0 0;
	display:block;
	color: #333;
	}
	.cform table tr td {
	padding:10px 0 15px 0 ;
	display:block;
	}
	.cform  {
	padding:0;
	}
  .cform .attention span {
  display:inline;
  }
}



/* PRIVACY
------------------------------------------------ */
.wrapHINAGATA h3 {
margin:1.5em 0;
font-size:1.3125rem;
padding:12px 0;
border-bottom:1px solid #ccc;
}
div.wrapHINAGATA p{
	margin:20px 0;
	line-height:1.6;
}
div.wrapHINAGATA ul{
	margin:20px 0 0 30px;
}
div.wrapHINAGATA ul li{
	list-style:outside decimal;
	line-height:140%;
	margin:10px 0 0 0;
}
div.wrapHINAGATA ul li ul{
	margin:15px 0 10px 10px;
}
div.wrapHINAGATA ul li ul li{
	list-style:outside none;
	margin-left:20px;
	text-indent:-1.5em;
}
div.wrapHINAGATA ul.child{
	margin:15px 0 0 10px;
}
div.wrapHINAGATA ul.child li{
	list-style:outside none;
	margin-left:45px;
	text-indent:-1.7em;
}
div.wrapHINAGATA p.tR{
	margin:30px 0 0 0;
	font-size:0.95em;
	line-height:140%;
	text-align:right;
}
div.wrapHINAGATA ul li ul li ol li{
	list-style:outside lower-roman;
	margin-left:20px;
	text-indent:-0.2em;
}
div.wrapHINAGATA ol{
	margin:20px 0 0 40px;
}
div.wrapHINAGATA ol li{
	list-style:outside decimal;
	line-height:140%;
	margin:10px 0 0 0;
}
div.wrapHINAGATA ol li ol{
margin-bottom: 20px;
}
div.wrapHINAGATA ol li ol li{
font-size: 100%;
}

/* お問い合せ
------------------------------------------------ */
.cform  {
margin:40px auto;
padding:0 15px;
}
.cform table {
width:100%;
font-size:1rem;
margin:20px auto 0;
border-top:1px solid #ccc;
}
.cform table .check {
margin-left:10px;
}
.cform table tr {
border-bottom:1px solid #ccc;
}
.cform table tr th {
width: 35%;
padding:20px 10px ;
color: #333;
vertical-align: middle;
text-align: left;
}
.cform table tr td {
padding:20px 10px ;
}
.cform table tr td input[type="text"],
.cform table tr td input[type="email"] {
border: 1px solid #a5a5a5;
padding: 1em;
}
.cform table tr td textarea {
border: 1px solid #a5a5a5;
padding:10px ;
width: 93%;
}
.mwform-tel-field input[type="text"] {
width:auto !important;
}
.cform .attention {
font-size:0.9rem;
margin:80px auto 0;
}
.cform .attention span {
display:block;
}
.cform .check {
color:#cc0000;
}

.cform table input[type=checkbox] {
  -ms-transform: scale(1.5, 1.5);
  -webkit-transform: scale(1.5, 1.5);
  transform: scale(1.5, 1.5);
}

.cform input.button {
-webkit-appearance: none;
  display       : inline-block;
  font-weight:bold;
  font-size     : 1.5rem;        /* 文字サイズ */
  text-align    : center;      /* 文字位置   */
  cursor        : pointer;     /* カーソル   */
  padding       : 20px 60px;   /* 余白       */
  background    : #1a72ad;     /* 背景色     */
  color         : #ffffff;     /* 文字色     */
  line-height   : 1em;         /* 1行の高さ  */
  transition    : .3s;         /* なめらか変化 */
  border        : 1px solid #1a72ad;    /* 枠の指定 */
  border-radius: 6px 6px;
}
.cform input.button:hover {
  box-shadow    : none;        /* カーソル時の影消去 */
  background    : #797979;     /* 文字色     */
  border        : 1px solid #797979;
  transition    : .3s;
}
.contact_add {
margin:10px 0 0 ;
}
.contact_mes {
margin:0 auto 40px ;
max-width:640px;
background:#f7f7f7;
padding:15px;
text-align:center;
}

.contact_tel .tel {
font-size:2rem;
font-weight:bold;
color:#47b6db;
margin:10px auto;
}
.contact_tel .close {
font-size:1.2rem;
}


.txtinput input {
width: 93%;
}
.addinput input {
border: 1px solid #a2a2a2;
padding: .8em;
}
.addinput span input{
width: 93%;
}

.telinput input{
width: auto;
width: 93%;
}
.checkboxsize checkbox {
-ms-transform: scale(2);
    transform: scale(2);
}

.mw_wp_form .vertical-item {
    display: inline-block !important;
    margin:0 6px 0;
}

.contact_tel {
font-size:1.3rem;
font-weight:normal;
color:#333;

}
.contact_tel span {
color:#ee8002;
font-size:1.8rem;
font-weight:bold;
}

input[type=checkbox] {
  -ms-transform: scale(1.5, 1.5);
  -webkit-transform: scale(1.5, 1.5);
  transform: scale(1.5, 1.5);
}

.contact_tel {
margin:20px auto 20px;
background:#f5f5f5;
text-align:center;
padding:25px 15px;
}
.contact_tel h3 {
font-size:1.5rem;
font-weight:bold;
color:#1a72ad;
}
.contact_tel_num {
font-size:3rem;
font-weight:bold;
}
.contact_tel_date {
font-size:1.3rem;
color:#828282;
}

.thanks_pad {
padding:25px ;
margin:30px auto 0;
background:#eef9ff;
text-align:center;
}
.thanks_pad h3 {
font-size: 18px;
}

@media screen and (max-width: 768px) {
	.cform table tr th {
	width: auto !important;
	padding:15px 0 0 0;
	display:block;
	color: #333;
	}
	.cform table tr td {
	padding:10px 0 15px 0 ;
	display:block;
	}
	.cform  {
	padding:0;
	}
  .cform .attention span {
  display:inline;
  }
}


/* ADD
------------------------------------------------ */
.b {
font-weight:bold;
}
.center {
text-align:center;
}
.mt10 {
margin-top: 10px;
}
.mt20 {
margin-top: 20px;
}
.mt40 {
margin-top: 40px;
}
.mt60 {
margin-top: 60px;
}
.mt80 {
margin-top: 80px;
}
.mt120 {
margin-top: 120px;
}
.f11{
font-size: 11px;
}
.f12{
font-size: 12px;
}
.f15{
font-size: 15px;
}
.f16{
font-size: 16px;
}
.f18 {
font-size: 18px;
}
.f21 {
font-size: 21px;
}
.f24 {
font-size: 24px;
}
.red {
color: #cc0000;
}
.txt-r {
text-align: right;
}
.bg-gray1{
padding:20px;
background:#efefef;
}
.aligncenter {
display: block;
margin: 0 auto;
}
.alignright {
float: right;
}
.alignleft {
float: left;
}

/*SPMENU*/
/* ハンバーガーボタン
------------------------------------------------ */
.sp_sns_icn li{
width:25px;
}
.sp_sns_icn li img {
filter: brightness(0) invert(1);
}

.c-hamburger {
  width: 2.5rem;
	height: 2.5rem;
	z-index: 20;
	padding: 0 0;
  position: absolute;
  right: 0;
  border: none;
  background:none;
  cursor: pointer;

    position: absolute;
    top: 0;
    right:1rem;

    display: none;
}

.c-hamburger span {
	position: relative;
	display: block;
	height: 1px;
	background-color:#014f99;
	transition: 0.3s ease-in-out;
	margin-left: auto;
	margin-right: auto;
}
.c-hamburger.open {

}
.c-hamburger.open span {
background-color:#fff;
}

.c-hamburger span:nth-child(1) {
  width: 2.5rem;
}

.c-hamburger span:nth-child(2) {
	width: 2.5rem;
  margin-top: 8px;
	margin-bottom: 8px;
}

.c-hamburger span:nth-child(3) {
	width: 2.5rem;
  	top: 0;
}
.c-hamburger.open span:nth-child(1) {
  top: 9px;
  transform: rotate(45deg);
}

.c-hamburger.open span:nth-child(2) {
  background-color: transparent;
	box-shadow: none;
}

.c-hamburger.open span:nth-child(3) {
	width: 2.5rem;
  top: -10px;
  transform: rotate(-45deg);

}
/**/
.p-drawer__logo {
max-width:300px;
}
.p-drawer {
	display: grid;
	place-items: center;
	position: fixed;
	top: 0;
	right: -100%;
	width: 100%;
	height: 100%;
	z-index: 15;
	transition: all 0.8s;
	background-color: #014f99;
	padding-top: 20px;
	padding-bottom: 20px;
}

.p-drawer.open {
	right: 0;
}

.p-drawer__wrap {
	display: flex;
	align-items: center;
	justify-content: center;
  height: 85vh;
}

.p-drawer__logo {
	width: 100%;
	height: auto;
	max-width: 280px;
  margin-right: 6em;
}

.p-drawer__navigation-wrap {
  height: inherit;
  overflow-y: scroll;
  padding: 5em 2em;
}

.p-drawer__navigation-wrap::-webkit-scrollbar {
	width: 1px;
}
.p-drawer__navigation-wrap::-webkit-scrollbar-track {
	background-color: white;
}

.p-drawer__navigation-item {
	letter-spacing: 0.075em;
	line-height: 1;
	color: #fff;
	font-size: 2rem;
}
.p-drawer__navigation-items--bottom {
		display: flex;
    justify-content: space-between;
    margin-top:2em;
}
.p-drawer__navigation-item--bottom {
	font-size: 1.8rem;
	letter-spacing: 0.075em;
	line-height: 1.6;
	color: white;
}
.p-drawer__navigation-item {
	display: flex;
}
.p-drawer__navigation-item a {
color:#fff;
}
.p-drawer__navigation-subItem {

}
.p-drawer__navigation-subItem + .p-drawer__navigation-subItem {
	margin-top: 1em;
}

.p-drawer__navigation-item + .p-drawer__navigation-item {
	margin-top: 1.5em;
}

@media screen and (max-width: 768px) {
  .p-drawer__wrap {
  display: block;
  }
  .p-drawer__navigation-item {
  display: flex;
  }
  .p-drawer__logo {
  max-width: 200px;
  margin-right: 0;
  margin: 0 auto;
  }
  .c-hamburger {
    display: block;
  }
}

/*-------------*/
/*  追尾する目次  */
/*-------------*/
#stoc a {

}
/* マウスカーソルをあわせた時 */
#stoc:not(.touch) a:hover {

}
/* 現在位置 */
#stoc .active {

}

/* 訪問済みのリンクの色（一色だけにしたい場合は指定しない　※テーマによる） */
#stoc a:visited {

}
#stoc-module {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#stoc-module.tracking {
  margin-bottom: 0;
}
#stoc-module.fixed {
  position: fixed;
}
#stoc-module.absolute {
  position: absolute;
}
#stoc-module.sticky {
  position: -webkit-sticky;
  position: sticky;
}
#stoc-module.fade-in {
  animation: fadeIn 300ms;
}
@keyframes fadeIn {
  0% {opacity: 0}
  100% {opacity: 1}
}

#stoc {
  overflow-y: auto;
}
#stoc.shadow {
  /* Shadows */
  background:
    radial-gradient(farthest-side at top, rgba(0,0,0,.17), transparent) top / 100% 11px,
    radial-gradient(farthest-side at bottom, rgba(0,0,0,.17), transparent) bottom / 100% 11px;
  background-repeat: no-repeat;
  background-attachment: scroll;
}
#stoc ol {
  margin: 0;
  padding: 0 0 0 1em;
  list-style-type: none;
}
#stoc > ol {
  padding-left: 0;
}
#stoc.shadow > ol {
  /* Shadow covers */
  background:
    linear-gradient(#fff 30%, transparent) top / 100% 40px,
    linear-gradient(transparent, #fff 70%) bottom / 100% 40px;
  background-repeat: no-repeat;
  background-attachment: local;
  overflow-y: hidden;
}
#stoc li {
  /* margin: 3px 0; */
}
#stoc a {
  padding: 2px 2px 2px 6px;
  display: block;
  text-decoration: none;
  /* color: #777; */
}
#stoc:not(.touch) a:hover {
  background-color: rgba(0,0,0,.05);
  /* text-decoration: underline; */
  /* color: #222; */
}
#stoc .active {
  background-color: rgba(0,0,0,.05);
  /* color: #222; */
}

#stoc::-webkit-scrollbar {
  width: 8px;
  background: #ececec;
}
#stoc::-webkit-scrollbar-button {
  display: none;
}
#stoc::-webkit-scrollbar-thumb {
  background: #b1b1b1;
}

[tabindex="-1"]:focus {
  outline: 0;
}

/*SLIDER*/
.slick-list {
  /* overflow: unset !important; */
	overflow: hidden;
}

.slide-arrow {
  cursor: pointer;
  margin: auto;
  position: absolute;
  top: 10rem;
  width: 30px;
  z-index: 10;
}
.prev-arrow {
  right: 11rem;
}
.next-arrow {
  right: 3rem;
}

.slick-next {
    right: 0;
}
.slick-prev {
    left: 0;
}
.slide-arrow.prev-arrow {
  width:7rem;
}
.slide-arrow.next-arrow {
  width:7rem;
}

@media screen and (max-width: 768px) {
  .slide-arrow {
  bottom: 0rem;
  top: unset;
  }
	.slide-arrow.prev-arrow {
	  width:4rem;
		right: 6.5rem;
	}
	.slide-arrow.next-arrow {
		width:4rem;
		right: 2rem;
	}

}



/* MAP
------------------------------------------------ */
.l-contents__inr.p-map {
max-width:100%;
}
.p-map_main {
max-width: 100% !important;
width: 90% !important;
margin:0 auto;
}

/* Google Mapを囲う要素 */
.ggmap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%; /* 比率を4:3に固定 */
}
 
/* Google Mapのiframe */
.ggmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


.c-singular_membership a{
background:#e5f2ff;
padding:4rem;
display:flex;
border-radius:10px 10px;
gap: 5rem;
position:relative;
align-items: center;
}
.c-singular_membership_ttl {
font-size:2rem;
font-weight:bold;
}
.c-singular_membership_ttl span {
font-size:1rem;
display:block;
}
.c-singular_membership_arw {
position: absolute;
right: 3rem;
top: 0;
bottom: 0;
margin: auto;
width: 3rem;
height: fit-content;
}

@media screen and (max-width: 900px) {

  .c-singular_membership a{
  display:block;
  padding:2.5rem ;
  }
  .c-singular_membership_ttl {
  margin-bottom:1rem;
  font-size:1.5rem;
  }
  .c-singular_membership_arw {
  right: 2rem;
  }
}


.p-top_restaurant_map {
	
}

.p-top_restaurant_map  {
		margin-top:80px;
    position: relative;
    width: 100%;
    padding-top: 50%;
    /* 16:9のアスペクト比 */
    height: 0;
		max-width: 1200px;
		margin-left: auto;
		margin-right: auto;
}

.p-top_restaurant_map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 768px) {
  .p-top_restaurant_map  {
    padding-top: 100%;
  }
}
@media screen and (max-width: 660px) {
  .p-top_restaurant_map  {
    padding-top: 140%;
  }
}