@charset "UTF-8";
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
/* Document
   ========================================================================== */
html {
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
}
/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

/**
 * Add the correct margin in IE 8.
 *//*
figure {
  margin: 1em 40px;
}
*/
figure{
    margin:0 auto;
}
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  overflow: visible;
  /* 2 */
  height: 0;
  /*高さをリセット*/
  margin: 0;
  /*マージンをリセット*/
  padding: 0;
  /*パディングをリセット*/
  border: 0;
  /*ボーダーをリセット*/ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }


/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0; }

/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit; }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000; }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none; }

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

/**
 * Add the correct display in IE.
 */
template {
  display: none; }

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none; }

/*---------------------------------------
menu button
-----------------------------------------*/
.menu-btn {
    position: fixed;
    top: 0px;
    right: 0px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    /*background-color: #fff;*/
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 10px;
    background-color: #313131;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}

/*toggle*/
#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}
#menu-btn-check {
    display: none;
}

#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
	left:50%;
}

/*menu*/
.menu-content {
	/*width: 100%;*/
	width:50%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #FFF001;
    transition: all 0.5s;/*アニメーション設定*/
}

.logo_link{
	font-size:1.8rem;
	color:#313131;
	font-weight: bold;
	display: block;
	width:100%;
	margin:10px auto;
	padding-left:20px;
}

.logo_link span{
	font-size:2.4rem;
	margin-left:15px;
}

.menu-content ul {
    padding: 70px 10px 0;
}
.menu-content ul li {
    border-bottom: dotted 3px #888;
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 1.8rem;
	font-weight: bold;
    box-sizing: border-box;
    color:#313131;
    text-decoration: none;
    padding: 9px 15px 10px 0;
	/*padding:20px 20px 20px 0;*/
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #313131;
    border-right: solid 2px #313131;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}


/*---------------------------------------
header_menu(PC)
-----------------------------------------*/
.pc_header{
	position: fixed;
    left: 0;
    top: 0;
    z-index: 100;
	width:100%;
	height: 100px;
	/*background-image: url("../images/common/header_bg.png");
	background-repeat: repeat-x;
	background-size: cover;*/
	/*background: #FFF001;*/
	padding:0;
	box-sizing: border-box;
	margin:0 auto !important;

	background: url("../images/common/header_bg.png");
	background-size: cover;
}

/*-----------------------------------
top
-----------------------------------*/
html, body {
    height: 100%;
    font-size: 62.5%;
}

@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Noto Sans CJK JP"),
    local("Noto Sans JP"),
    url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format('woff2'),
    url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format('woff'),
    url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format('opentype');
}

body {
    margin: 0;
    padding: 0;
    /*font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
    /*-webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';*/
    letter-spacing: 0.05em;
    -webkit-font-smoothing: antialiased;
    line-height: 1;
	background-color: #fff;
    color: #313131;
    /*font-size: 18px;*/
}

h1, h2, h3, h4, body, header, article,main, section, footer, div, a, dt, dd, dl, ul, ol, li, p{
  box-sizing: border-box; }

section {
  padding: 0; }

li {
  list-style-type: none; }

strong {
	color:#FF5F36;
	font-size:2rem;
}

a{
    text-decoration: none;
}

figure img{
    flex-shrink: 0;
	/*width:100%;
	height: auto;*/
}

.wrapper {
    position: relative;
    width: 100%;
    height: auto !important;
    margin:0 auto;
    overflow-x: hidden;
    box-sizing: content-box;
}

.mainbox,
.pagebox{
    width: 100%;
    margin: 0 auto;
    padding: 0;
}

/*title*/
.content {
    width: 100%;
    -webkit-scroll-behavior: smooth;
    scroll-behavior: smooth;
    -webkit-scroll-snap-type: mandatory;
    scroll-snap-type: mandatory;
    -webkit-scroll-snap-points-y: repeat(100%);
    scroll-snap-points-y: repeat(100%);
    margin:0 auto;
}

.block{
    /*max-width:1046px;*/
    width:100%;
    margin-bottom: 0;
    margin-left:auto;
    margin-right: auto;
    padding-top: 40px;
    padding-bottom: 60px;
    position: relative;
}

.block p {
    font-size: 1.6rem;
    line-height: 2;
    /*color: #000;*/
    width: 90%;
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
    text-align: justify;
}


.sub_block{
    max-width:1046px;
    width:100%;
	margin-left:auto;
	margin-right:auto;
}

.row_wrap{
    -webkit-flex-direction: row;
    flex-direction: row;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    /*align-items: flex-start;
    -webkit-align-items: flex-start; */
    margin:2% auto 5% auto;
}

/*---------------------------------------
header
-----------------------------------------*/
header {
  width: 100%;
}

.head_01{
	width:100%;
	max-width: 1046px;
	margin:0 auto;
	padding:0;
	box-sizing: border-box;
	position: relative;
	-webkit-flex-direction: row;
    flex-direction: row;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    -webkit-justify-content: space-between;
	align-items: center;
    -webkit-align-items: center;
	/*display: grid;
	grid-template-columns: 200px auto 60px;
	grid-auto-rows:150px;*/
}
.head_01 .logo_header{
	width:35%;
	margin: 0;
	padding:0;
}

.logo_header figure{
	width:100%;
	font-size:1.8rem;
	line-height: 1.4;
	color:#313131;
	font-weight: bold;
}

.logo_header figure span{
	font-size:2.4rem;
	margin-left:15px;
}


.head_01 .head_item{
	width:65%;
	/*width:calc(60% - 60px);*/
	-webkit-flex-direction: row;
    flex-direction: row;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
	/*align-items: flex-end;
	-webkit-align-items:flex-end;*/
}

.cv_subtxt{
	font-size:1.8rem;
	letter-spacing: 0.2em;
	font-weight: bold;
	line-height: 1.4;
	width:35%;
	margin-right: 10px;
	text-align: center;
	position: relative;
	padding-top:10px;
}

_::-webkit-full-page-media, _:future, :root .cv_subtxt {
    width:38%;
}

.cv_subtxt::after{
	content: "";
	background: url("../images/common/line_dot_cv.svg");
	background-position: left;
	background-repeat: repeat-x;
	background-size: contain;
	width:100%;
	height: 10px;
	/*display: inline-block;*/
	position: absolute;
	left:0;
	right:0;
	bottom:-10px;
	margin:auto;
}

.cv_area{
	width:50%;
}

.cv_area a{
	position: relative;
	width:100%;
	display: block;
	background: #fff;
	border-radius:30px;
	/*text-align: justify;
	padding:5px 10px 5px 30px;*/
	text-align: center;
	padding: 5px 50px 5px 15px;
	box-sizing: border-box;
	letter-spacing: 0.2em;
}

.cv_area a .tel{
	font-size:3rem;
	font-weight: bold;
	color:#313131;
}
.tel_sav {
	display: block;
	text-align: left;
	max-width: 185px;
	margin: 0 auto 2px;
	font-size: 13px;
	font-weight: bold;
	color: #000;
}
.h_tel_sav{
	max-width: 165px;
}

.cv_area a .tel::before{
	content: url("../images/common/icon_tel.svg");
	/*content: "";
	background: url("../images/common/icon_tel.svg");
	background-repeat: no-repeat;
	background-size:contain;*/
	display: inline-block;
	width:1em;
	margin-right: 5px;
}

.icon_tel{
	width:40px;
	height: auto;
	position: absolute;
	right: 20px;
	top: 8px;
	bottom:0;
	margin: auto 0;
}

.icon_tel img{
	width:100%;
	height:auto;
}

.cv_area a:hover .icon_tel img{
  animation: key .3s ease infinite alternate;
}

.cv_area_oosaka a{
	padding: 12px 50px 12px 15px;
}

@keyframes key {
  0% {transform: translateY(0px);}
  100% {transform: translateY(-10px);}
}

.cv_txt{
	font-size:1.2rem;
	text-align: center;
	margin:10px auto 5px auto;
}

.sp{
    display: none;
}


/*---------------------------------------
toppage
-----------------------------------------*/
/*mainvisual*/
.mv_wrap{
    width:100%;
	max-width: 1340px;
	/*height: 645px;*/
	height: 100vh;
    margin:80px auto 0 auto;
    position: relative;
	background: url("../images/oosaka/top/mv_bg.jpg");
	background-size:cover;
	background-position: center top;
	text-align: center;
}

/*hiroshima*/
.mv_wrap.hiroshima{
	background: url("../images/hiroshima/top/mv_bg.jpg") !important;
	background-repeat: no-repeat !important;
}
/*tokyo*/
.mv_wrap.tokyo{
	background-image: url("../images/tokyo/top/mv_bg.jpg");
	background-repeat: no-repeat;
}

.mainvisual {
    width: 100%;
	height: 100%;
    /*max-width: 1400px;*/
    color: #fff;
    /*height: 600px;*/
    margin: 0 auto;
    box-sizing: border-box;
	position: relative;
}

.mainvisual h1{
	/*width:60%;
	margin:auto;*/
	width:70%;
	margin:0 auto;
	text-align: center;
	padding-top: 70px;
	/*position: absolute;
	bottom:120px;
	left:0;
	right:0;*/
}
/*
.mv_text{
	width:70%;
	margin:70px auto;
}*/

.mainvisual h1 span
/*.mv_text span*/{
	color:#fff;
	font-size:3rem;
	letter-spacing: 0.4em;
	line-height: 1.5;
	text-align: center;
	position: relative;
	width:100%;
	display: block;
	text-shadow: 0 0 1px #fff,0 0 1px #6EC535,0 0 3px #6EC535,0 0 4px #6EC535;
}

.mainvisual h1 strong
/*.mv_text strong*/{
	font-size:4rem;
	color:#fff;
}

.mainvisual h1 span::before,
.mainvisual h1 span::after
/*.mv_text span::before,
.mv_text span::after*/{
	position: absolute;
	width:1.5em;
	/*display: inline-block;*/
}

.mainvisual h1 span::before
/*.mv_text span::before*/{
	content: url("../images/top/catch_top.svg");
	left:-0.5em;
	top:-0.2em;
}

.mainvisual h1 span::after
/*.mv_text span::after*/{
	content: url("../images/top/catch_btm.svg");
	right:0;
	bottom:-1em;
}

/*hiroshima*/
.mv_wrap.hiroshima .mainvisual h1{
	position: absolute;
	right:20px;
	top:300px;
	width:50%;
}

.mv_wrap.hiroshima .mainvisual h1 span{
	font-size:2.2rem;
}

.mv_wrap.hiroshima .mainvisual h1 span strong{
	font-size:3rem;
}

.mv_wrap.hiroshima .mainvisual h1 span::before{
	left:0;
}

.mv_wrap.hiroshima .mainvisual h1 span::after{
	right:2.5em;
	bottom:-1.5em;
}

/*btn_sat*/
.btn_sat{
	position: absolute;
	bottom:-40px;
	left:0;
	right:0;
	width:36%;
	height: auto;
	box-sizing: border-box;
	display: block;
	margin:auto;
	z-index: 2;
}

.btn_sat figure{
	width:100%;
	height: auto;
	display: block;
}

.btn_sat figure img{
	width:100%;
	height: auto;

}

.btn_sat.normal{
	position: relative;
	bottom:0;
}
.btn_sat_box {
	max-width: 600px;
	margin: -170px auto 0;
}

.btn_sat_box > .btn_sat {
	position: relative;
	bottom: auto;
	left: auto;
	right: auto;
	top: auto;
	width: 100%;
	margin-right: 3%;
}

.btn_sat_box > .btn_sat:last-child {
	margin-right: 0;
}

.content_btn_sat_box {
	max-width: 600px;
	margin: 0 auto;
}

.content_btn_sat_box > .btn_sat {
	position: relative;
	bottom: auto;
	left: auto;
	right: auto;
	width: 100%;
	margin: 0;
	margin-right: 3%;
}

.content_btn_sat_box > .btn_sat:last-child {
	margin-right: 0;
}

/*
.btn_line a::before,
.btn_line a::after{
	content: "";
	position: absolute;
	top:0;
	bottom:0;
	background-size:contain !important;
	background-repeat: no-repeat !important;
	background-position: center;
	margin:auto;
}

.btn_line a::before{
	background: url("../images/common/icon_line.svg");
	width:50px;
	height: 50px;
	left:15px;
}

.btn_line a::after{
	background: url("../images/common/btn_arrow.svg");
	width:30px;
	height: 30px;
	right:10px;
}

.btn_line a span{
	font-size: 3rem;
	font-weight: bold;
	display: block;
}
*/
.timerex-links {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
	gap: 30px 40px;
}
.mv-timerex.timerex-links {
	margin-top: -150px;
}
.timerex-link_btn img {
	max-width: 100%;
}

.timerex-links a:hover,
.btn_sat:hover,
.map-link_btn a:hover {
	opacity: 1;
	-webkit-animation: flash 1.5s;
	animation: flash 1.5s;
}
@-webkit-keyframes flash {
	0% {
		opacity: .4;
	}
	100% {
		opacity: 1;
	}
}

/*cv_box*/
.cv_box{
	width:100%;
	margin:0 auto;
}
.cv_text{
	text-align: center !important;
}

.cv_box .btn_line{
	position: relative;
	bottom:auto;
}

/*common-------------------------------------*/
/*header_title*/
.header_title{
	color:#555555;
	font-size:2.4rem;
	text-align: center;
	line-height: 1.4;
	width:100%;
	max-width:1300px;
	margin:40px auto 80px;
	position: relative;
	letter-spacing: 0.1em;
	/*position: relative;*/
	display: -webkit-box;
    display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    /*justify-content: center;
    -webkit-justify-content: center;*/
}
/*
.header_title::before{
	content: "";
	background-size:contain;
	background-repeat: no-repeat;
	background-position: center;
	width:70px;
	height:70px ;
	position: absolute;
	top:0px;
	left:auto;
	right: auto;
	margin:0 auto 30px auto;
}*/

.header_title::before,
.header_title::after{
	content: "";
	flex-grow: 1;
	height: 20px;
	background: url("../images/top/line_dot.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.about .header_title::before,
.about .header_title::after,
.tokyo-about .header_title::before,
.tokyo-about .header_title::after {
	background-repeat: repeat-x;
	background-size: 50%;
	background-position: center left;
}

.header_title::before{
	margin-right:1em;
}

.header_title::after{
	margin-left: 1em;
}

.header_title img{
	width:70%;
	max-width: 100%;
	height: auto;
}
.about .header_title img,
.tokyo-about .header_title img {
	max-width: 585px;
	width: 100%;
}
.about .header_title::before,
.about .header_title::after,
.tokyo-about .header_title::before,
.tokyo-about .header_title::after {
	background-size: auto;
}

/*about_title*/
.block.about .header_title{
	margin-bottom: 0;
}

/*about_access*/
.header_title.access img{
	width:20%;
}
.access-tokyo .header_title.access img {
	width: 28%;
}

.header_title.access::before,
.header_title.access::after{
	background-repeat: repeat-x;
	background-size:30%;
	background-position: center left;
}

/*about_info*/
.header_title.info img{
	width:50%;
}

.header_title.info::before,
.header_title.info::after{
	background-repeat: repeat-x;
	background-size:50%;
	background-position: center left;
}

.top_img{
	width:56%;
}

.top_img img,
.full_img img{
	width:100%;
	height: auto;
}

.cont_wrap{
    width:100%;
    margin:0 auto;
    /*background-image: url("../images/common/bg_color.png");
    background-size: cover;
    background-position: left top;
    background-repeat: repeat;*/
    /*padding:5%;*/
	background: #EFF6EA;
    position: relative;
	padding-bottom: 40px;
}

.cont_wrap::before,
.cont_wrap::after{
	content: "";
	background-image: url("../images/common/bg_color.png");
    background-size: 100%;

    background-repeat: repeat-x;
	position: absolute;
	left:0;
	width:100%;
	height: 20px;
}

.cont_wrap::before{
	background-position: top left;
	top:-20px;
}

.cont_wrap::after{
	background-position: bottom left;
	bottom:-20px;
}

/*mv直下の波*/
.cont_wrap.first::before{
	top:-40px;
	height: 50px;
}


/*greeting-------------------------------------------------*/
.greet{
	position: relative;
	max-width:1046px;
	width:100%;
}

.greet_box{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    -webkit-justify-content: center;
	align-items: center;
    -webkit-align-items: center;
	margin:40px auto 0 auto;
}

.greet_box figure{
	width:25%;
	height: auto;
	position: relative;
}

.greet_box figure img{
	width:100%;
	height: auto;
}

.greet_box figure figcaption{
	position: absolute;
	right:-70%;
	bottom:0;
	font-size:1.4rem;
	line-height: 1.4;
	text-align: center;
	color: inherit;
}

.greet_box span{
	font-size:3rem;
	letter-spacing: 0.4em;
}

/*about-------------------------------------------------*/
.sub_title{
	width:70%;
	margin-left:auto;
	margin-right: auto;
	font-size:2.2rem;
	line-height: 1.4;
	text-align: center;
	letter-spacing: 0.3em;
}
.sub_title::after{
	content: "";
	width:100%;
	/*height: 20px;*/
	height: 30px;
	background: url("../images/top/line_wave.svg");
	background-size:100%;
	background-repeat: repeat-x;
	display: inline-block;
}



/*advice-------------------------------------------------*/
.top_6{
	margin-bottom: 0;
	padding:0;
}

.top_6 li{
	width:calc(100% / 3);
	margin-bottom:70px;
	text-align: center;
}

.top_6 li img{
	width:86%;
	height: auto;
	margin-left:auto;
	margin-right:auto;
}

.msg{
	text-align: center;
	width:58%;
}
.msg::after{
	content:"";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 47px 61px 0 61px;
	border-color: #ffee01 transparent transparent transparent;
	display: inline-block;
	margin: 50px auto;
}

.btn_rsv{
	width:75%;
	margin:0 auto;
	position: relative;
	display: block;
}

.btn_rsv span{
	position: absolute;
	right: -13%;
    top: -10%;
	bottom:0;
	margin:auto 0;
	width:23%;
}
.btn_rsv:hover:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
}

.btn_rsv:hover span img{
	animation: key .3s ease infinite alternate;
}

/*staff-------------------------------------------------*/
.staff_box{
	width:45%;
}

.thumbnail{
	text-align: center;
	margin:0 auto;
}

.thumbnail img{
	width:62.5%;
	height: auto;
}

.staff_title{
	font-size:1.8rem;
	text-align: center;
	letter-spacing: 0.3em;
	line-height: 1.4;
}

.staff_title span{
	font-size:3rem;
	display: block;
	margin:15px auto 10px;
}

.staff_title::before,
.staff_title::after{
	content: "";
	background: url("../images/top/line_dot.svg");
	background-size: 50%;
	background-repeat: repeat-x;
	background-position: left center;
	height: 20px;
    width: 100%;
	display: inline-block;
}
.staff_title::before{
	margin-bottom:15px;
}

.staff_title::after{
	margin-top:5px;
}

.staff_box p{
	color:rgba(49, 49, 49, 0.8);
	margin-bottom: 40px;
}

.tokyo-staff {
	gap: 30px 40px;
	justify-content: center;
	flex-wrap: wrap;
}

.tokyo-staff .staff_box {
	width: 30%
}
.tokyo-staff .staff_box .staff_title span {
	font-size: 2.4rem;
}

/*access-------------------------------------------------*/
.map{
	width:100%;
	margin:0 auto 40px auto;
	padding:0;
}

.map iframe{
	width:100%;
	height: 900px;
	border: 0;
}

.adr_info{
	width: 75%;
	margin: 0 15px 0 0;
}

.adr_info dl{
	width:100%;
	padding:0;
	margin:0;
	display: -webkit-box;
    display: -ms-flexbox;
	display: flex;
	/*-webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;*/
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
	flex-wrap: wrap;
}

.adr_info dl dt,
.adr_info dl dd{
	font-size:1.6rem;
	margin:0;
	padding:0;
	line-height: 2;
}

.adr_info dl dd{
	margin-left: 20px;
}

.adr_info dl dd a{
	color:inherit;
}
.email {
	display: block;
	word-break: break-all;
	line-height: 1.4;
}
.adr_info_txt {
	display: flex;
	flex-wrap: wrap;
}

.adr_info_contact {
	width: 57%;
	margin-left: 3%;
}

.adr_info_txt > dl {
	width: 40%;
}
.adr_info .adr_info_contact dl dt {
	width: 14%;
	text-align: right;
}

.adr_info_contact dd {
	width: 81%;
}

.info_title{
	font-size:2.5rem;
	text-align:left;
	line-height: 1.3;
	letter-spacing: 0.2em;
}

.info_title::after{
	content: "";
	background: url("../images/top/line_dot.svg");
	background-size:30%;
	background-repeat:repeat-x;
	background-position: left center;
	height: 20px;
	width:100%;
	display: inline-block;
}
.map_img{
	width:calc(26% - 30px);
}

.map-links {
	display: flex;
	justify-content: center;
	gap: 20px 30px;
}

.map-link_btn {
	width: 40%;
}

.map-link_btn a {
	display: block;
	text-align: center;
	background: #fff001;
	color: #000;
	font-weight: bold;
	line-height: 1.6;
	font-size: 16px;
	padding: 15px 20px;
	border-radius: 100px;
	position: relative;
}

.map-link_btn a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
}


/*info-------------------------------------------------*/
.row_wrap.bnr_link{
	margin-top: 40px;
	padding:0;
}

.bnr_link li{
	width:calc(100% /4);
	text-align: center;
	margin-bottom: 30px;
}

.bnr_link li a{
	width:100%;
	display: block;
}

.bnr_link li a img{
	width:88%;
	height: auto;
}

.bnr_link li p{
	width:100%;
	font-size:1.6rem;
	line-height: 1.6;
	color:#313131;
	text-align: center;
	margin:20px auto 0 auto;
	letter-spacing: 0.2em;
}

.bnr_link li a:hover,
.bnr_link li a:hover p,
.bnr_link:hover figure{
    opacity: 0.8;
    filter: alpha(opacity=80);
}


/*common contents-------------------------------------------------*/
.btn_center {
	text-align: center !important;
    width: 100%;
    margin:3% auto;
}

.btn_center a{
    width:40%;
    display: block;
}

.cont_block {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

.btn_center a img{
    width:100%;
    height: auto;
}

.btn_center a img:hover{
    opacity: 0.8;
    filter: alpha(opacity=80);
}

.btn_center a{
    width:50%;
    height: auto;
    text-align:center;
    margin:0 auto;
    display: block;
}


/*.link_btn:hover*/
a:hover .intv_ph,
a:hover .intv_ph.sub,
.intv_ph.sub a:hover{
    opacity: 0.8;
    filter: alpha(opacity=80);
}


/**/

p a,
li a {
  color: #6EC535;
}

/*---------------------------------------
page
-----------------------------------------*/
/*page*/
.text_center{
    text-align: center !important;
}

.text_right{
    text-align: right !important;
}

.text_left{
    text-align: left !important;
}

.text_center strong{
	font-size:2.4rem;
	padding-left:5px;
	padding-right: 5px;
}

.full{
	width:100% !important;
}

/*btn_submit*/
.btn_submit{
  width:90%;
  margin:10% auto;
  text-align: center;
}
.btn_submit a img{
    max-width:100%;
    height: auto;
}

.btn_submit a:hover img {
	opacity: 1;
	-webkit-animation: flash 1.5s;
	animation: flash 1.5s;
}

/*breadcrumb*/
.breadcrumb{
	width:100%;
	max-width: 1046px;
	margin:30px auto;
	padding:0;
	list-style-type: none;
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
}

.breadcrumb li,
.link_back{
	font-size:1.6rem;
	line-height: 1.4;
	letter-spacing: 0.1em;
}

.breadcrumb li a,
.link_back{
	color:#6EC535;
	text-decoration: underline;
	cursor: pointer;
}

.breadcrumb li:first-child::before,
.link_back::before{
	content: "";
	background: url("../images/interview/icon_home.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center bottom;
	display: inline-block;
	margin-right:5px;
	width:20px;
	height: 20px;
}

.breadcrumb li::after{
	content: ">";
	display: inline-block;
	margin-left: 10px;
	margin-right: 10px;
}

.breadcrumb li:last-child::after{
	content: "";
}


/*interview-------------------------------------------*/
/*dot_line_common*/
.hl_01::after,
.intv_a::after{
	content: "";
	background: url("../images/top/line_dot.svg");
	/*background-size: 20%;*/
	background-repeat: repeat-x;
	background-position: left center;
	height: 20px;
    width: 100%;
	display: inline-block;
}
/*pageheader*/
.pagetitle_wrap{
	margin:80px auto 0 auto;
	background: url("../images/oosaka/interview/yukihira/mv_bg.png");
	background-size: cover;
	background-repeat: no-repeat !important;
	background-position: center top;
	height: 636px;
	width: 100%;
	/*max-width: 1046px;*/
}

.pagetitle_wrap.kohno{
	background: url("../images/oosaka/interview/kohno/mv_bg.png");
	background-position: center top;
}

.pagetitle_wrap.miho{
	background: url("../images/hiroshima/interview/mv_bg.png");
	background-position: center top;
}

.page_title{
	/*margin:80px auto 0 auto;
	background: url("../images/oosaka/interview/yukihira/mv_bg.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center top;*/
	height: 636px;
	width: 100%;
	max-width: 1046px;
	margin: 0 auto;
}

.page_title h1{
	width:60%;
	font-size:2rem;
	line-height: 1.5;
	letter-spacing: 0.2em;
	font-weight: normal;
	padding-top: 100px;
	/*display: inline-block;*/
}

.page_title h1 .hl_01{
	font-size:6rem;
	letter-spacing: 0.2em;
	color:#EFF6EA;
	text-shadow: 0 0 2px #6EC535;
	font-weight: bold;
	display: block;
	line-height: 0.6;
	margin-bottom: 30px;
}

.hl_01::after{
	background-size: 50%;
	width:70%;
}

.page_title h1 ruby{
	font-size:5rem;
	letter-spacing: 0.3em;
	font-weight: bold;
	display: flex;
	flex-direction: column;
	text-align: justify;  /* この指定は text-align-last を IE に対応させるために必要 */
	text-align-last: justify;
	width: 50%;
}

.page_title h1 ruby rt{
	font-size:1.7rem;
	/*letter-spacing: 0.1em;*/
}

.catch_txt,
.catch_img{
	width:50%;
}

.catch_img{
	text-align: center;
	margin-top: 40px;
}

.catch_img img{
	width:90%;
	max-width: 100%;
	height: auto;
	margin: auto;
}

.catch_title{
	width:100%;
	font-size:3rem;
	line-height: 1.6;
	font-weight: normal;
	letter-spacing: 0.3em;
}
.catch_title::before,
.catch_title::after{
	content: "";
	background: url("../images/top/line_dot.svg");
	background-size: 50%;
	background-repeat: repeat-x;
	background-position: left center;
	height: 20px;
    width: 100%;
	display: inline-block;
}
.catch_title::before{
	margin-bottom:15px;
}

.catch_title::after{
	margin-top:5px;
}

.catch_txt p,
.sub_block p,
.intv_a + p,
.cont_wrap .staff_title + p{
	width:100% !important;
	font-size:1.8rem;
	line-height: 2;
	color:inherit;
	letter-spacing: 0.2em;
}

.intv_q,
.intv_a{
	color:#6EC535;
	line-height: 1.4;
	letter-spacing: 0.3em;
	width:100%;
}

.intv_q{
	font-size:3.6rem;
	width:100%;
	margin:60px auto 30px auto;
}

.intv_q::before{
	content: "";
	background:url("../images/interview/icon_q.svg");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	margin-right: 10px;
	width: 1em;
	height: 1em;
}

.intv_a{
	font-size:2.5rem;
	width:100%;
	margin:80px auto 10px auto;
}

.intv_a::after{
	background-size: 20%;
}

.intv_ph{
	width:86%;
	margin:0 auto;
	padding:0;
}

.intv_ph.sub{
	width:60%;
}

.intv_ph img{
	width:100%;
	height: auto;
	border-radius: 50px;
}

.intv_ph.sub img{
  border-radius: 0 !important;
}

.intv_ph figcaption{
	font-size:1.4rem;
	line-height: 1.4;
	margin:10px auto 30px auto;
	text-align: center;
}

a .intv_ph figcaption,
a .intv_ph.sub figcaption{
	color:#313131;
}

.intv_ph.sub a{
	width:50%;
}

.intv_ph.sub a img{
	width:100%;
	height: auto;
}

/*last_msg*/
.last_msg{
	position: relative;
	max-width: 900px;
}

.last_msg span{
	width:40%;
	display: block;
	position: absolute;
	right:-6%;/*73px*/
	bottom:-8%;/*90px*/
	z-index: 1;
}

.last_msg span img{
	width:100%;
	height: auto;
}

/*nextstaff*/
.nextstaff{
	align-content: center;
	-webkit-align-content: center;
	padding-top: 40px;
}
.nextstaff .thumbnail{
	width:45%;
	text-align: center;
	display: flex;
}

.nextstaff .thumbnail img{
	width:62.5%;
	height: auto;
	margin:auto;
}

.nextstaff + .text_center{
	cursor: pointer;
}

.nextstaff + .text_center figure{
	margin-bottom:40px;
}

/*---------------------------------------
footer
-----------------------------------------*/
footer {
    width: 100%;
    margin: 0 auto !important;
	padding:0;
    box-sizing: border-box;
	background: #fff15f;
	position: relative;

}

footer::before{
	content: "";
	background: url("../images/common/footer_bg.png");
	background-position: top left;
	width:100%;
	height: 20px;
	position: absolute;
	top:-20px;
	left:0;
}

footer .sub_block{
	-webkit-flex-direction: row;
    flex-direction: row;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    justify-content: space-between;
    -webkit-justify-content: space-between;
	flex-wrap: wrap;
	padding-top:80px;
	padding-bottom: 40px;
}


footer address{
	font-size: 14px;
    line-height: 1.3;
    /*color: #fff;*/
    font-style: normal;
    letter-spacing: 0.1em;
		width: 100%;
	/*max-width: 1046px;*/
	margin: 10px auto 0;
	padding:20px 0;
	box-sizing: border-box;
	text-align: center;
}

.ftr_ad_ttl {
	font-weight: bold;
}

.ad_name{
	font-weight: bold;
	margin-bottom: 20px;
	/*margin-right:50px;
	width:40%;*/
}
.ad_data{
	/*width:calc(60% - 50px);*/
	line-height: 1.4;
}
/*
.ad_data br{
	display: none;
}*/

.ad_data a{
	color:#313131;
}

.btn_ftr_rsv{
	width:46%;
	background: #fff;
	border-radius: 70px;
	padding:10px;
	position: relative;
	text-align: center;
	margin: 0 auto;
}

.btn_ftr_rsv figure{
	color:#313131;
}

.ftr_rsv_top{
	font-size:2.4rem;
	line-height: 1;
	font-weight: bold;
	letter-spacing: 0.2em;
	display: block;
	position: relative;
}

.ftr_rsv_top::after{
	content: "";
	background: url("../images/common/line_dot_cv.svg");
	background-repeat: repeat-x;
	background-position: left center;
	width:70%;
	height: 10px;
	/*position: absolute;
	left: 0;
	right:0;
	top:0;
	margin:auto;*/
	display: inline-block;
	margin:0 auto;
}

.ftr_rsv_txt{
	font-size:1.6rem;
	line-height: 1.4;
	margin-top:15px;
	letter-spacing: 0.2em;
}

.btn_ftr_rsv figure strong{
	color:#313131;
	font-size:5rem;
	display: block;
	padding:10px 0;
}
.ftr_txt {
	display: block;
	font-size: 16px;
	text-align: left;
	max-width: 315px;
	margin: 0 auto;
}
.ftr_txt_hiroshima{
	max-width: 340px;
}

.btn_ftr_rsv figure img{
	width:32%;
	height: auto;
	position: absolute;
	right:-20%;
	top: -30px;
}

.btn_ftr_rsv:hover figure img{
  animation: key .3s ease infinite alternate;
}

.btn_ftr_rsv:hover{
	opacity: 0.8;
    filter: alpha(opacity=80);
}

.copyright{
	font-size:1.2rem;
	line-height: 1.3;
	text-align: center;
	color:#313131;
	/*border-top: 3px dotted rgba(255,255,255,0.5);*/
	margin:0 auto;
	padding:20px;
	box-sizing: border-box;
	position: relative;
}

.copyright::before{
	content: "";
	background: url("../images/common/line_dot_ftrcmn.svg");
	background-repeat: repeat-x;
	background-position: left center;
	width:100%;
	max-width: 1280px;
	height: 10px;
	position: absolute;
	left: 0;
	right:0;
	top:0;
	margin:auto;
}


.pagetop {
    display: none;
    position: fixed;
    bottom: 10px;
    right: 60px;
    z-index: 10;
}

.pagetop a {
    text-align: center;
    width: 60px;
    height: 60px;
    display: block;
}
.pagetop a img{
    width:100%;
	height: auto;
}

.pagetop a:hover {
    display: block;
    opacity: 0.6;
    filter: alpha(opacity=60);
}


.footer_contact_block {
	max-width: 650px;
	width: 100%;
	margin: 0 auto;
	padding-top: 80px;
	padding-bottom: 40px;
	border-radius: 15px;
}

.footer_contact_inner {
	margin: 0;
	background: #fff;
	padding: 30px;
	border-radius: 15px;
}

.footer_contact_inner > dt {
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	position: relative;
	margin-bottom: 15px;
}
.footer_contact_inner > dt::before{
	content: '';
	background: url(../images/top/btn_rsv_icon.png) 0 0 no-repeat;
	background-size: 117px 148px;
	height: 148px;
	width: 117px;
	position: absolute;
	right: -30px;
	top: -40px;
}

.footer_contact_inner > dt span {
	display: block;
	font-size: 22px;
}

.footer_contact_inner > dt::after {
	content: "";
	background: url(../images/common/line_dot_cv.svg);
	background-repeat: repeat-x;
	width: 70%;
	height: 10px;
	display: inline-block;
	margin: 0 auto;
}

.footer_contact_inner dd {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
}

.footer_contact_inner dd > div {
	width: 48%;
	margin-right: 3%;
	font-size: 16px;
}

.footer_contact_inner dd > div:last-child {
	margin-right: 0;
}

.contact_tell_txt {
	display: block;
	font-size: 14px;
	font-weight: bold;
}

.contact_tell_link {
	display: block;
	color: #313131;
	font-weight: bold;
	font-size: 34px;
	line-height: 1.2;
	background: #fff001;
	padding: 10px 20px;
	border-radius: 8px;
	position: relative;
	border: 2px solid #fff001;
}
.contact_tell_link::after {
	content: '';
	position: absolute;
	right: 10px;
	width: 8px;
	height: 8px;
	top: 50%;
	margin-top: -4px;
	border-top: 2px solid #313131;
	border-right: 2px solid #313131;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.contact_timerex_link {
	display: block;
	line-height: 1.3;
	color: #fff;
	background: #ea5f00;
	border: 2px solid #ea5f00;
	font-weight: bold;
	font-size: 22px;
	text-align: center;
	padding: 15px 10px;
	border-radius: 8px;
	position: relative;
}

.contact_timerex_txt {
	display: block;
	font-size: 14px;
	font-weight: bold;
}

.contact_timerex_link::after {
	content: '';
	position: absolute;
	right: 10px;
	width: 8px;
	height: 8px;
	top: 50%;
	margin-top: -4px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}


.contact_timerex_link:hover{
	color: #ea5f00;
	background: #fff;
}
.contact_timerex_link:hover::after{
	border-top: 2px solid #ea5f00;
	border-right: 2px solid #ea5f00;
}
.contact_tell_link:hover{
	background: #fff;
}

/**大阪事務所MVにリンク掲載**/
.oosaka_main_link,
.tokyo_profile{
	max-width: 1000px;
	position: absolute;
	bottom: 250px;
	left: 0;
	right: 0;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.tokyo_profile {
	max-width: 1130px;
}
.oosaka_main_link_btn,
.hiroshima_main_link_btn,
.tokyo_fukidashi{
	animation: bounce 3s ease infinite;
}
@keyframes bounce {
	0% { transform:translateY(0) }
	11.11111% { transform:translateY(0) }
	22.22222% { transform:translateY(-15px) }
	27.77778% { transform:translateY(0) }
	33.33333% { transform:translateY(-15px) }
	44.44444% { transform:translateY(0) }
	100% { transform:translateY(0) }
}
/**広島事務所MVにリンク掲載**/
.hiroshima_main_link {
	max-width: 750px;
	position: absolute;
	bottom: 200px;
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: left;
}

/*東京事務所MVに吹き出し追加*/
.tokyo_fukidashi{
	position: absolute;
}

.tokyo_fukidashi img{
	width: auto;
	height: auto;
	max-width: 100%;
}
/* 20250313名前バナー統一 */
.tokyo_profile.pc-only .tokyo_fukidashi.link_btn1 {
    right: 85px;
    bottom: -160px;
}
/* .tokyo_fukidashi.link_btn1 {
    right: 85px;
    bottom: -160px;
} */
/* .tokyo_fukidashi.link_btn1 {
	right: 0;
	bottom: 0;
} */

.tokyo_fukidashi.link_btn2 {
	left: 50px;
	bottom: 10px;
}

.tokyo_fukidashi.link_btn3 {
	right: 190px;
	bottom: 60px;
}

.tokyo_fukidashi.link_btn4 {
	left: 230px;
	bottom: -85px;
}

.map.tokyo{
	width:100%;
	max-width: 1046px;
}

.map.tokyo img{
	width:100%;
	height: auto;
}

.l_tel{
	font-size:2.4rem !important;
	font-weight: bold;
	margin-bottom: 0px !important;
}

.map_info{
	width: 100%;
	max-width: 250px;
	font-size: 2rem;
	line-height: 60px;
	position: relative;
	height: 60px;
	padding: 0 20px;
	text-align: center;
	color: #fff;
	background: #6EC535;
	margin-right: 50px;
	margin-bottom: 10px;
}

.map_info::after{
	content: "";
	position: absolute;
	top: 0;
	display: block;
	/*height: 48px;*/
	border: 30px solid #6EC535;
	right: -40px;
	border-right-width: 15px;
	border-right-color: transparent;
}

.sub_box{
	width:100%;
	background: #fff;
	padding:20px;
	border-radius:20px;
}

.sub_box p{
	line-height: 1.6;
}

.hd_date{
	font-weight: bold;
}

.info_thumbnail {
	height: 230px;
	width: 230px;
	border-radius: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #c3c3c3;
	overflow: hidden;
}
.info_thumbnail svg {
	padding: 5px;
}
.bnr_link li a .bnr_03 > img {
	width: 70%;
}
.bnr_iikenshimaneken svg {
	width: 75%;
}

.adr_info .contact-note {
	font-size: 14px;
	margin-top: 20px;
	line-height: 1.8;
}
.footer_contact_inner dd .contact-note {
	width: 100%;
	margin-top: 15px;
	font-size: 14px;
	line-height: 1.8;
	padding: 0 5px;
	margin-bottom: 0;
	text-align: center;
}
.footer_contact_inner dd > div.contact_timerex {
	margin-right: 0;
}

.timerex-holiday a {
	background: #ea3700;
	border: 2px solid #ea3700;
}
.timerex-holiday a:hover {
	color: #ea3700;
	background: #fff;
}

.tokyo-footer .contact_tell {
	width: 100%;
	margin: 0 auto 20px;
	max-width: 300px;
}

.tokyo-footer dd {
	display: block;
}

.footer_contact_inner dd > .timerex-contacts {
	width: 100%;
	display: flex;
	gap: 20px 3%;
	justify-content: center;
}

.tokyo-footer {
	max-width: 750px;
}

.timerex-contacts > div {
	width: 50%;
}


/*---------------------------------------
responsive
-----------------------------------------*/

@media (orientation: landscape) and (max-width: 940px){
	.btn_sat{
		bottom:-80px;
	}

	/*interview*/
	.hl_01::after{
		width:60% !important;
	}

	/*catch*/
	.catch_img{
		width:50% !important;
	}
}

@media screen and (max-width: 480px) {
	/*header*/
	.head_01{
		/*width:calc(100% - 60px) !important;*/
	}

	/*hamburger_menu*/
	#menu-btn-check:checked ~ .menu-content {
		left:20%;
	}
	.menu-content{
		width:80%;
	}

	.menu-content .logo_link span{
		display: block;
		margin-left: 0;
	}

	/*mainvisual*/
    .mainvisual,
	.mv_wrap{
		height: 600px !important;
    }

	.mv_wrap{
		background-size:180%;
		background-repeat: no-repeat;
		margin-top: 60px !important;
	}


	/*hiroshima*/
	.mv_wrap.hiroshima{
		background:url("../images/hiroshima/top/mv_bg_sp.jpg") !important;
		background-size:cover !important;
		background-repeat: no-repeat !important;
	}

	.mainvisual h1{
		width:75% !important;
	}
	/*hiroshima*/
	.mv_wrap.hiroshima .mainvisual h1{
		top:150px !important;
		right:0px !important;
	}

	/*.mainvisual h1*/
	/*.mv_text span{
		width:100% !important;
		font-size:2.5rem;
		top: auto;
		bottom: 60px !important;
		left:0;
		right:0;
		margin:auto;
		letter-spacing: 0.1em !important;
	}*/

	.mainvisual h1 span::before,
	.mainvisual h1 span::after{
		width:20px;
		height: 20px;
	}

	.mainvisual h1 span::before{
		left:-1em;
		top:-10px;
	}

	.mainvisual h1 span::after{
		right:0.5em;
		bottom:0;
	}

	/*hiroshima*/
	.mv_wrap.hiroshima .mainvisual h1 span::after {
		right: 3em;
		bottom: 10px;
	}

	.btn_sat{
		/*bottom:20px !important;*/
		/*bottom:-10px !important;*/
		bottom:-40px !important;
	}
	/*
	.mv_text{
		margin-top: 100px;
		width:84%;
		font-size:1.8rem;
		letter-spacing: -1em !important;
	}*/

	.top_6 li,
	.row_wrap.bnr_link li{
		width:100%;
	}

	/*greeting*/
	.cont_wrap.first::before{
		/*top: -80px !important;
		height: 80px !important;*/
		top:-20px !important;
		height: 20px !important;
	}
	.block.greet{
		margin-top:-50px !important;
		padding-bottom: 0 !important;
	}

	/*msg*/
	.full_img.msg{
		width:80%;
	}

	/*btn_rsv*/
	.btn_rsv span{
		right: -5% !important;
		bottom: -5%;
		top: auto;
	}

	/*interview*/
	.pagetitle_wrap,
	.pagetitle_wrap.yukihira,
	.pagetitle_wrap.kohno{
		background-position-x: -720px !important;
	}

	.page_title h1{
		color:#fff !important;
		text-shadow: none;
	}

	.pagetitle_wrap.miho .page_title h1{
		color:#313131 !important;
		text-shadow: none;
	}

	/*catch*/
	.catch_img{
		width:80% !important;
	}

	/*footer*/
	.btn_ftr_rsv figure strong{
		font-size:3.5rem;
	}
	.copyright{
		font-size:1rem;
	}
}
@media screen and (max-width: 768px) {
	.tokyo_profile.pc-only .tokyo_fukidashi.link_btn1 {
		left: 147px;
    	bottom: -160px;
	}
	.tokyo_fukidashi.link_btn1.plus2 img {
		max-width: 550px;
	}
}
/*@media screen and (max-width: 940px) {*/
@media screen and (min-width: 751px) {
	.sp_only{
		display: none;
	}
}
@media screen and (max-width: 750px) {

	main,
	header,
	footer,
	.content,
	.main,
	.mainvisual,
	h2,
	.mainbox,
	.block,
	.row_wrap,
	.staff_box,
	.adr_info,
	.breadcrumb li,
	.page_title h1,
	footer address{
      width: 100%;
    }

	.catch_text img,
	.mv_top figcaption img,
	.block p img,
	.btn_rsv figure img,
	.btn_rsv span img,
	.header_title img,
	.header_title.access img,
	.header_title.info img,
	.nextstaff + .text_center figure img{
		width:100%;
	}

	.header_title.access img{
		width:40%;
	}
	.access-tokyo .header_title.access img {
		width: 50%;
	}

	.top_img,
	.header_title,
	.block p,
	.btn_rsv,
	.btn_sat,
	.btn_more,
	.info_title,
	.nextstaff .thumbnail,
	.ad_data,
	.ad_name,
	.btn_ftr_rsv,
	.catch_img,
	.nextstaff + .text_center figure,
	.intv_ph.sub{
        width:90% !important;
        margin-left:auto !important;
        margin-right: auto !important;
    }
	/*header*/
	.pc{
		display: none;
	}

	.logo_header{
		width:70% !important;
	}

	.head_01{
		width: calc(100% - 40px);
	}

	.head_01 .head_item{
		display: block;
		width:50px;
		height: 50px;
	}

	.cv_area{
		width:100%;
	}

	.cv_area a{
		padding:15px;
		width:40px;
		height: 40px;
		border-radius: 10px;
		position: relative;
	}
	.tel_sav{
		max-width: none;
		margin: 5px -5px 0 -15px;
		font-size: 12px;
	}
	.h_tel_sav{
		max-width: none;
	}
	.cv_area a span{
		display: none;
	}
	.cv_area a::before{
		content: "";
		background: url(../images/common/icon_tel.svg);
		background-size:contain;
		background-position: center;
		background-repeat: no-repeat;
		display: block;
		width:70%;
		height: 70%;
		position: absolute;
		top:0;
		bottom:0;
		left:0;
		right:0;
		margin: auto;
	}


	/*btn*/
	.btn_sat{
		bottom:-60px;
	}
	.btn_rsv span img{
		bottom:50px;
	}

	/*mainvisual*/
    .mainvisual,
	.mv_wrap{
        /*height: 560px;*/
		height: 800px;
    }

	.mainvisual h1{
		width:80%;
	}

	/*
	.cont_wrap.about,
	.block.about,
	.cont_wrap.about::before,
	.cont_wrap.about::after{
		height: auto !important;
	}*/

	.cont_wrap.first::before{
		top:-160px;
		height: 160px;
	}

	.block{
		padding-top: 0;
	}

	/*greeting*/
	.block.greet{
		margin-top:120px;
	}
	.greet_box figure img{
		width:60%;
	}


	/*staff*/
	.staff_box{
		margin-bottom: 50px;
	}

	.staff_title,
	.staff_box p{
		width:80% !important;
		margin-left:auto;
		margin-right:auto;
	}

	/*access*/
	.adr_info{
		margin:0 auto;
	}
	.adr_info dl{
		width:90%!important;
		padding:0;
		margin:0 auto 10px auto!important;
	}

	.adr_info dl dd{
		width:calc(80% - 5px);
		margin-left:5px;
		margin-bottom: 0;
	}
	.adr_info_txt{
		margin-bottom: 30px;
	}
	.adr_info dl dt, .adr_info .adr_info_contact dl dt {
    width: 18%!important;
    margin-bottom: 0;
	}

	/*info*/
	.row_wrap.bnr_link li{
		width:45%;
		margin-left:auto;
		margin-right:auto;
	}

	/*header_title*/
	.header_title{
		margin-bottom: 40px;
		-webkit-flex-direction: column;
        flex-direction: column;
	}

	.header_title::before,
	.header_title::after,
	.intv_a::after{
		width:100%;
		background-size:50% !important;
		background-repeat: repeat-x;
		margin-left: auto;
		margin-right: auto;
	}

	.header_title::before{
		margin-bottom: 10px;
	}

	.header_title::after{
		margin-top: 10px;
	}


	/*common parts*/
	.pc{
		display: none;
	}

  /*page---------------------------------------------*/
	.content{
		margin-top:60px;
	}

	.breadcrumb{
		margin:0 auto;
		width:94%;
		/*max-width: 94% !important;*/
	}
	/*
	.breadcrumb li:first-child:after{
		margin-left: 8%;
	}*/
	.breadcrumb li{
		margin-bottom: 10px;
	}

	/*interview*/
	.pagetitle_wrap.yukihira{
		/*background-position-x:-700px;*/
	}
	.page_title{
		padding-top: 260px !important;
		margin-left:10px !important;
	}
	.page_title h1{
		font-size:1.6rem;
	}

	.hl_01{
		width:70%;
		font-size:3.6rem !important;
		margin-bottom: 10px !important;
	}
	.hl_01::after{
		width:100%;
	}

	.page_title h1 ruby{
		font-size:4rem;
		letter-spacing: 0.1em;
		/*color:#fff;*/
		text-shadow: 0 0 1px #fff,0 0 1px #fff,0 0 1px #fff;
	}

	/*catch*/
	/*
	.catch_img{
		width:50%;
	}*/

	.intv_q{
		font-size:2.4rem;
	}

	.intv_a{
		font-size:2.2rem;
	}

	.intv_ph img{
		border-radius:20px;
	}

	.sub_block p{
		line-height: 1.6;
	}

	.nextstaff{
		margin-bottom: 0;
	}

	.nextstaff .staff_box .staff_title{
		width:100% !important;
	}

	.nextstaff .staff_box{
		width:80%;
		margin-left:auto;
		margin-right: auto;
		margin-bottom: 0;
	}

    /*footer*/
	footer address{
		box-sizing: border-box;
	}

	.ad_name{
		margin-bottom: 20px;
	}

	.ad_name,
	.ad_data,
	.ad_data br{
		display: block;
	}

	/*btn_ftr_rsv*/
	.btn_ftr_rsv{
		width:80%;
		padding:30px 10px;
	}
	.btn_ftr_rsv figure img{
		right: -5% !important;
	}


	.ftr_rsv_top{
		font-size:2rem;
	}

	.ftr_txt{
		text-align: center;
    max-width: none;
    margin: 0 auto 5px;
	}
	.ftr_txt_hiroshima{
		max-width: none;
	}

    /*page------------------------------------*/
/*
    .btn_center a{
        width:90%;
    }

    .pagetop a{
        width:50px;
        height: 50px;
    }
*/

.btn_sat_box {
	margin: -110px auto 0;
  max-width: 500px;
}
.content_btn_sat_box{
	max-width: 500px;
}

.btn_sat_box > .btn_sat,
.content_btn_sat_box > .btn_sat {
	margin-right: 0;
	width: 100%!important;
	margin-bottom: 20px;
}
/* 20250313名前バナー統一 */
.tokyo_profile.pc-only .tokyo_fukidashi.link_btn1 {
    right: 140px;
    bottom: -80px;
}
}

@media screen and (max-width: 940px){
	.head_01,
	.navbar,
	.mv_top,
	.sub_block,
	.greet,
	.pagetitle,
	.breadcrumb,
	footer address,
	.copyright::before{
		max-width:100%;
	}


	/*common*/
	.sp{
		display: block;
	}
	/*header*/
	.pc_header{
		height: 80px;
	}

	.head_01{
		width:calc(100% - 60px);
		margin-left: 10px;
	}

	.head_01.tokyo{
		width:100%;
		margin-left:auto;
		padding-left:10px;
		padding-right:10px;
	}

	.logo_header span{
		display: block;
		margin-left: 0 !important;
	}

	.head_item{
		width:60%;
	}

	.cv_subtxt{
		font-size:1.2rem;
		/*background-position: left;*/
	}
	.cv_txt{
		margin:10px auto 5px auto;
	}
	.cv_area {
    width: 57%;
	}

	.head_01.tokyo .cv_area{
		margin-top: 10px;
	}

	.cv_area a{
		padding-left:10px;
		padding-right:10px;
	}

	.cv_area a .tel{
		font-size:2rem;
	}

	.cv_area a .tel::before{
		content: "";
		background: url(../images/common/icon_tel.svg);
		background-size:contain;
		background-position: center;
		background-repeat: no-repeat;
		width:20px;
		height: 20px;
	}
	.icon_tel{
		right: 10px;
	}



	/*hamburger_menu*/
	.menu-content .logo_link{
		line-height: 1.4;
	}

	/*mainvisual*/
	.mv_wrap,
	.pagetitle_wrap{
		margin-top: 40px;
	}

	/*btn_sat*/
	.btn_sat{
		bottom:-20px;
	}

	/*header_title*/
	.header_title::before,
	.header_title::after,
	.header_title.access::before,
	.header_title.access::after,
	.header_title.info::before,
	.header_title.info::after{
		background-size:100%;
	}


	/*greet*/
	.greet_box{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		flex-wrap: wrap;
		-webkit-flex-direction: column;
        flex-direction: column;
		padding-top: 50px;
	}

	.greet_box span{
		text-align: center;
		line-height: 1.5;
		letter-spacing: 0.2em;
	}

	.greet_box figure{
		order: 3;
		width:80%;
		text-align: center;
		margin:30px auto;
	}

	.greet_box figure img{
		width:30%;
	}

	.greet_box figure figcaption{
		position: relative;
		width:100%;
		right:auto;
	}

	/*btn_rsv*/
	.btn_rsv{
		width:80%;
	}

	.btn_rsv figure img,
	.btn_rsv span img{
		width:100%;
		height: auto;
	}

	.btn_rsv span{
		width:15%;
		right:-10%;
	}

	/*map*/
	.map iframe{
		height: 400px;
	}

	.info_title::after{
		background-size:100%;
	}

    /*info*/
	.header_title.info + .sub_block .full_img{
		width:94%;
	}

	/*page---------------------------------------*/
	.page_title{
		padding-top: 150px;
		margin-left: 30px;
	}

	.page_title h1 ruby{
		width:80%;
	}

	.mainbox.content.page{
		margin-top:30px;
	}

	.catch_txt,
	.intv_q,
	.intv_a,
	/*.intv_a + p*/
	.sub_block p{
		width:94% !important;
		margin-left:auto;
		margin-right: auto;
	}

	/*footer*/
	footer address{
		margin:0 auto 0 5%;
	}
	.btn_ftr_rsv{
		margin-right:5%;
	}

	.btn_ftr_rsv figure img {
		width: 20%;
		right:-10%;
	}

	.pagetop {
		bottom: 30px;
		right:10px;
	}

	/** アクセス **/
	.adr_info_txt > dl {
    width: 100%;
	}
	.adr_info_contact {
		margin-left: 0;
		width: 100%;
	}
	.adr_info .adr_info_contact dl dt {
		text-align: left;
	}
	.adr_info dl dd {
		margin-left: 10px;
	}
	.adr_info dl dt,.adr_info .adr_info_contact dl dt {
		width: 10%;
	}
	.adr_info_txt dl {
		margin-bottom: 10px;
	}

}

@media screen and (min-width: 1400px){
	.mv_wrap{
		height: 900px;
	}
	.mv_wrap.hiroshima{
		height: 748px !important;
	}
	/*.page_title,
	.pagetitle_wrap{
		height: 800px;
	}*/
	.pagetitle_wrap{
		background-size:contain;
	}

	/*東京事務所*/
	/*
	.map.tokyo{
		max-width: 1600px;
		width:100%;
	}*/
}

@media screen and (max-width: 940px) and (min-width:480px){
	/*mainvisual*/
	.mv_wrap.hiroshima{
		background-position-x:-250px !important;
		height: 800px !important;
	}

	.greet_box{
		padding-top: 0 !important;
	}

	/*page*/
	.pagetitle_wrap{
		background-position-x: -340px !important;
	}

	/*catch*/
	.catch_img{
		width:50%;
	}
}


@media screen and (max-width: 940px) and (min-width:750px){
	/*mainvisual*/
	/*
	.mv_wrap{
		height: 900px;
	}
	*/
	/*mainvisual*/
	.mv_wrap{
		margin-top: 50px;
		height: 550px;
	}


	/*footer*/
	/*
	.ad_name{
		font-size:2.1rem;
	}
	.ad_data{
		font-size:1.8rem;
}*/
}

@media screen and (max-width: 600px){
	/*interview*/

	.pagetitle_wrap{
		position: relative;
	}
	.page_title {
    height: auto;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto!important;
    bottom: 0;
    padding: 0!important;
	}
	.page_title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(255, 255, 255, 0) 0,rgba(255, 255, 255, .3) 10%, rgba(255, 255, 255, .5) 20%, rgba(255, 255, 255, .5) 40%, rgba(255, 255, 255, .5) 60%, rgba(255, 255, 255, .5) 80%, rgba(255, 255, 255, .5) 100%);
	}
	.pagetitle_wrap .page_title h1{
		padding: 15px;
		color: #313131!important;
		position: relative;
		z-index: 1;
		text-shadow: 0 0 1px #fff, 0 0 1px #fff, 0 0 1px #fff!important;
	}
	.page_title h1 .hl_01{
		color: #fff;
		text-shadow: #6ec535 1px 1px 0px, #6ec535 -1px 1px 0px, #6ec535 1px -1px 0px, #6ec535 -1px -1px 0px;
	}

	.catch_img {
    max-width: 270px;
    width: 100%!important;
    margin-top: 20px;
	}

	.catch_title::before {
    margin-bottom: 5px;
	}
	.catch_title::after {
    margin-top: 10px;
	}

	.catch_title {
    font-size: 1.8rem;
	}

	.sub_block p {
		font-size: 1.5rem;
		line-height: 2.0;
	}

	.intv_q {
		font-size: 2.1rem;
		line-height: 1.8;
	}

	.intv_a {
		font-size: 1.8rem;
		line-height: 1.8;
	}

	.header_title > img {max-width: 320px;width: 100%;}

	.last_msg span {
		width: 300px;
		bottom: -60px;
	}
	/* 20250313名前バナー統一 */
	.mainvisual-tokyo_img.sp-only .tokyo_fukidashi.link_btn1 {
    	bottom: 25px;
    	left: 170px;
	}
}

@media screen and (max-width: 1400px){
	.mv_wrap{
		height: 850px;
	}
}

@media screen and (min-width: 941px) {
	.sp-link{
		display: none!important;
	}
}

@media screen and (max-width: 940px) {
	.pc-link{
		display: none!important;
	}
	.oosaka_main_link{
		padding: 0 20px;
	}
	.hiroshima_main_link {
    padding: 0 10px;
	}
}

@media screen and (max-width: 750px) {
	.cv_area {
    width: 100%;
	}
	.oosaka_main_link,
	.tokyo_profile{
    bottom: 200px;
    flex-wrap: wrap;
    padding: 0 10px;
	}
	.oosaka_main_link_btn,
	.tokyo_fukidashi{
		width: 50%;
	}
	.link_btn1 {
		text-align: left;
	}
	.link_btn2 {
		text-align: right;
	}
	.oosaka_main_link_btn img {
		max-width: 100%;
	}
	.timerex-links {
    flex-direction: column;
		align-items: center;
	}
	.cont_wrap.first {
		padding-top: 40px;
	}
	.tokyo-staff .staff_box {
		width: 100%;
	}
	.info_title::after {
    background-repeat: repeat-x;
    background-size: 30%;
    background-position: center left;
}

.adr_info > section,
.access-map {
    width: 94% !important;
    margin-left: auto;
    margin-right: auto;
}

.sub_box {
    margin-bottom: 30px;
}

.top_img.map_img {
    width: 100%!important;
    max-width: 300px;
}

.map-links {
    flex-direction: column;
    align-items: center;
}

.map-link_btn {
    width: 100%;
    max-width: 450px;
}

.bnr_link li a img {
    width: 230px;
    height: auto;
}

.footer_contact_inner dd > .timerex-contacts {
    flex-direction: column;
    align-items: center;
}

.timerex-contacts > div {
    width: 100%;
    max-width: 350px;
}

.tokyo-footer .contact_tell {
    max-width: 350px;
}

}

@media screen and (max-width: 700px) {
	.footer_contact_inner dd > div {
    width: 100%;
    margin: 0 auto 30px;
    max-width: 350px;
	}
	.footer_contact_inner dd > div:last-child {
		margin-right: auto;
		margin-bottom: 0;
	}
	.footer_contact_inner dd > div.contact_timerex {
    margin-right: auto;
	}
	.footer_contact_inner dd .contact-note {
		text-align: left;
		margin-top: 0;
	}
}

@media screen and (min-width: 601px){
	.sp-only {
		display: none!important;
	}
}

@media screen and (max-width: 600px){
	.pc-only {
		display: none!important;
	}
	.footer_contact_inner > dt::before{
		background-size: 97px 128px;
    height: 128px;
    width: 97px;
    right: -20px;
    top: -110px;
	}
	.footer_contact_inner{
		padding: 20px;
	}
	.row_wrap.bnr_link li {
    width: 100%;
	}
	.content {
    margin-top: 0;
	}
	.cont_wrap.first {
		padding-top: 160px;
	}
	.timerex-links {
		max-width: 380px;
		margin-left: auto;
		margin-right: auto;
	}

	.mv_wrap.tokyo {
    background: none;
    background-color: #eff6ea;
	}

	.mainvisual-tokyo_img > img {
		width: 100%;
		display: block;
	}

	.mainvisual-tokyo_img {
		position: relative;
	}

	.tokyo_profile {
		bottom: 10px;
	}

	/* .tokyo_fukidashi.link_btn1 {
    right: -42px;
    bottom: 60px;
	} */

	.tokyo_fukidashi.link_btn2 {
		left: -25px;
    	bottom: 0;
	}

	.tokyo_fukidashi.link_btn3 {
    	right: 60px;
    	bottom: 90px;
	}

	.tokyo_fukidashi.link_btn4 {
		left: 58px;
		bottom:58px;
	}

	/* .tokyo_fukidashi img {max-width: 200px;} */
	.tokyo_fukidashi.link_btn1.plus img {
		max-width: 340px;
	}
	.tokyo_profile.sp-only .tokyo_fukidashi.link_btn1 {
        right: 154px;
        bottom: -10px;
    }

	.mainvisual-tokyo {
		height: auto;
		background-color: #eff6ea;
	}

	.mv-timerex.timerex-links {
		margin-top: 0;
		padding-top: 64px;
	}

	.mainvisual-tokyo h1 {
		padding-top: 40px;
	}
	.page-tokyo .cont_wrap.first {
		padding-top: 0;
	}

	.page-tokyo .block.greet {
		padding-bottom: 0;
	}
	.btn_rsv {
		width: 80% !important;
	}
}
@media screen and (max-width: 500px){
	.mainvisual-tokyo_img.sp-only .tokyo_fukidashi.link_btn1 {
    	bottom: 0;
    	left: 116px;
	}
}

@media screen and (max-width: 480px){
	.mainvisual-oosaka h1,
	.mainvisual-tokyo h1 {
    padding-top: 55px;
	}
	.mainvisual-oosaka h1 span::before,
	.mainvisual-tokyo h1 span::before {
		left: -20px;
	}
	.mainvisual-oosaka h1 span::after,
	.mainvisual-tokyo h1 span::after {
		right: 50px;
	}
	.mainvisual h1 span{
		text-shadow: 0 0 1px #fff, 0 0 4px #589f2a, 0 0 5px #589f2a, 0 0 6px #589f2a;
	}
	.btn_sat_box{
		margin: -220px auto 0;
	}
	.content_btn_sat_box {
    max-width: 400px;
    margin-top: -50px;
	}
	.oosaka_main_link{
		bottom: 200px;
	}
	.oosaka_main_link_btn,
	.tokyo_fukidashi{
    width: 100%;
	}
	.link_btn2 {
		margin-top: -20px;
	}
	.oosaka_main_link_btn img,
	.tokyo_fukidashi img{
    width: 200px;
	}
	.hiroshima_main_link_btn img{
		width: 250px;
	}
	.mv_wrap.hiroshima, .mv_wrap.hiroshima .mainvisual {
    height: 650px !important;
    background-position: top -30px left!Important;
	}
}

@media screen and (max-width: 430px){
	.mainvisual-oosaka h1 span,
	.mainvisual-tokyo h1 span {
    font-size: 2.4rem;
	}
}
@media screen and (max-width: 425px){
	.tokyo_fukidashi.link_btn1.plus img {
        max-width: 400px;
    }
}

/* 20230707 イベントバナー追加 */
.event-bnr_wrap {
	max-width: 1046px;
	margin: 0 auto;
	width: 90%;
}
.event-bnr_wrap p img {
	width: 100%;
}
.event-bnr_wrap a {
	transition: .4s;
}
.event-bnr_wrap a:hover {
	opacity: .6;
}
