@charset "UTF-8";
/* Theme Name: tamakitei */
/* Version: 1.0 */
/* Author: soukichi */


/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

.grecaptcha-badge {

	/* 前面に出すなら値を大きく */
	z-index: 10000 !important;

	/* 表示を消す */
	visibility: hidden !important;

	/* 正の値を大きくすると上に、負なら下に移動 */
	bottom: 60px !important;

}



/* pc */
@media screen and (min-width: 961px) {
  body{
    background-image: url(../images/bg_a.png);
    background-position: top center;
    background-repeat: repeat-y;
    /*font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", sans-serif;*/
    font-family: 'Noto Sans JP', sans-serif;
    margin: 0;         /* 余白の削除 */
    padding: 0;        /* 余白の削除 */
    /*width:100vw;
    height:10000px;*/
  }

  html {
    /*scroll-behavior: smooth;*/
  } /*スムーズスクロール*/

  p{
    margin: 0;
  }

  img {
    /*max-width: 100%;*/
    height: auto;
  }

  .wrapper{
    text-align: center;
  }

  .header{

  }

  h1{
    /*margin-bottom: 50px;*/
    margin: 0;
    font-size: 0;
  }

  h2{
    margin-bottom: -5px;
  }

  h3{
    margin-bottom: 40px;
  }

  a{
    /*text-decoration: none;*/
  }
  a:hover{
    opacity: 0.5;
    transition : 0.5s;
  }

  .content{
    color: #001446;
  }


  /* 背景動画 */
  .video_wrapper {
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
  }

  .video_wrapper > video {
    width: 100%;
    height: 100%;
    object-fit: cover; /* アスペクト比を維持して埋める */
  }
  /* 背景動画 */

  /* メニュー */
  .pc_menu_bloc {
    position: -webkit-sticky; /* Safari対応 */
    position: sticky;
    top: 0;              /* ブラウザ上端で固定 */
    z-index: 1000;       /* 前面に出す */
    background-color: #001446; /* 背景は必須（動画が透けるのを防ぐ） */
  }

  .menu {
    width: 960px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 0;
  }
  /* メニュー */

  /* スクロールフェードイン */
  .fadein {
    opacity: 0;
    /*transform: translateY(30px);*/
    transition: all 0.8s ease;
  }
  .fadein.show {
    opacity: 1;
    transform: translateY(0);
  }
  /* スクロールフェードイン */

  .title_img_bloc img {
    width: 384px;
    margin: 100px 0 0 0;
  }

  /* about */
  .top_about_bloc{
    margin: 50 0 150px 0;
  }
  .top_about_ilust_bloc img{
    width: 234px;
  }
  .top_about_text_bloc{
    font-size: 16px;
    font-weight: bold;
    line-height: 36px;
    margin: 100px 0 90px 0;
  }
  .top_about_link_bloc img{
    width: 234px;
    margin: 100px 0 0 0;
  }
  /* about */

  /* リンクエリア */
  .link_bloc{
    background-color: #001446;
    padding: 100px 0;
  }
  .link_area{
    display: flex;
    justify-content: space-between;
    width: 934px;
    margin: 0 auto;
  }
  .link_bloc img{
    width: 288px;
  }
  /* リンクエリア */

  .top_img_bloc_pc img{
    width: 100%;
  }
  .top_img_bloc_sp{
    display: none;
  }

  /* カレンダー */
  /*.anchor-adjust {
    position: relative;
    top: -650px;
    height: 0;
    pointer-events: none;
  }*/
  .calender_bloc{
    margin: 150px 0;
  }
  .calender_ilust_bloc img{
    width: 225px;
    margin: 100px 0 0 0;
  }
  .xo_event_calendar{
    width: 498px;
    margin: 100px auto 0 auto;
  }
  .dayname{
    color: #9db8bf;
  }
  /*.xo-event-calendar table.xo-month .month-event-space{
    height: 0 !important;
  }*/
  /*.xo-event-calendar table.xo-month .month-dayname-space{
    height: 2.5rem !important;
  }*/
  .xo-event-calendar table.xo-month .month-event-title{
    text-align: center !important;
  }
  .xo-event-calendar table.xo-month .month-dayname td div{
    text-align: center !important;
  }
  .calendar-caption{
    font-size: 31px;
  }
  /* カレンダー全体の枠線を消す */
  .xo-event-calendar table.xo-month,
  .xo-event-calendar table.xo-month th,
  .xo-event-calendar table.xo-month td {
    /*border: none !important;
    border-collapse: collapse;*/
  }
  .xo-event-calendar table.xo-month{
    border: none !important;
  }
  .xo-event-calendar table.xo-month .month-event td{
    /*border-width: 0 1px 0 0 !important;*/
    border-width: 0 !important;
  }
  .xo-event-calendar table.xo-month td, .xo-event-calendar table.xo-month th{
    border: 1px solid #fff !important;
  }
  .xo-event-calendar p.holiday-title{
    margin: 60px 0 0 0 !important;
  }
    /* イベントリンク削除 */
  .xo-event-calendar a {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    font-size: 13px;
  }
  /* カレンダー上部の日曜日部分 */
  .xo-event-calendar table.xo-month>thead th.sunday {
    color: #1c2b54 !important; /* 好きな色に変更 */
  }
  /* カレンダー上部の土曜日部分 */
  .xo-event-calendar table.xo-month>thead th.saturday{
    color: #1c2b54 !important; /* 好きな色に変更 */
  }

  /* カレンダー曜日を英語表記に */
  .xo-month thead { font-size: 0; }
  .xo-month thead th:before { font-size: 12px; font-weight: normal;}
  .xo-month th.sunday:before { content: "Sun"; }
  .xo-month th.monday:before { content: "Mon"; }
  .xo-month th.tuesday:before { content: "Tue"; }
  .xo-month th.wednesday:before { content: "Wed"; }
  .xo-month th.thursday:before { content: "Thu"; }
  .xo-month th.friday:before { content: "Fri"; }
  .xo-month th.saturday:before { content: "Sat"; }
  /* カレンダー */

  /* 求人募集 */
  .recruit_bloc{
    background-color: #001446;
    padding: 100px 0;
  }
  .recruit_bloc{

  }
  .recruit_img_bloc_pc{
    width: 822px;
    margin: 0 auto;
  }
  .recruit_img_bloc_sp{
    display: none;
  }
  /* 求人募集 */

  /* 店舗情報 */
  .shop_bloc{
    margin: 150px 0;
  }
  .shop_text_bloc_a{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 822px;
    margin: 130px auto 50px auto;
    text-align: left;
  }
  .shop_text_bloc_b{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 822px;
    margin: 60px auto 0 auto;
  }
  .shop_text_area{
    width: 320px;
    margin: 0 0 25px 0;
    font-size: 16px;
    line-height: 24px;
    text-align: left;
  }
  .shop_text_catchi{
    font-size: 14px;
    font-weight: bold;
    line-height: 40px;
    text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration: underline 3px;
  }
  .shop_ilust_bloc{
    margin: 50px auto 0 auto;
  }
  .shop_ilust_bloc img{
    width: 247px;
  }
  .gmap {
		height: 0;
		overflow: hidden;
		padding-bottom: 75%;
		position: relative;
		margin: 0 auto;
		width: 75%;
	}
	.gmap iframe {
		position: absolute;
		left: 0;
		top: 0;
		height: 98%;
		width: 98%;
    border: 8px solid #001446 !important;
	}
  /* 店舗情報 */

  /* お問い合わせ */
  .contact_bloc{
    margin: 0 0 150px 0;
    color: #001446;
    font-size: 14px;
  }
  .tel_bloc img{
    width: 277px;
    margin: 90px 0 40px 0;
  }
  .mail_bloc img{
    width: 385px;
    margin: 0 0 30px 0;
  }
  .contact_text{
    font-weight: bold;
  }
  /* お問い合わせ */


  footer{
    color: #fff;
    font-size: 12px;
    text-align: center;
    background-color: #001446;
    padding: 100px 0;
  }
  .footer_logo_bloc img{
    width: 170px;
  }
  .footer_address_bloc{
    margin: 30px 0 80px 0;
  }


  /* 下層ページ */
  .lower_about_bloc{
    margin: 150px 0;
    font-size: 16px;
    line-height: 40px;
  }
  .about_title{
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 60px 0;
  }
  .about_title_bloc img{
    width: 353px;
  }
  .about_ilust_bloc img{
    width: 162px;
    margin: 70px 0 80px 0;
  }

  .lower_recruit_bloc{
    margin: 150px 0;
    font-size: 16px;
    line-height: 40px;
  }
  .recruit_title{
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 40px 0;
  }
  .recruit_title_bloc img{
    width: 213px;
  }
  .recruit_ilust_bloc img{
    width: 171px;
    margin: 70px 0 80px 0;
  }
  .recruit_text_bloc{
    font-size: 16px;
    font-weight: bold;
    line-height: 30px;
  }
  .recruit_border_bloc{
    width: 720px;
    margin: 50px auto 0 auto;
    border: 8px solid #001446;
    text-align: left;
    font-size: 18px;
    line-height: 36px;
    font-weight: bold;
    padding: 45px 93px;
  }
  .recruit_caption{
    font-size: 16px;
  }
  /* 下層ページ */


  /* sonoda */
  .pc {
    display: block !important;
  }
  .pc_a {
    display: inline !important;
  }
  .sp {
    display: none;
  }
  .sp_menu_bloc{
    display: none;
  }
  .sp_link_area{
    display: none;
  }
  .sp_contact_area{
    display: none;
  }
}


/* tablet  */
@media only screen and (min-width: 641px) and (max-width: 960px) {
  body{
    /*background-image: url(../images/bg_a.png);
    background-position: top center;
    background-repeat: repeat-y;*/
    /*font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", sans-serif;*/
    font-family: 'Noto Sans JP', sans-serif;
    margin: 0;         /* 余白の削除 */
    padding: 0;        /* 余白の削除 */
    /*width:100vw;
    height:10000px;*/
  }

  html { /*scroll-behavior: smooth;*/} /*スムーズスクロール*/

  p{
    margin: 0;
  }

  img {
    /*max-width: 100%;*/
    height: auto;
  }

  .wrapper{
    text-align: center;
  }

  .header{
    /*margin: 290px 0 200px 0;*/
  }

  h1{
    /*margin-bottom: 50px;*/
    margin: 0;
    font-size: 0;
  }

  h2{
    margin-bottom: -5px;
  }

  h3{
    margin-bottom: 40px;
  }

  a{
    text-decoration: none;
  }


  /*ハンバーガーメニュー*/
  #sp_toggle {
    position: fixed;
    top: 1.5%;
    right: 3%;
  }
  #toggle-box {
    position: relative;
    width: 40px;
    height: 40px;
    cursor: pointer;
    background-color: #001446;
    transition: all 0.5s ease-out;
  }
  #toggle-box > span {
    width: 20px;
    height: 2px;
    left: 10px;
    display: block;
    background: #5078da;
    position: absolute;
    transition: transform .6s ease-in-out, top .5s ease, bottom .5s ease;
  }
  #toggle-box > span:nth-child(1) {
    top: 25%;
  }
  #toggle-box > span:nth-child(2) {
    top: 50%;
    transform: translatey(-50%);
  }
  #toggle-box > span:nth-child(3) {
    bottom: 25%;
  }
  #sp_toggle {
    z-index: 1000;
  }
  #main {
    position: relative;
    z-index: 990;
  }
  #nav-content-sp {
    z-index: 900;
    overflow: auto;
    width: 100vw;
    height: 100%;
    background: #001446;
    /*color: #fff;*/
    position: fixed;
    top: 0;
    right: 0;
    text-align: center;
    transform: translateX(100%);
    transition:  transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  #nav-content-sp ul {
    list-style: none;
    padding: 0;
    margin: 10% auto;
    width: 50%;
  }
  #nav-content-sp li {
    margin: 0 0 10% 0;
  }
  #nav-content-sp li:first-child {
    margin: 0 0 20% 0;
  }
  #nav-content-sp a {
    text-decoration: none;
    color: #fff;
  }
  #nav-content-sp a:hover {
    opacity: 0.7;
  }
  #nav-content-sp img {
    width: 50%;
  }
  .is-open {
    /*overflow: hidden;*/
  }
  .is-open #toggle-box {
    transition: all 0.5s ease-out;
    background-color: #0f1633;
  }
  .is-open #toggle-box > span {
    background: #fff;
  }
  .is-open #toggle-box > span:nth-child(1) {
    top: 50%;
    transform: rotate(405deg) translatey(-50%);
    background-color: #5078da;
  }
  .is-open #toggle-box > span:nth-child(2) {
    width: 0;
  }
  .is-open #toggle-box > span:nth-child(3) {
    top: 50%;
    transform: rotate(-405deg) translatey(-50%);
    left: 11px;
    background-color: #5078da;
  }
  .is-open #nav-content-sp {
    z-index: 999;
    transform: translateX(0);
  }
  .overlay {
    background: rgba(0,0,0,0.5);
    height: 100vh;
    transition: all 0.5s ease-out;
  }
  .menu_line{
    background-color: #fff;
    height: 1px;
    /*width: 300px;*/
  }
  /*ハンバーガーメニュー*/


  /* 背景動画 */
  .video_wrapper {
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
  }

  .video_wrapper > video {
    width: 100%;
    height: 100%;
    object-fit: cover; /* アスペクト比を維持して埋める */
  }
  /* 背景動画 */


  /* スクロールフェードイン */
  .fadein {
    opacity: 0;
    /*transform: translateY(30px);*/
    transition: all 0.8s ease;
  }
  .fadein.show {
    opacity: 1;
    transform: translateY(0);
  }
  /* スクロールフェードイン */

  .title_img_bloc img {
    width: 384px;
    margin: 100px 0 0 0;
  }

  .anchor-adjust {
    position: relative;
    top: -120px;   /* ← 固定ヘッダーの高さ */
    height: 0;
  }

  /* about */
  .top_about_bloc{
    margin: 50 0 150px 0;
  }
  .top_about_ilust_bloc img{
    width: 234px;
  }
  .top_about_text_bloc{
    font-size: 16px;
    font-weight: bold;
    line-height: 36px;
    margin: 100px 0 90px 0;
  }
  .top_about_link_bloc img{
    width: 234px;
    margin: 100px 0 0 0;
  }
  /* about */

  /* リンクエリア */
  .link_bloc{
    background-color: #001446;
    padding: 100px 0;
  }
  .link_area{
    display: flex;
    justify-content: space-between;
    width: 90%;
    margin: 0 auto;
  }
  .link_bloc img{
    width: 90%;
  }
  /* リンクエリア */

  .top_img_bloc_pc img{
    width: 100%;
  }
  .top_img_bloc_sp{
    display: none;
  }

  /* カレンダー */
  .calender_bloc{
    margin: 150px 0;
  }
  .calender_ilust_bloc img{
    width: 225px;
    margin: 100px 0 0 0;
  }
  .xo_event_calendar{
    width: 498px;
    margin: 100px auto 0 auto;
  }
  .dayname{
    color: #9db8bf;
  }
  /*.xo-event-calendar table.xo-month .month-event-space{
    height: 0 !important;
  }*/
  /*.xo-event-calendar table.xo-month .month-dayname-space{
    height: 2.5rem !important;
  }*/
  .xo-event-calendar table.xo-month .month-event-title{
    text-align: center !important;
  }
  .xo-event-calendar table.xo-month .month-dayname td div{
    text-align: center !important;
  }
  .calendar-caption{
    font-size: 31px;
  }
  /* カレンダー全体の枠線を消す */
  .xo-event-calendar table.xo-month,
  .xo-event-calendar table.xo-month th,
  .xo-event-calendar table.xo-month td {
    /*border: none !important;
    border-collapse: collapse;*/
  }
  .xo-event-calendar table.xo-month{
    border: none !important;
  }
  .xo-event-calendar table.xo-month .month-event td{
    /*border-width: 0 1px 0 0 !important;*/
    border-width: 0 !important;
  }
  .xo-event-calendar table.xo-month td, .xo-event-calendar table.xo-month th{
    border: 1px solid #fff !important;
  }
  .xo-event-calendar p.holiday-title{
    margin: 60px 0 0 0 !important;
  }
    /* イベントリンク削除 */
  .xo-event-calendar a {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    font-size: 13px;
  }
  /* カレンダー上部の日曜日部分 */
  .xo-event-calendar table.xo-month>thead th.sunday {
    color: #1c2b54 !important; /* 好きな色に変更 */
  }
  /* カレンダー上部の土曜日部分 */
  .xo-event-calendar table.xo-month>thead th.saturday{
    color: #1c2b54 !important; /* 好きな色に変更 */
  }

  /* カレンダー曜日を英語表記に */
  .xo-month thead { font-size: 0; }
  .xo-month thead th:before { font-size: 12px; font-weight: normal;}
  .xo-month th.sunday:before { content: "Sun"; }
  .xo-month th.monday:before { content: "Mon"; }
  .xo-month th.tuesday:before { content: "Tue"; }
  .xo-month th.wednesday:before { content: "Wed"; }
  .xo-month th.thursday:before { content: "Thu"; }
  .xo-month th.friday:before { content: "Fri"; }
  .xo-month th.saturday:before { content: "Sat"; }
  /* カレンダー */

  /* 求人募集 */
  .recruit_bloc{
    background-color: #001446;
    padding: 100px 0;
  }
  .recruit_bloc{

  }
  .recruit_img_bloc_pc{
    width: 90%;
    margin: 0 auto;
  }
  .recruit_img_bloc_sp{
    display: none;
  }
  /* 求人募集 */

  /* 店舗情報 */
  .shop_bloc{
    margin: 150px 0;
  }
  .shop_text_bloc_a{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 90%;
    margin: 130px auto 50px auto;
    text-align: left;
  }
  .shop_text_bloc_b{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 90%;
    margin: 60px auto 0 auto;
  }
  .shop_text_area{
    width: 40%;
    margin: 0 0 25px 0;
    font-size: 16px;
    line-height: 24px;
    text-align: left;
  }
  .shop_text_catchi{
    font-size: 14px;
    font-weight: bold;
    line-height: 40px;
    text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration: underline 3px;
  }
  .shop_ilust_bloc{
    margin: 50px auto 0 auto;
  }
  .shop_ilust_bloc img{
    width: 247px;
  }
  .gmap {
		height: 0;
		overflow: hidden;
		padding-bottom: 75%;
		position: relative;
		margin: 0 auto;
		width: 75%;
	}
	.gmap iframe {
		position: absolute;
		left: 0;
		top: 0;
		height: 97%;
		width: 97%;
    border: 8px solid #001446 !important;
	}
  /* 店舗情報 */

  /* お問い合わせ */
  .contact_bloc{
    margin: 0 0 150px 0;
    color: #001446;
    font-size: 14px;
  }
  .tel_bloc img{
    width: 277px;
    margin: 90px 0 40px 0;
  }
  .mail_bloc img{
    width: 385px;
    margin: 0 0 30px 0;
  }
  .contact_text{
    font-weight: bold;
  }
  /* お問い合わせ */


  footer{
    color: #fff;
    font-size: 12px;
    text-align: center;
    background-color: #001446;
    padding: 100px 0;
  }
  .footer_logo_bloc img{
    width: 170px;
  }
  .footer_address_bloc{
    margin: 30px 0 80px 0;
  }


  /* 下層ページ */
  .lower_about_bloc{
    width: 90%;
    margin: 150px auto;
    font-size: 16px;
    line-height: 40px;
  }
  .about_title{
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 60px 0;
  }
  .about_title_bloc img{
    width: 353px;
  }
  .about_ilust_bloc img{
    width: 162px;
    margin: 70px 0 80px 0;
  }

  .lower_recruit_bloc{
    margin: 150px 0;
    font-size: 16px;
    line-height: 40px;
  }
  .recruit_title{
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 40px 0;
  }
  .recruit_title_bloc img{
    width: 213px;
  }
  .recruit_ilust_bloc img{
    width: 171px;
    margin: 70px 0 80px 0;
  }
  .recruit_text_bloc{
    font-size: 16px;
    font-weight: bold;
    line-height: 30px;
  }
  .recruit_border_bloc{
    width: 80%;
    margin: 50px auto 0 auto;
    border: 8px solid #001446;
    text-align: left;
    font-size: 18px;
    line-height: 36px;
    font-weight: bold;
    padding: 5%;
  }
  .recruit_caption{
    font-size: 16px;
  }
  /* 下層ページ */


  /* sonoda */
  .pc {
    display: none !important;
  }
  .pc_a {
    display: inline !important;
  }
  .sp {
    display: none !important;
  }
  .pc_menu_bloc{
    display: none;
  }
  .sp_link_area{
    display: none;
  }
  .sp_contact_area{
    display: none;
  }
  .sp_br{
    display: none;
  }
}


/* smartPhone */
@media screen and (max-width: 640px) {
  body{
    background-image: url(../images/bg_a.png);
    background-position: top center;
    background-repeat: repeat-y;
    /*font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", sans-serif;*/
    font-family: 'Noto Sans JP', sans-serif;
    margin: 0;         /* 余白の削除 */
    padding: 0;        /* 余白の削除 */
    /*width:100vw;
    height:10000px;*/
  }

  html { /*scroll-behavior: smooth;*/} /*スムーズスクロール*/

  p{
    margin: 0;
  }

  img {
    max-width: 100%;
    height: auto;
  }

  .wrapper{

  }
  .main{

  }

  .header{

  }

  h1{
    /*margin-bottom: 50px;*/
    margin: 0;
    font-size: 0;
  }

  h2{
    margin-bottom: -5px;
  }

  h3{
    margin-bottom: 40px;
  }

  a{
    text-decoration: none;
  }


  /*ハンバーガーメニュー*/
  #sp_toggle {
    position: fixed;
    top: 1.5%;
    right: 3%;
  }
  #toggle-box {
    position: relative;
    width: 40px;
    height: 40px;
    cursor: pointer;
    background-color: #001446;
    transition: all 0.5s ease-out;
  }
  #toggle-box > span {
    width: 20px;
    height: 2px;
    left: 10px;
    display: block;
    background: #5078da;
    position: absolute;
    transition: transform .6s ease-in-out, top .5s ease, bottom .5s ease;
  }
  #toggle-box > span:nth-child(1) {
    top: 25%;
  }
  #toggle-box > span:nth-child(2) {
    top: 50%;
    transform: translatey(-50%);
  }
  #toggle-box > span:nth-child(3) {
    bottom: 25%;
  }
  #sp_toggle {
    z-index: 1000;
  }
  #main {
    position: relative;
    z-index: 990;
  }
  #nav-content-sp {
    z-index: 900;
    overflow: auto;
    width: 100vw;
    height: 100%;
    background: #001446;
    /*color: #fff;*/
    position: fixed;
    top: 0;
    right: 0;
    text-align: center;
    transform: translateX(100%);
    transition:  transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  #nav-content-sp ul {
    list-style: none;
    padding: 0;
    margin: 10% auto;
    width: 35%;
  }
  #nav-content-sp li {
    margin: 0 0 15% 0;
  }
  #nav-content-sp li:first-child {
    margin: 0 0 40% 0;
  }
  #nav-content-sp a {
    text-decoration: none;
    color: #fff;
  }
  #nav-content-sp a:hover {
    opacity: 0.7;
  }
  #nav-content-sp img {
    /*width: 40%;*/
  }
  .is-open {
    /*overflow: hidden;*/
  }
  .is-open #toggle-box {
    transition: all 0.5s ease-out;
    background-color: #0f1633;
  }
  .is-open #toggle-box > span {
    background: #fff;
  }
  .is-open #toggle-box > span:nth-child(1) {
    top: 50%;
    transform: rotate(405deg) translatey(-50%);
    background-color: #5078da;
  }
  .is-open #toggle-box > span:nth-child(2) {
    width: 0;
  }
  .is-open #toggle-box > span:nth-child(3) {
    top: 50%;
    transform: rotate(-405deg) translatey(-50%);
    left: 11px;
    background-color: #5078da;
  }
  .is-open #nav-content-sp {
    z-index: 999;
    transform: translateX(0);
  }
  .overlay {
    background: rgba(0,0,0,0.5);
    height: 100vh;
    transition: all 0.5s ease-out;
  }
  .menu_line{
    background-color: #fff;
    height: 1px;
    /*width: 300px;*/
  }
  /*ハンバーガーメニュー*/


  /* 背景動画 */
  .video_wrapper {
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
  }

  .video_wrapper > video {
    width: 100%;
    height: 100%;
    object-fit: cover; /* アスペクト比を維持して埋める */
  }
  /* 背景動画 */


  /* スクロールフェードイン */
  .fadein {
    opacity: 0;
    /*transform: translateY(30px);*/
    transition: all 0.8s ease;
  }
  .fadein.show {
    opacity: 1;
    transform: translateY(0);
  }
  /* スクロールフェードイン */

  .title_img_bloc {
    margin: 40% 0 -15% 0;
  }

  /* about */
  .top_about_bloc{
    width: 90%;
    margin: 0 auto;
    text-align: center;
    color: #001446;
  }
  .top_about_ilust_bloc img{
    width: 50%;
  }
  .top_about_text_bloc{
    font-size: 0.8rem;
    /*font-weight: bold;*/
    line-height: 1.5rem;
    margin: 30% 0 15% 0;
    /*text-align: center;*/
  }
  .top_about_link_bloc img{
    /*width: 234px;*/
    margin: 20% 0 40% 0;
  }
  /* about */

  /* リンクエリア */
  .link_bloc{
    background-color: #001446;
    padding: 100px 0;
  }
  .link_area{
    width: 90%;
    margin: 0 auto;
  }
  .link_box{
    margin: 0 0 10% 0;
  }
  .link_bloc img{
    /*width: 288px;*/
  }
  /* リンクエリア */

  .top_img_bloc_pc img{
    width: 100%;
  }
  .top_img_bloc_pc{
    display: none;
  }

  /* カレンダー */
  .calender_bloc{
    width: 90%;
    margin: 40% auto;
  }
  .calender_ilust_bloc{
    text-align: center;
  }
  .calender_ilust_bloc img{
    width: 60%;
    margin: 10% 0 0 0;
  }
  .xo_event_calendar{
    /*width: 498px;*/
    margin: 100px auto 0 auto;
  }
  .dayname{
    color: #9db8bf;
  }
  /*.xo-event-calendar table.xo-month .month-event-space{
    height: 0 !important;
  }*/
  /*.xo-event-calendar table.xo-month .month-dayname-space{
    height: 2.5rem !important;
  }*/
  .xo-event-calendar table.xo-month .month-event-title{
    text-align: center !important;
  }
  .xo-event-calendar table.xo-month .month-dayname td div{
    text-align: center !important;
  }
  .calendar-caption{
    font-size: 31px;
    color: #001446;
  }
  /* カレンダー全体の枠線を消す */
  .xo-event-calendar table.xo-month,
  .xo-event-calendar table.xo-month th,
  .xo-event-calendar table.xo-month td {
    /*border: none !important;
    border-collapse: collapse;*/
  }
  .xo-event-calendar table.xo-month{
    border: none !important;
  }
  .xo-event-calendar table.xo-month .month-event td{
    border-width: 0 1px 0 0 !important;
    font-size: 0.6rem;
    font-weight: bold;
    color: #1c2b54;
  }
  .xo-event-calendar table.xo-month .month-event-title
  .xo-event-calendar table.xo-month td, .xo-event-calendar table.xo-month th{
    border: 1px solid #fff !important;
  }
  .xo-event-calendar p.holiday-title{
    margin: 60px 0 0 0 !important;
    text-align: center;
  }
    /* イベントリンク削除 */
  .xo-event-calendar a {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    font-size: 0.55rem;
  }
  /* カレンダー上部の日曜日部分 */
  .xo-event-calendar table.xo-month>thead th.sunday {
    color: #1c2b54 !important; /* 好きな色に変更 */
  }
  /* カレンダー上部の土曜日部分 */
  .xo-event-calendar table.xo-month>thead th.saturday{
    color: #1c2b54 !important; /* 好きな色に変更 */
  }

  /* カレンダー曜日を英語表記に */
  .xo-month thead {
    font-size: 0;
    color: #001446;
  }
  .xo-month thead th:before {
    font-size: 12px; font-weight: normal;
  }
  .xo-month th.sunday:before { content: "Sun"; }
  .xo-month th.monday:before { content: "Mon"; }
  .xo-month th.tuesday:before { content: "Tue"; }
  .xo-month th.wednesday:before { content: "Wed"; }
  .xo-month th.thursday:before { content: "Thu"; }
  .xo-month th.friday:before { content: "Fri"; }
  .xo-month th.saturday:before { content: "Sat"; }
  /* カレンダー */

  /* 求人募集 */
  .recruit_bloc{
    background-color: #001446;
    padding: 100px 0;
  }
  .recruit_area{
    width: 90%;
    margin: 0 auto;
  }
  .recruit_bloc{

  }
  .recruit_img_bloc_pc{
    display: none;
  }
  .recruit_img_bloc_sp{
    margin: 0 auto;
  }
  /* 求人募集 */

  /* 店舗情報 */
  .shop_bloc{
    width: 90%;
    margin: 40% auto;
    color: #001446;
  }
  .shop_text_bloc_a{
    margin: 30% auto 10% auto;
    text-align: left;
  }
  .shop_text_bloc_b{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 90%;
    margin: 5% auto 0 auto;
  }
  .shop_text_area{
    /*width: 320px;*/
    margin: 0 0 2% 0;
    font-size: 1rem;
    line-height: 24px;
    /*text-align: left;*/
  }
  .shop_text_catchi{
    font-size: 1rem;
    font-weight: bold;
    line-height: 40px;
    text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration-thickness: 4px;
  }
  .shop_ilust_bloc{
    margin: 15% auto 0 auto;
    text-align: center;
  }
  .shop_ilust_bloc img{
    width: 70%;
  }
  .gmap {
		height: 0;
		overflow: hidden;
		padding-bottom: 100%;
		position: relative;
		margin: 0 auto;
		width: 100%;
	}
	.gmap iframe {
		position: absolute;
		left: 0;
		top: 0;
		height: 95%;
		width: 95%;
    border: 8px solid #001446 !important;
	}
  /* 店舗情報 */

  /* お問い合わせ */
  .contact_bloc{
    width: 90%;
    margin: 30% auto;
    color: #001446;
    font-size: 0.7rem;
  }
  .tel_bloc{
    text-align: center;
  }
  .tel_bloc img{
    width: 70%;
    margin: 30% auto 10% auto;
  }
  .mail_bloc img{
    /*width: 385px;*/
    margin: 0 0 5% 0;
  }
  .contact_text{
    font-weight: bold;
  }
  /* お問い合わせ */


  footer{
    color: #fff;
    font-size: 0.7rem;
    text-align: center;
    background-color: #001446;
    padding: 30% 0;
  }
  .footer_logo_bloc img{
    width: 50%;
  }
  .footer_address_bloc{
    margin: 5% 0;
    line-height: 1rem;
  }


  /* 下層ページ */
  .lower_about_bloc{
    width: 90%;
    margin: 40% auto;
    font-size: 0.7rem;
    line-height: 1.5rem;
    text-align: center;
  }
  .about_title{
    font-size: 1.3rem;
    /*font-weight: bold;*/
    margin: 0 0 10% 0;
  }
  .about_title_bloc img{
    width: 70%;
  }
  .about_ilust_bloc img{
    width: 40%;
    margin: 15% 0;
  }

  .lower_recruit_bloc{
    width: 90%;
    margin: 40% auto;
    text-align: center;
    /*font-size: 16px;
    line-height: 40px;*/
    color: #001446;
  }
  .recruit_title{
    font-size: 1.3rem;
    font-weight: bold;
    margin: 0 0 8% 0;
  }
  .recruit_title_bloc img{
    width: 50%;
  }
  .recruit_ilust_bloc img{
    width: 50%;
    margin: 15% 0;
  }
  .recruit_text_bloc{
    font-size: 1rem;
    /*font-weight: bold;*/
    line-height: 1.5rem;
  }
  .recruit_border_bloc{
    /*width: 720px;*/
    margin: 10% auto 0 auto;
    border: 8px solid #001446;
    text-align: left;
    font-size: 0.9rem;
    line-height: 2rem;
    font-weight: bold;
    padding: 5%;
  }
  .recruit_caption{
    font-size: 0.9rem;
  }

  .lower_contact_bloc{
    /*width: 90%;
    margin: 30% auto;*/
    color: #001446;
    font-size: 0.7rem;
    text-align: left;
  }
  /* 下層ページ */


  /* sonoda */
  .pc {
    display: none;
  }
  .pc_a {
    display: inline !important;
  }
  .sp {
    /*display: none;*/
    display: block !important;
  }
  .pc_menu_bloc{
    display: none;
  }
  .pc_link_area{
    display: none;
  }
  .recruit_img_bloc_pc{
    display: none;
  }

}
