@charset "UTF-8";
/*
	HTML5 Reset :: style.css
	----------------------------------------------------------
	We have learned much from/been inspired by/taken code where offered from:

	Eric Meyer					:: http://meyerweb.com
	HTML5 Doctor				:: http://html5doctor.com
	and the HTML5 Boilerplate	:: http://html5boilerplate.com

-------------------------------------------------------------------------------*/
/* Let's default this puppy out
-------------------------------------------------------------------------------*/
html,
body,
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,
figure,
footer,
header,
menu,
nav,
section,
time,
mark,
audio,
video,
details,
summary {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent
}
article,
aside,
figure,
footer,
header,
nav,
section,
details,
summary {
  display: block
}
/* Handle box-sizing while better addressing child elements:
   http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit
}
/* consider resetting the default cursor: https://gist.github.com/murtaugh/5247154 */
/* Responsive images and other embedded objects */
/* if you don't have full control over `img` tags (if you have to overcome attributes), consider adding height: auto */
img,
object,
embed {
  max-width: 100%
}
/*
   Note: keeping IMG here will cause problems if you're using foreground images as sprites.
	In fact, it *will* cause problems with Google Maps' controls at small size.
	If this is the case for you, try uncommenting the following:

#map img {
		max-width: none;
}
*/
/* force a vertical scrollbar to prevent a jumpy page */
html {
  overflow-y: scroll
}
/* we use a lot of ULs that aren't bulleted.
	you'll have to restore the bullets within content,
	which is fine because they're probably customized anyway */
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
}
del {
  text-decoration: line-through
}
abbr[title],
dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help
}
/* tables still need cellspacing="0" in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0
}
th {
  font-weight: bold;
  vertical-align: bottom
}
td {
  font-weight: normal;
  vertical-align: top
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0
}
input,
select {
  vertical-align: middle
}
pre {
  white-space: pre;
  /* CSS2 */white-space: pre-wrap;
  /* CSS 2.1 */white-space: pre-line;
  /* CSS 3 (and 2.1 as well, actually) */word-wrap: break-word/* IE */
}
input[type="radio"] {
  vertical-align: text-bottom
}
input[type="checkbox"] {
  vertical-align: bottom
}
.ie7 input[type="checkbox"] {
  vertical-align: baseline
}
.ie6 input {
  vertical-align: text-bottom
}
select,
input,
textarea {
  font: 99% sans-serif
}
table {
  font-size: inherit;
  font: 100%
}
small {
  font-size: 85%
}
strong {
  font-weight: bold
}
td,
td img {
  vertical-align: top
}
/* Make sure sup and sub don't mess with your line-heights http://gist.github.com/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative
}
sup {
  top: -0.5em
}
sub {
  bottom: -0.25em
}
/* standardize any monospaced elements */
pre,
code,
kbd,
samp {
  font-family: monospace,sans-serif
}
/* hand cursor on clickable elements */
.clickable,
label,
input[type=button],
input[type=submit],
input[type=file],
button {
  cursor: pointer
}
/* Webkit browsers add a 2px margin outside the chrome of form elements */
button,
input,
select,
textarea {
  margin: 0
}
/* make buttons play nice in IE */
button,
input[type=button] {
  width: auto;
  overflow: visible
}
/* scale images in IE7 more attractively */
.ie7 img {
  -ms-interpolation-mode: bicubic
}
/* prevent BG image flicker upon hover
   (commented out as usage is rare, and the filter syntax messes with some pre-processors)
.ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}
*/
/* let's clear some floats */
.clearfix:before,
.clearfix:after {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden
}
.clearfix:after {
  clear: both
}
.clearfix {
  zoom: 1
}
html,
body {
  -webkit-text-size-adjust: 100%
}
html {
  font-size: 62.5%
}
body {
  font-family: "Noto Sans CJK JP","ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro",Osaka,"メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.8;
  word-wrap: break-word;
  color: #304993;
  background-color: #fff;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased
}
a {
  text-decoration: none;
  color: #d8d8d8;
  outline: none
}
a:hover {
  opacity: .8
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom
}
p {
  color: #333
}
.clearfix:after {
  content: '';
  display: block;
  clear: both
}
.container {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto
}
.pc-only {
  display: block
}
.sp-only {
  display: none
}
.pc-inline-only {
  display: inline-block
}
.sp-inline-only {
  display: none
}
.text-center {
  text-align: center
}
@media screen and (max-width: 768px) {
  .pc-only {
    display: none
  }
  .sp-only {
    display: block
  }
  .pc-inline-only {
    display: none
  }
  .sp-inline-only {
    display: inline-block
  }
}
.col2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
@media screen and (max-width: 768px) {
  .col2 {
    display: block
  }
}
header {
  background: #f5f5f5
}
.head_pc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1280px;
  margin: 0 auto;
  padding: 20px 0;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
.head_pc .head_left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.head_pc .head_left a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}
.head_pc .head_left .logo {
  margin-bottom: 5px
}
.head_pc .head_left .logo img {
  width: 134px
}
.head_pc .head_left .logo-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 16px;
  font-weight: 500;
  font-style: normal;
  font-stretch: normal;
  text-align: left;
  letter-spacing: normal;
  color: #333
}
.head_pc .head_left .logo-text span {
  font-weight: 500
}
.head_pc .head_left .logo-text::before {
  content: "";
  display: inline-block;
  width: 2px;
  height: auto;
  margin: 0 20px;
  background-color: #304993
}
.head_pc .head_right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}
.head_pc .head_right.head-btn a {
  position: relative;
  display: block;
  padding: 13px 40px 13px 25px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  border-radius: 20px;
  background-color: #304993
}
.head_pc .head_right.head-btn a:first-of-type {
  margin-right: 20px
}
.head_pc .head_right.head-btn a:hover {
  opacity: .8
}
.head_pc .head_right.head-btn a.color-blue {
  background-color: #16a2dd
}
.head_pc .head_right.head-btn a:after {
  content: "";
  position: absolute;
  top: 16px;
  right: 20px;
  display: inline-block;
  width: 6px;
  height: 6px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff
}
@media screen and (max-width: 768px) {
  .head_sp {
    position: fixed;
    z-index: 9;
    top: 0;
    right: 0;
    left: 0;
    height: 62px;
    background-color: #fff
  }
  .head_sp .logo {
    float: left;
    width: auto;
    margin: 12px 0 0 12px
  }
  .head_sp .logo a {
    display: block
  }
  .head_sp .logo img {
    width: calc(251px / 2);
    vertical-align: top
  }
  .head_sp .logo span {
    display: block;
    font-size: 10px;
    font-weight: bold;
    color: #333
  }
  .head_sp .menu-btn {
    position: absolute;
    top: 11px;
    right: 14px;
    width: 40px;
    height: 40px
  }
  .nav_sp {
    position: fixed;
    z-index: 10;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    min-width: 320px;
    padding: 12px 20px;
    -webkit-transition: 0.4s;
    transition: 0.4s;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    background: rgba(51, 51, 51, 0.5)
  }
  .nav_sp.is-visible {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
  .nav_sp ul {
    padding: 60px 20px 25px;
    border-radius: 12px;
    background-color: #fff
  }
  .nav_sp ul li {
    margin-bottom: 10px
  }
  .nav_sp ul li:last-of-type {
    margin-bottom: 0
  }
  .nav_sp ul li:last-of-type a {
    background: #16a2dd url(../images/ico_arrow_right.png) no-repeat 95% 50%;
    background-size: 6px 10px
  }
  .nav_sp ul li a {
    display: block;
    padding: 15px;
    font-size: 13px;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    color: #fff;
    border-radius: 44px;
    background: #005592 url(../images/ico_arrow_right.png) no-repeat 95% 50%;
    background-size: 6px 10px
  }
  .nav_logo_btn {
    position: absolute;
    top: 25px;
    left: 45px;
    width: 33.33333%
  }
  .nav_close_btn {
    position: absolute;
    top: 30px;
    right: 40px;
    width: 12px;
    height: 12px;
    background: url(../images/menu-close-btn.png) no-repeat 50% 50%
  }
}
.mv {
  position: relative;
  max-width: 1280px;
  height: 300px;
  margin: 40px auto 0;
  text-align: center;
  color: #fff;
  background: url(../images/form/mv.png) no-repeat center top;
  background-size: cover
}
@media screen and (max-width: 768px) {
  .mv {
    height: 225px;
    margin-top: 62px;
    background: url(../images/form/mv_sp.png) no-repeat center top
  }
}
.mv-container {
  position: relative;
  height: 100%
}
.mv-title {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  /* Safari用 */transform: translate(-50%, -50%)
}
@media screen and (max-width: 768px) {
  .mv-title {
    width: 60.93333%
  }
}
/*----------------↓foooter_st↓-------------------------------------*/
footer {
  position: relative;
  width: 100%;
  background: #313131
}
footer .container {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px 0
}
footer .container ul {
  float: left;
  font-size: 12px
}
footer .container ul li {
  float: left;
  font-weight: bold
}
footer .container ul li a {
  text-decoration: none;
  color: #fff
}
footer .container ul li.footer_li01 {
  padding-right: 16px;
  border-right: solid 1px #fff
}
footer .container ul li.footer_li02 {
  padding-right: 16px;
  padding-left: 16px;
  border-right: solid 1px #fff
}
footer .container ul li.footer_li03 {
  padding-right: 16px;
  padding-left: 16px;
  border-right: solid 1px #fff
}
footer .container ul li.footer_li04 {
  padding-left: 16px
}
footer .container ul:after {
  content: " ";
  display: block;
  clear: both
}
footer .container small {
  float: right;
  font-size: 10px;
  font-weight: bold;
  color: #fff
}
footer .container:after {
  content: " ";
  display: block;
  clear: both
}
.flex_nw_topi li:last-child {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: right;
  background: #fff;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1
}
.flex_nw_topi li:last-child a {
  position: relative;
  padding: 14px;
  font-size: 8px;
  font-size: 0.8rem
}
.flex_nw_topi li:last-child a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 12px;
  height: 12px;
  margin: auto;
  border-radius: 50%;
  background: #0e3081
}
.flex_nw_topi li:last-child a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 3px;
  width: 3px;
  height: 3px;
  margin: auto;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-top: 1px solid #fff;
  border-right: 1px solid #fff
}
li.kyoto_img {
  width: 333px
}
li.kyoto_img02 {
  width: 666px
}
.kyoto_img img {
  width: 100%;
  height: auto
}
/*----------------↑footer_end↑-------------------------------------*/
/*----------------↓sp_st↓-------------------------------------*/
@media screen and (max-width: 768px) {
  .natation_pc {
    display: none !important
  }
  .copy_wrap01 small {
    font-size: 10px
  }
  .btn_topagetop01_wrap {
    position: relative
  }
  .btn_topagetop01 {
    position: fixed;
    right: 16px;
    bottom: 75px;
    display: block;
    width: 46px;
    height: 46px;
    background: url(../images/btn_topagetop_01.png) no-repeat 50% 50%;
    background-size: 46px 46px
  }
  .foot_wrap01 {
    padding: 15px 0;
    color: #fff;
    background-color: #333
  }
  .flex_footer_wrap01_sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
  .flex_footer_wrap01_sp li {
    width: 43%;
    margin-bottom: 10px;
    margin-left: 20px;
    font-size: 13px
  }
  .copy_wrap01 {
    margin-left: 20px;
    text-align: left;
    color: #fff
  }
  .foot_wrap01 ul li a {
    font-weight: bold;
    text-decoration: none
  }
}
@media print,
screen and (min-width: 769px) {
  .natation_sp {
    display: none !important
  }
  footer .container ul li.footer_li01 {
    padding-right: 16px;
    border-right: solid 1px #fff
  }
  footer .container ul li a {
    text-decoration: none;
    color: #fff
  }
  footer .container ul {
    float: left;
    font-size: 12px;
    line-height: 1
  }
}
.container {
  width: 100%;
  max-width: calc(860px + 30px);
  margin: 0 auto
}
.container .inner {
  padding: 0 15px
}
.text {
  font-size: 16px;
  font-weight: 500
}
@media screen and (max-width: 768px) {
  .text {
    font-size: 14px
  }
}
.section {
  padding-top: 60px;
  padding-bottom: 10px
}
@media screen and (max-width: 768px) {
  .section {
    padding-top: 50px;
    padding-bottom: 30px
  }
}
.section.bg-gray {
  background-color: #fafafb
}
.section h3 {
  font-size: 24px;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5
}
@media screen and (max-width: 768px) {
  .section h3 {
    font-size: 18px;
    font-size: 18px;
    font-size: 1.8rem
  }
}
.section-top {
  margin-bottom: 60px
}
@media screen and (max-width: 768px) {
  .section-top {
    margin-bottom: calc(75px / 2)
  }
}
.section-top .message-red {
  font-size: 16px;
  font-weight: bold;
  color: red
}
.section-block {
  margin-bottom: 60px
}
@media screen and (max-width: 768px) {
  .section-block {
    margin-bottom: 20px
  }
}
.section-block-content {
  padding: 30px 60px
}
@media screen and (max-width: 768px) {
  .section-block-content {
    padding: 15px 25px 30px
  }
}
.section-block.border {
  border: 1px solid #304993
}
.section-block.b-top {
  padding-top: 40px;
  border-top: 1px solid #304993
}
@media screen and (max-width: 768px) {
  .section-block.b-top {
    padding-top: 20px
  }
}
.section-block .total {
  font-size: 24px;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
  color: #304993
}
@media screen and (max-width: 768px) {
  .section-block .total {
    font-size: 18px;
    font-size: 18px;
    font-size: 1.8rem
  }
}
.section-block .total span {
  margin-right: 10px;
  font-family: 'Barlow',sans-serif;
  font-size: 50px;
  font-size: 50px;
  font-size: 5rem;
  font-weight: bold;
  color: #304993
}
.section-block .title {
  padding: 8px 0;
  font-size: 24px;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  color: #fff;
  background: #304993
}
.section-block .title small {
  font-size: 12px;
  font-size: 1.2rem
}
@media screen and (max-width: 768px) {
  .section-block .title {
    padding: 16px 0;
    font-size: 18px;
    font-size: 18px;
    font-size: 1.8rem
  }
}
.section-block .title-line {
  margin-bottom: 15px;
  font-size: 24px;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  border-bottom: 1px solid #304993
}
@media screen and (max-width: 768px) {
  .section-block .title-line {
    font-size: 18px;
    font-size: 18px;
    font-size: 1.8rem
  }
}
.section-block .title-line.type01 {
  margin-bottom: -20px
}
@media screen and (max-width: 768px) {
  .section-block .title-line.type01 {
    margin-bottom: 0
  }
}
.section-block .title-line span {
  display: inline-block;
  margin-bottom: 10px;
  font-weight: bold
}
.section-block .tel {
  margin-bottom: 10px;
  font-family: 'Barlow',sans-serif;
  font-size: 50px;
  font-size: 50px;
  font-size: 5rem;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: #304993
}
.section-block .tel span {
  display: inline-block;
  margin-top: 5px;
  font-size: 16px;
  font-weight: bold
}
.section-block.btn {
  text-align: center
}
.section-block.btn a {
  display: inline-block
}
@media screen and (max-width: 768px) {
  .section-block.btn a {
    margin: 0 25px
  }
}
@media screen and (max-width: 768px) {
  .section-block.btn a img {
    width: 100%
  }
}
.section-block.btn a:first-of-type {
  margin-right: 20px
}
@media screen and (max-width: 768px) {
  .section-block.btn a:first-of-type {
    margin-right: 25px;
    margin-bottom: 20px
  }
}
.section-block.btn a:hover {
  opacity: .8
}
.section .section-text {
  margin: -40px auto 100px;
  text-align: center
}
@media screen and (max-width: 768px) {
  .section .section-text {
    margin: 15px auto 45px;
    text-align: left
  }
}
.section .collection-place input {
  display: none
}
.section .collection-place input + label {
  position: relative;
  font-size: 16px;
  font-weight: 500;
  color: #333
}
@media screen and (max-width: 768px) {
  .section .collection-place input + label {
    font-size: 14px
  }
}
.section .collection-place input + label:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0px;
  display: block;
  width: 20px;
  height: 20px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 1px solid #999;
  border-radius: 50%;
  background: #fff
}
.section .collection-place input:checked + label:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 5px;
  display: block;
  width: 10px;
  height: 10px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 50%;
  background: #304993
}
.section .collection-place label {
  display: block;
  padding: 5px 30px;
  text-align: left;
  border-radius: 20px
}
.section .readonly input[type="text"],
.section .readonly textarea {
  background-color: #f5f5f5
}
.section-thanks-message p {
  margin-bottom: 50px
}
@media screen and (max-width: 768px) {
  .section-thanks-message p {
    margin-bottom: calc(75px / 2)
  }
}
.section-thanks-message p span {
  font-size: 13px;
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: 500
}
.form-table {
  width: 100%;
  margin-top: 45px
}
@media screen and (max-width: 768px) {
  .form-table {
    margin-top: 35px
  }
}
.form-table .form-table-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
@media screen and (max-width: 768px) {
  .form-table .form-table-row {
    display: block
  }
}
.form-table .form-table-row.row-start {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start
}
.form-table .form-table-row .table-cell {
  width: 100%;
  padding-bottom: 20px
}
@media screen and (max-width: 768px) {
  .form-table .form-table-row .table-cell {
    display: block;
    padding-bottom: 15px
  }
  .form-table .form-table-row .table-cell:last-of-type {
    padding-bottom: 30px
  }
}
.form-table .form-table-row .table-cell p {
  font-size: 16px;
  font-weight: 500
}
@media screen and (max-width: 768px) {
  .form-table .form-table-row .table-cell p {
    font-size: 14px
  }
}
.form-table .form-table-row .table-cell:first-of-type {
  width: 63.95349%
}
@media screen and (max-width: 768px) {
  .form-table .form-table-row .table-cell:first-of-type {
    width: 100%
  }
}
.form-table .form-table-row .table-cell .c-title {
  margin-top: -50px
}
@media screen and (max-width: 768px) {
  .form-table .form-table-row .table-cell .c-title {
    margin-top: 0
  }
}
.form-table .form-table-row .table-cell .c-place-title {
  margin-top: -120px
}
@media screen and (max-width: 768px) {
  .form-table .form-table-row .table-cell .c-place-title {
    margin-top: 0
  }
}
.form-table .form-table-row .table-cell .c-place-title02 {
  margin-top: -180px
}
@media screen and (max-width: 768px) {
  .form-table .form-table-row .table-cell .c-place-title02 {
    margin-top: 0
  }
}
.form-table .form-table-row .table-cell .input-wrap .collection-place .checkedOpen {
  display: none
}
.form-table .form-table-row .table-cell .input-wrap .collection-place .checkedOpen p span {
  margin-left: 0.5em;
  font-size: 14px;
  font-size: 1.4rem;
  color: #888
}
.form-table .form-table-row .table-cell .input-wrap .collection-place input,
.form-table .form-table-row .table-cell .input-wrap .collection-place textarea {
  margin-top: 0.5em;
  resize: none
}
.form-table .form-table-row .table-cell .input-wrap .collection-place > input:checked ~ .checkedOpen {
  display: block !important;
  padding-left: 30px
}
.form-table .form-table-row .table-cell .input-wrap .collection-place > input:checked ~ .checkedOpen input {
  display: inline-block !important
}
.form-table .form-table-row.e-mail .table-cell .input-wrap,
.form-table .form-table-row.c-place .table-cell .input-wrap {
  margin-bottom: 20px
}
@media screen and (max-width: 768px) {
  .form-table .form-table-row.e-mail .table-cell .input-wrap,
  .form-table .form-table-row.c-place .table-cell .input-wrap {
    margin-bottom: 10px
  }
}
.form-table .form-table-row.e-mail .table-cell .input-wrap:last-of-type,
.form-table .form-table-row.c-place .table-cell .input-wrap:last-of-type {
  margin-bottom: 0
}
.form-table .form-table-row.e-mail .table-cell .select-wrap select,
.form-table .form-table-row.c-place .table-cell .select-wrap select {
  border: none;
  background: #e3f7ff
}
.form-table .form-table-row.e-mail .table-cell .select-wrap.readonly select,
.form-table .form-table-row.c-place .table-cell .select-wrap.readonly select {
  background: #f5f5f5
}
.form-table.type02 .form-table-row .table-cell {
  padding-bottom: 40px
}
@media screen and (max-width: 768px) {
  .form-table.type02 .form-table-row .table-cell {
    padding-bottom: 20px
  }
}
@media screen and (max-width: 768px) {
  .form-table.type02 .form-table-row .table-cell:first-of-type {
    padding-bottom: 10px
  }
}
.form-table input,
.form-table select {
  font-size: 16px;
  line-height: 24px;
  line-height: 24px;
  line-height: 2.4rem
}
@media screen and (max-width: 768px) {
  .form-table input,
  .form-table select {
    font-size: 14px
  }
}
.form-table input::-webkit-input-placeholder {
  color: #d9d9d9
}
.form-table input:-ms-input-placeholder {
  color: #d9d9d9
}
.form-table input::-ms-input-placeholder {
  color: #d9d9d9
}
.form-table input::placeholder {
  color: #d9d9d9
}
.form-table input:-ms-input-placeholder {
  color: #d9d9d9
}
.form-table input::-ms-input-placeholder {
  color: #d9d9d9
}
.form-table select {
  width: 100%;
  margin: 0;
  padding: 15px 20px;
  border: 0;
  border: solid 1px #d2d2d2;
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}
.form-table select::-ms-expand {
  display: none
}
.form-table input[type="text"],
.form-table textarea,
.form-table input[type="tel"],
.form-table input[type="email"] {
  width: 100%;
  margin: 0;
  padding: 15px 20px;
  font-size: 16px;
  border: 0;
  outline: 0;
  background-color: #e3f7ff
}
@media screen and (max-width: 768px) {
  .form-table input[type="text"],
  .form-table textarea,
  .form-table input[type="tel"],
  .form-table input[type="email"] {
    font-size: 14px
  }
}
.form-table .select-wrap {
  position: relative
}
.form-table .select-wrap:after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 25px;
  left: 95%;
  display: inline-block;
  width: 5px;
  height: 5px;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  border-top: 2px solid #304993;
  border-right: 2px solid #304993
}
.form-table tr th {
  width: 370px;
  text-align: left;
  vertical-align: middle
}
@media screen and (max-width: 768px) {
  .form-table tr th {
    padding-bottom: 5px
  }
}
.form-table tr th p {
  font-size: 16px;
  font-weight: 500;
  text-align: left
}
@media screen and (max-width: 768px) {
  .form-table tr th p {
    font-size: 14px
  }
}
.form-table tr.e-mail th,
.form-table tr.address th,
.form-table tr.c-place th {
  padding-top: 40px;
  vertical-align: top
}
@media screen and (max-width: 768px) {
  .form-table tr.e-mail th,
  .form-table tr.address th,
  .form-table tr.c-place th {
    padding-top: 10px
  }
}
.form-table tr.e-mail td .input-wrap,
.form-table tr.address td .input-wrap,
.form-table tr.c-place td .input-wrap {
  margin-bottom: -20px
}
@media screen and (max-width: 768px) {
  .form-table tr .c-place-check {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}
.form-table .input-col2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
.form-table .input-col2 .input-wrap {
  width: 49%
}
@media screen and (max-width: 768px) {
  .form-table .input-col2 .input-wrap {
    width: 48.66667%;
    margin-bottom: 10px
  }
}
@media screen and (max-width: 768px) {
  .form-table .input-wrap.sp-mt-input-25 {
    margin-top: -25px
  }
}
.form-table .select-apply-date .select-wrap:after {
  left: 70%
}
@media screen and (max-width: 768px) {
  .form-table .select-apply-date .select-wrap:after {
    left: 65%
  }
}
.form-table .box-col3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  width: 31.37255%;
  -webkit-box-align: center;
  align-items: center
}
@media screen and (max-width: 768px) {
  .form-table .box-col3 {
    width: 32%
  }
}
.form-table .box-col3 span {
  margin-left: 15px;
  font-size: 16px;
  font-weight: 500;
  color: #333
}
@media screen and (max-width: 768px) {
  .form-table .box-col3 span {
    margin-left: 8px;
    font-size: 14px
  }
}
.form-table.type01 td {
  padding: 20px 0
}
@media screen and (max-width: 768px) {
  .form-table.type01 td {
    padding: 10px 0
  }
}
.confirm-checeked-lists .list-title {
  color: #304993;
  border-bottom: 1px solid #304993
}
.confirm-checeked-lists .list-title span {
  display: inline-block;
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: bold
}
@media screen and (max-width: 768px) {
  .confirm-checeked-lists .list-title span {
    margin-bottom: 10px;
    font-size: 14px
  }
}
.confirm-checeked-lists .list-title .sub-text {
  display: block;
  font-size: 14px
}
.confirm-checeked-lists li {
  margin-bottom: 40px
}
@media screen and (max-width: 768px) {
  .confirm-checeked-lists li {
    margin-bottom: 20px
  }
}
.confirm-checeked-lists li:last-of-type {
  margin-bottom: 0px
}
.input-confirm-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 20px
}
@media screen and (max-width: 768px) {
  .input-confirm-radio {
    margin-top: 15px
  }
}
.input-confirm-radio .radio-btn {
  width: 48.64865%
}
.input-confirm-radio .radio-btn .radio-input {
  display: none
}
.input-confirm-radio .radio-btn .radio-input + label {
  position: relative;
  height: 40px;
  font-size: 16px;
  font-weight: 500;
  color: #333
}
@media screen and (max-width: 768px) {
  .input-confirm-radio .radio-btn .radio-input + label {
    height: 44px;
    font-size: 14px
  }
}
.input-confirm-radio .radio-btn .radio-input + label:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 20px;
  display: block;
  width: 20px;
  height: 20px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 1px solid #999;
  border-radius: 50%;
  background: #fff
}
@media screen and (max-width: 768px) {
  .input-confirm-radio .radio-btn .radio-input + label:before {
    left: 10px
  }
}
.input-confirm-radio .radio-btn .radio-input:checked + label:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 25px;
  display: block;
  width: 10px;
  height: 10px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 50%;
  background: #304993
}
@media screen and (max-width: 768px) {
  .input-confirm-radio .radio-btn .radio-input:checked + label:after {
    left: 15px
  }
}
.input-confirm-radio .radio-btn label {
  display: block;
  padding: 5px 20px;
  text-align: center;
  border-radius: 20px;
  background-color: #d6edf6
}
@media screen and (max-width: 768px) {
  .input-confirm-radio .radio-btn label {
    padding: 8px 20px
  }
}
.agree-box {
  overflow: auto;
  height: 320px;
  margin-top: 60px;
  padding: 35px 60px;
  color: #333;
  border: 1px solid #304993
}
@media screen and (max-width: 768px) {
  .agree-box {
    margin-top: 35px;
    padding: 20px 25px
  }
}
.agree-box .text--lead {
  margin-bottom: 30px;
  font-size: 16px
}
@media screen and (max-width: 768px) {
  .agree-box .text--lead {
    font-size: 14px
  }
}
.agree-box .text--lead span {
  display: block;
  margin-bottom: 10px;
  font-size: 16px
}
@media screen and (max-width: 768px) {
  .agree-box .text--lead span {
    font-size: 14px
  }
}
.agree-box dt,
.agree-box dd {
  font-size: 16px
}
@media screen and (max-width: 768px) {
  .agree-box dt,
  .agree-box dd {
    font-size: 14px
  }
}
.agree-box dd {
  padding-bottom: 10px
}
.agree-box dd ol {
  padding-left: 15px
}
.agree-box dd ol li {
  margin-bottom: 5px
}
.agree-box::-webkit-scrollbar {
  width: 25px;
  background-color: #e1e1e1
}
.agree-box::-webkit-scrollbar-track {
  border-left: solid 1px #e1e1e1;
  background: #e1e1e1
}
.agree-box::-webkit-scrollbar-thumb {
  height: 100px;
  border: 4px solid #e1e1e1;
  border-radius: 30px;
  background: #304993
}
.check-btn {
  width: 41.86047%;
  margin: 40px auto 10px;
  text-align: center;
  border-radius: 30px;
  background: #d6edf6
}
@media screen and (max-width: 768px) {
  .check-btn {
    width: 100%;
    margin: 30px auto 10px
  }
}
.check-btn label {
  display: block;
  padding: 15px 0
}
.check-btn .checkbox-input {
  display: none
}
.check-btn .checkbox-input:checked + .checkbox-text:after {
  content: "";
  position: absolute;
  top: 3%;
  left: -3%;
  display: block;
  width: 19px;
  height: 16px;
  background: url(../images/form/check-icon.png) no-repeat center top/cover
}
@media screen and (max-width: 768px) {
  .check-btn .checkbox-input:checked + .checkbox-text:after {
    top: -15%
  }
}
.check-btn .checkbox-input:checked + .checkbox-text.type02:after {
  top: 10%;
  left: -3%
}
@media screen and (max-width: 768px) {
  .check-btn .checkbox-input:checked + .checkbox-text.type02:after {
    top: 20%
  }
}
.check-btn .checkbox-text {
  position: relative;
  margin-right: 20px;
  padding-left: 20px;
  font-size: 16px;
  font-weight: bold;
  color: #333
}
@media screen and (max-width: 768px) {
  .check-btn .checkbox-text {
    font-size: 12px
  }
}
.check-btn .checkbox-text:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -3%;
  display: block;
  width: 15px;
  height: 15px;
  margin-top: 1px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 1px solid #d2d2d2;
  background: #fff
}
@media screen and (max-width: 768px) {
  .check-btn .checkbox-text:before {
    left: -3%
  }
}
.submit-btn {
  display: block;
  width: 73.83721%;
  margin: 0 auto 70px;
  border-style: none;
  background: none
}
@media screen and (max-width: 768px) {
  .submit-btn {
    width: 100%;
    margin: 0 auto 35px
  }
}
@media screen and (max-width: 768px) {
  .confirm .section-block {
    margin-bottom: 40px
  }
}
.confirm .section-block .title {
  font-weight: bold
}
.confirm .section-block.pdf {
  padding-bottom: 0px
}
@media screen and (max-width: 768px) {
  .confirm .section-block.pdf {
    padding-bottom: 5px
  }
}
@media screen and (max-width: 768px) {
  .confirm .section-block.disposal-cost {
    margin-bottom: 60px
  }
}
.confirm .section-block .form-table.type01 {
  margin-top: 70px
}
@media screen and (max-width: 768px) {
  .confirm .section-block .form-table.type01 {
    margin-top: 35px
  }
}
.confirm .input-box {
  padding: 15px;
  border: 2px solid #d2d2d2
}
.confirm .input-box p {
  font-weight: bold
}
.confirm .input-box.bg-blue {
  border: none;
  border: 2px solid #e3f7ff;
  background-color: #e3f7ff
}
.confirm .contents-box {
  width: calc(100% - 120px);
  margin: 10px 60px
}
@media screen and (max-width: 768px) {
  .confirm .contents-box {
    width: calc(100% - 40px);
    margin: 30px 20px
  }
}
.confirm .contents-box.text-center {
  text-align: center
}
.confirm .contents-box.type01 {
  margin: 40px auto
}
@media screen and (max-width: 768px) {
  .confirm .contents-box.type01 {
    margin: 25px auto
  }
}
.confirm .contents-box p {
  font-weight: bold
}
.confirm .contents-box .form-table-row {
  border-bottom: 1px solid #d9d9d9
}
@media screen and (max-width: 768px) {
  .confirm .contents-box .form-table-row:first-of-type .table-cell:first-of-type {
    padding-top: 0
  }
}
.confirm .contents-box .form-table-row:last-of-type {
  border-bottom: none
}
@media screen and (max-width: 768px) {
  .confirm .contents-box .form-table-row:last-of-type .table-cell:last-of-type {
    padding-bottom: 0px
  }
}
.confirm .contents-box .form-table-row .table-cell {
  width: 56%;
  padding: 30px 0;
  font-size: 16px;
  font-weight: bold;
  color: #333
}
@media screen and (max-width: 768px) {
  .confirm .contents-box .form-table-row .table-cell {
    width: 100%;
    padding: 10px 0;
    padding-bottom: 0px;
    font-size: 14px
  }
}
.confirm .contents-box .form-table-row .table-cell:first-of-type {
  padding-top: 30px
}
@media screen and (max-width: 768px) {
  .confirm .contents-box .form-table-row .table-cell:first-of-type {
    padding-top: 20px
  }
}
.confirm .contents-box .form-table-row .table-cell:last-of-type {
  width: 48%
}
@media screen and (max-width: 768px) {
  .confirm .contents-box .form-table-row .table-cell:last-of-type {
    width: 100%;
    padding-bottom: 20px
  }
}
@media screen and (max-width: 768px) {
  .confirm .contents-box .form-table-row .table-cell.type01 {
    padding-bottom: 10px
  }
}
.confirm .paymentgate p {
  margin-bottom: 40px;
  font-size: 16px;
  font-weight: bold
}
@media screen and (max-width: 768px) {
  .confirm .paymentgate p {
    margin-bottom: 20px;
    font-size: 14px
  }
}
.confirm .paymentgate .payment {
  display: inline-block;
  margin-bottom: 30px
}
@media screen and (max-width: 768px) {
  .confirm .paymentgate .payment img {
    width: 100%
  }
}
@media screen and (max-width: 768px) {
  .confirm .paymentgate .back {
    display: block;
    width: 78.66667%;
    margin: 0 auto
  }
}
@media screen and (max-width: 768px) {
  .form-okinawa .section-text {
    margin-bottom: 0px;
    padding-bottom: 30px;
    text-align: center
  }
}
.form-okinawa .c-title {
  margin-bottom: 30px;
  font-size: 24px;
  font-weight: bold;
  color: #3b5998
}
@media screen and (max-width: 768px) {
  .form-okinawa .c-title {
    margin-bottom: 35px;
    font-size: 18px
  }
}
.form-okinawa .c-text {
  margin-bottom: 40px
}
@media screen and (max-width: 768px) {
  .form-okinawa .c-text {
    margin-bottom: 35px
  }
}
@media screen and (max-width: 768px) {
  .form-okinawa .btn {
    margin-top: 35px
  }
  .form-okinawa .btn img {
    width: 100%
  }
}
.c-message {
  margin-left: 320px
}
@media screen and (max-width: 768px) {
  .c-message {
    margin-left: 0
  }
}
.mb-40 {
  margin-bottom: 40px
}
@media screen and (max-width: 768px) {
  .mb-40 {
    margin-bottom: 20px
  }
}
.mb-20 {
  margin-bottom: 20px
}
.mb-100 {
  margin-bottom: 100px
}
@media screen and (max-width: 768px) {
  .mb-100 {
    margin-bottom: 50px
  }
}
.mb-130 {
  margin-bottom: 130px
}
@media screen and (max-width: 768px) {
  .mb-130 {
    margin-bottom: 65px
  }
}
.personal-agree .agree-text a {
  font-weight: bold;
  color: #304993
}
.personal-agree__form {
  width: 75.5814%
}
@media screen and (max-width: 768px) {
  .personal-agree__form {
    width: 100%
  }
}
.font-small {
  font-size: 13px
}
.error-message {
  color: red
}
.error-message-ex {
  display: block;
  margin-top: 10px;
  color: red
}
.conform-extra {
  margin-top: 20px
}
.conform-extra_text {
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: bold;
  color: #304993;
  border-bottom: 1px solid #304993
}
.conform-extra_text.type01 {
  color: #333;
  border-bottom: 1px solid #d9d9d9
}
.conform-extra_subtext {
  display: block;
  margin-bottom: 10px;
  font-size: 13px;
  color: #333
}
.conform-extra_check {
  margin-bottom: 10px;
  color: #333
}
.conform-extra_check label {
  padding-left: 10px
}
.conform-extra_another-contact {
  margin-top: 20px
}
.conform-extra_another-contactBox span {
  display: inline-block;
  width: 150px;
  margin-bottom: 10px;
  padding-right: 20px
}
.form-table-text {
  margin-top: 20px
}
.table-cell_answer {
  padding: 5px 0;
  font-size: 16px;
  font-weight: bold;
  color: #333
}
.col-l-2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}
/*# sourceMappingURL=../sourcemaps/form.css.map */
