@charset "UTF-8";
/* Document
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
#pt_box,
::before,
::after {
  box-sizing: border-box;
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Use a 4-space tab width in all browsers (opinionated).
 * 4. Remove the grey highlight on links in iOS (opinionated).
 * 5. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 * 6. Breaks words to prevent overflow in all browsers (opinionated).
 */
#pt_box {
  cursor: default; /* 1 */
  line-height: 1.5; /* 2 */
  -moz-tab-size: 4; /* 3 */
  tab-size: 4; /* 3 */
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%; /* 5 */
  -webkit-text-size-adjust: 100%; /* 5 */
  word-break: break-word; /* 6 */
}

/* Sections
 * ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
#pt_box body {
  margin: 0;
}

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

#pt_box h1,
#pt_box h2,
#pt_box h3,
#pt_box h4{
font-weight: bold;
}

/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */
#pt_box dl dl,
#pt_box dl ol,
#pt_box dl ul,
#pt_box ol dl,
#pt_box ul dl {
  margin: 0;
}

/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */
#pt_box ol ol,
#pt_box ol ul,
#pt_box ul ol,
#pt_box ul ul {
  margin: 0;
}


#pt_box dd{margin: 0;}


/**
 * 1. Add the correct sizing in Firefox.
 * 2. Show the overflow in Edge 18- and IE.
 */
#pt_box hr {
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * Add the correct display in IE.
 */
#pt_box main {
  display: block;
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
#pt_box nav ol,
#pt_box nav ul {
  list-style: none;
  padding: 0;
}

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

/* Text-level semantics
 * ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
#pt_box a {
  background-color: transparent;
}

/**
 * Add the correct text decoration in Edge 18-, IE, and Safari.
 */
#pt_box abbr[title] {
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
#pt_box b,
#pt_box 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.
 */
#pt_box code,
#pt_box kbd,
#pt_box samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

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

/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
#pt_box audio,
#pt_box canvas,
#pt_box iframe,
#pt_box img,
#pt_box svg,
#pt_box video {
  vertical-align: middle;
}

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

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

/**
 * Remove the border on iframes in all browsers (opinionated).
 */
#pt_box iframe {
  border-style: none;
}

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

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
#pt_box svg:not([fill]) {
  fill: currentColor;
}

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

/* Tabular data
 * ========================================================================== */
/**
 * Collapse border spacing in all browsers (opinionated).
 */
#pt_box table {
  border-collapse: collapse;
}

/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
#pt_box button,
#pt_box input,
#pt_box select {
  margin: 0;
}

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 */
#pt_box button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
}

/**
 * Correct the inability to style buttons in iOS and Safari.
 */
#pt_box button,
#pt_box [type=button],
#pt_box [type=reset],
#pt_box [type=submit] {
  -webkit-appearance: button;
}

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Correct the padding in Firefox.
 */
#pt_box fieldset {
  border: 1px solid #a0a0a0; /* 1 */
  padding: 0.35em 0.75em 0.625em; /* 2 */
}

/**
 * Show the overflow in Edge 18- and IE.
 */
#pt_box input {
  overflow: visible;
}

/**
 * 1. Correct the text wrapping in Edge 18- and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */
#pt_box legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  white-space: normal; /* 1 */
}

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

/**
 * Remove the inheritance of text transform in Firefox.
 */
#pt_box select {
  text-transform: none;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 * 3. Change the resize direction in all browsers (opinionated).
 */
#pt_box textarea {
  margin: 0; /* 1 */
  overflow: auto; /* 2 */
  resize: vertical; /* 3 */
}

/**
 * Remove the padding in IE 10-.
 */
#pt_box [type=checkbox],
#pt_box [type=radio] {
  padding: 0;
}

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

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
#pt_box ::-webkit-inner-spin-button,
#pt_box ::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
#pt_box ::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
#pt_box ::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
#pt_box ::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove the additional :invalid styles in Firefox.
 */
:-moz-ui-invalid {
  box-shadow: none;
}

/* Interactive
 * ========================================================================== */
/*
 * Add the correct display in Edge 18- and IE.
 */
#pt_box details {
  display: block;
}

/*
 * Add the correct styles in Edge 18-, IE, and Safari.
 */
#pt_box dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
}

#pt_box dialog:not([open]) {
  display: none;
}

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

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

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

/* User interaction
 * ========================================================================== */
/*
 * 1. Remove the tapping delay in IE 10.
 * 2. Remove the tapping delay on clickable elements
      in all browsers (opinionated).
 */
#pt_box a,
#pt_box area,
#pt_box button,
#pt_box input,
#pt_box label,
#pt_box select,
#pt_box summary,
#pt_box textarea,
#pt_box [tabindex] {
  -ms-touch-action: manipulation; /* 1 */
  touch-action: manipulation; /* 2 */
}

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

/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
#pt_box [aria-busy=true] {
  cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
#pt_box [aria-controls] {
  cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
#pt_box [aria-disabled=true],
#pt_box [disabled] {
  cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
#pt_box [aria-hidden=false][hidden] {
  display: initial;
}

#pt_box [aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

/* -----------------------
  COMMON
 ------------------------- */
#pt_box  {
  background-color: #fff;
  height: -webkit-fill-available;
}

#pt_box  {
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  position: relative;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Meiryo, sans-serif;
  font-weight: 500;
/*
  animation: ptfadeIn 2s ease 0s 1 normal;
  -webkit-animation: ptfadeIn 2s ease 0s 1 normal;
	*/
}
/*
@keyframes ptfadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes ptfadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
*/
#pt_box body, #pt_box button, #pt_box input, #pt_box select, #pt_box textarea {
  color: #000000;
  font-weight: 400;
}

#pt_box  {
  font-size: 14px;
  line-height: 1.6;
}

a#pt_box rticle, a#pt_box side, #pt_box details, #pt_box figcaption, #pt_box figure, #pt_box footer, #pt_box header, #pt_box hgroup, #pt_box nav, #pt_box section {
  display: block;
}
/*
#pt_box article, #pt_box aside, #pt_box audio, #pt_box blockquote, body, canvas, caption, dd, details, div, dl, dt, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, hr, iframe, legend, li, nav, ol, p, section, ul, video {
  margin: 0;
  padding: 0;
}
*/
#pt_box ul, #pt_box ol {
  list-style: none;
  padding-left: 0;
}

#pt_box img {
  width: auto;
  height: auto;
  max-width: 100%;
  image-rendering: -webkit-optimize-contrast;
  vertical-align: bottom;
}

#pt_box :focus {
  outline: none;
}

#pt_box .scroll-prevent {
  overflow: hidden;
}

#pt_box , #pt_box article {
  box-sizing: border-box;
}

#pt_box .scroll_fadein {
  opacity: 0;
  transform: translate(-60px, 0);
  transition: all 1s;
}
#pt_box .scroll_fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

/* -----------------------
  LAYOUT
 ------------------------- */
#pt_box .section-inner {
  position: relative;
  margin: auto;
  padding: 50px 20px;
}
@media screen and (min-width: 768px), print {
  #pt_box .section-inner {
    padding: 50px 20px;
  }
}
@media screen and (min-width: 1250px) {
  #pt_box .section-inner {
    width: 1250px;
    padding: 80px 0;
  }
}

/* -----------------------
　　PARTS
-------------------------- */
#pt_box a {
  color: #000000;
  text-decoration: none;
  transition: all 0.3s ease;
}
@media screen and (min-width: 1250px) {
  #pt_box a:hover {
    opacity: 0.7;
  }
  #pt_box a[href^="tel:"] {
    pointer-events: none;
  }
}

#pt_box .alignright {
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px), print {
  #pt_box .alignright {
    float: right;
    margin-left: 2rem;
    margin-bottom: 2rem;
  }
}

#pt_box .alignleft {
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px), print {
  #pt_box .alignleft {
    float: left;
    margin-right: 2rem;
    margin-bottom: 2rem;
  }
}

#pt_box .aligncenter {
  text-align: center;
}
#pt_box .aligncenter > * {
  margin-left: auto;
  margin-right: auto;
  display: inline-block;
}

#pt_box .textleft {
  text-align: left;
}

#pt_box .textright {
  text-align: right;
}

#pt_box .textcenter {
  text-align: center;
}

@media screen and (min-width: 1250px) {
  #pt_box .only-sp {
    display: none !important;
  }
}
@media screen and (min-width: 768px), print {
  #pt_box .only-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  #pt_box .only-sp {
    display: block !important;
  }
}

@media screen and (min-width: 1250px) {
  #pt_box .only-pc {
    display: block !important;
  }
}
@media screen and (min-width: 768px), print {
  #pt_box .only-pc {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  #pt_box .only-pc {
    display: none !important;
  }
}

@media screen and (min-width: 1250px) {
  #pt_box .only-pc-inline {
    display: inline-block;
  }
}
@media screen and (min-width: 768px), print {
  #pt_box .only-pc-inline {
    display: inline-block;
  }
}
@media screen and (max-width: 767px) {
  #pt_box .only-pc-inline {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  #pt_box .com-flex > * {
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 768px), print {
  #pt_box .com-flex {
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    flex-wrap: nowrap;
  }
  #pt_box .com-flex .col1 > * {
    width: 90%;
  }
  #pt_box .com-flex .col2 > * {
    width: 45%;
  }
  #pt_box .com-flex .col3 > * {
    width: 30%;
  }
  #pt_box .com-flex .col4 > * {
    width: 22.5%;
  }
  #pt_box .com-flex .col5 > * {
    width: 18%;
  }
  #pt_box .com-flex .col6 > * {
    width: 15%;
  }
  #pt_box .com-flex.wrap {
    flex-wrap: wrap;
  }
  #pt_box .com-flex.row-center {
    justify-content: center;
  }
  #pt_box .com-flex.row-around {
    justify-content: space-around;
  }
  #pt_box .com-flex.col-center {
    align-items: center;
  }
}

#pt_box .emoji {
  font-family: "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Noto Color Emoji", "Noto Emoji";
}

#pt_box .mb0 {
  margin-bottom: 0px;
}

#pt_box .mb5 {
  margin-bottom: 5px;
}

#pt_box .mb10 {
  margin-bottom: 10px;
}

#pt_box .mb15 {
  margin-bottom: 15px;
}

#pt_box .mb20 {
  margin-bottom: 20px;
}

#pt_box .mb25 {
  margin-bottom: 25px;
}

#pt_box .mb30 {
  margin-bottom: 30px;
}

#pt_box .mb35 {
  margin-bottom: 35px;
}

#pt_box .mb40 {
  margin-bottom: 40px;
}

#pt_box .mb45 {
  margin-bottom: 45px;
}

#pt_box .mb50 {
  margin-bottom: 50px;
}

#pt_box .breadcrumb {
  background-color: #eef5ff;
}
#pt_box .breadcrumb ul {
  padding: 5px 20px;
}
#pt_box .breadcrumb ul li {
  display: inline-block;
  font-size: 0.875rem;
}
#pt_box .breadcrumb ul li:after {
  content: ">";
  display: inline-block;
  margin-right: 7px;
  color: #666666;
}
#pt_box .breadcrumb ul li:last-child:after {
  display: none;
}
#pt_box .breadcrumb ul li a {
  display: inline-block;
  margin-right: 7px;
}

#pt_box .marker {
  background: linear-gradient(transparent 50%, #ffff00 50%);
  line-height: 1.2;
}

#site-header {
  width: 100vw;
  padding: 0 0 0 20px;
}
@media screen and (min-width: 768px), print {
  #site-header {
    width: 100%;
    position: relative;
  }
}
#site-header .section-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0;
  height: 54px;
}
@media screen and (min-width: 768px), print {
  #site-header .section-inner {
    height: 120px;
  }
}
#site-header .site-logo {
  width: 52vw;
  max-width: 433px;
  line-height: 1;
}
#site-header .site-logo img {
  display: block;
}

#pt_box .floating-cta {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100;
}
#pt_box .floating-cta a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 54px;
  height: 54px;
  background-color: #004D9F;
}
@media screen and (min-width: 768px), print {
  #pt_box .floating-cta a {
    width: 120px;
    height: 120px;
  }
}
#pt_box .floating-cta a img {
  width: 52%;
}
#pt_box .floating-cta a span {
  color: #fff;
  font-size: 10px;
  font-weight: 700;
}
@media screen and (min-width: 768px), print {
  #pt_box .floating-cta a span {
    font-size: 20px;
  }
}
@media screen and (min-width: 1250px) {
  #pt_box .floating-cta.scroll {
    opacity: 1;
    transform: translateY(0);
  }
}

#site-footer {
  background-color: #004D9F;
  padding: 50px 20px;
  text-align: center;
  color: #fff;
}
#site-footer .logo img {
  width: 80%;
  max-width: 615px;
}
#site-footer .info {
  margin-top: 30px;
  margin-bottom: 30px;
  font-size: 15px;
}
@media screen and (min-width: 768px), print {
  #site-footer .info {
    font-size: 22px;
  }
}
#site-footer .info a {
  color: #fff;
}
#site-footer .copyright {
  font-size: 12px;
  font-weight: 700;
	color: #fff;
}
@media screen and (min-width: 768px), print {
  #site-footer .copyright {
    font-size: 22px;
  }
}

#pt_box .modal {
  display: none;
  position: fixed;
  z-index: 200;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#pt_box .modal-bg {
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  position: relative;
  z-index: 2;
}
#pt_box .modal-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100vw - 40px);
  z-index: 3;
  max-width: 1250px;
  border: 1px solid #333;
}
@media screen and (max-width: 767px) {
  #pt_box .modal-wrap {
    overflow-y: scroll;
  }
}
#pt_box .modal-close {
  position: absolute;
  top: 0;
  right: 0;
}
#pt_box .modal-close a {
  width: 40px;
  height: 40px;
  background-color: #000;
  display: block;
}
#pt_box .modal-close a span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 4px;
  border-radius: 2px;
  background-color: #fff;
}
#pt_box .modal-content {
  position: relative;
  padding: 30px 20px;
  background-color: #DFEDF7;
}
@media screen and (min-width: 768px), print {
  #pt_box .modal-content {
    padding: 40px;
  }
}
@media screen and (min-width: 1250px) {
  #pt_box .modal-content {
    padding: 60px;
  }
}
#pt_box .modal-content h3 {
  margin-bottom: 2em;
}
#pt_box .modal-content h3 span {
  display: inline-block;
  background-color: #004D9F;
  color: #fff;
  font-size: 24px;
  padding: 0.4em 1em;
  margin-left: -30px;
  line-height: 1;
}
@media screen and (min-width: 768px), print {
  #pt_box .modal-content h3 span {
    font-size: 50px;
    margin-left: -60px;
  }
}
#pt_box .modal-content h3 span small {
  font-size: 0.7em;
}
#pt_box .modal-content ul li {
  font-size: 16px;
  font-weight: 700;
  padding-left: 1.2em;
  position: relative;
}
@media screen and (min-width: 768px), print {
  #pt_box .modal-content ul li {
    font-size: 35px;
  }
}
#pt_box .modal-content ul li:before {
  content: "■";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
#pt_box .modal-content .option {
  font-size: 18px;
  font-weight: 700;
  line-height: 35px;
}
@media screen and (max-width: 767px) {
  #pt_box .modal-content .option {
    margin-top: 1em;
  }
}
@media screen and (min-width: 900px), print {
  #pt_box .modal-content .option {
    position: absolute;
    top: 50px;
    right: 30px;
    font-size: 30px;
    line-height: 50px;
    top: 60px;
    right: 40px;
  }
}
@media screen and (min-width: 1250px) {
  #pt_box .modal-content .option {
    top: 70px;
    right: 60px;
  }
}
#pt_box .modal-content .option span {
  display: inline-block;
  background-color: #004D9F;
  color: #fff;
  width: 35px;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  #pt_box .modal-content .option span {
    width: 50px;
  }
}

/* ---------- COMMON ---------- */
#pt_box .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 45px;
}
#pt_box .btn span {
  font-weight: 700;
  font-size: 5vw;
}
@media screen and (min-width: 768px), print {
  #pt_box .btn span {
    font-size: 24px;
  }
}
@media screen and (min-width: 1250px) {
  #pt_box .btn span {
    font-size: 30px;
  }
}
#pt_box .btn img {
  width: auto;
  height: 35px;
}
@media screen and (min-width: 768px), print {
  #pt_box .btn img {
    height: 50px;
  }
}
#pt_box .btn.--green {
  background-color: #00A55A;
  height: 60px;
}
@media screen and (min-width: 768px), print {
  #pt_box .btn.--green {
    height: 84px;
  }
}
#pt_box .btn.--green span {
  color: #fff;
}
#pt_box .btn.--blue {
  background: #004d9f;
  background: -moz-linear-gradient(left, #004d9f 0%, #3599ce 100%);
  background: -webkit-linear-gradient(left, #004d9f 0%, #3599ce 100%);
  background: linear-gradient(to right, #004d9f 0%, #3599ce 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#004d9f", endColorstr="#3599ce",GradientType=1 );
  height: 60px;
}
@media screen and (min-width: 768px), print {
  #pt_box .btn.--blue {
    height: 84px;
  }
}
#pt_box .btn.--blue span {
  color: #fff;
}
#pt_box .btn.--blue-solid {
  background-color: #004D9F;
  height: 60px;
	width: 100%;
}
@media screen and (min-width: 768px), print {
  #pt_box .btn.--blue-solid {
    height: 84px;
  }
}
#pt_box .btn.--blue-solid span {
  color: #fff;
}
#pt_box .btn.--rounded {
  border-radius: 45px;
}

#pt_box .icon {
  display: inline-block;
}
#pt_box .icon:before {
  content: "";
  display: block;
}
#pt_box .icon-book:before {
  width: 38px;
  height: 23px;
  content: url(../img/icon_book.svg);
}
#pt_box .icon-pin:before {
  width: 23px;
  height: 38px;
  content: url(../img/icon_pin.svg);
}

#pt_box .section .com-tit {
  margin-bottom: 50px;
  padding: 5px;
  background-image: url(../img/tit_top_left_sp.png), url(../img/tit_top_right_sp.png), url(../img/tit_bottom_right_sp.png), url(../img/tit_bottom_left_sp.png);
  background-position: top left, top right, bottom right, bottom left;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px), print {
  #pt_box .section .com-tit {
    background-image: url(../img/tit_top_left.png), url(../img/tit_top_right.png), url(../img/tit_bottom_right.png), url(../img/tit_bottom_left.png);
    padding: 10px;
    margin-bottom: 70px;
  }
}
#pt_box .section .com-tit h2 {
  position: relative;
  background-color: #004D9F;
  text-align: center;
  padding: 1em;
}
#pt_box .section .com-tit h2:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 18px 18px 0 0;
  border-color: #faae17 transparent transparent transparent;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 768px), print {
  #pt_box .section .com-tit h2:before {
    border-width: 30px 30px 0 0;
  }
}
#pt_box .section .com-tit h2:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 42px 42px;
  border-color: transparent transparent #faae17 transparent;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (min-width: 768px), print {
  #pt_box .section .com-tit h2:after {
    border-width: 0 0 85px 85px;
  }
}
#pt_box .section .com-tit h2 span {
  display: inline-block;
  color: #fff;
  line-height: 1.6;
  font-size: 4vw;
}
@media screen and (min-width: 768px), print {
  #pt_box .section .com-tit h2 span {
    font-size: 36px;
  }
}

#main {
  overflow: hidden;
}

#pt_box .cta .com-flex {
  justify-content: space-around;
}
#pt_box .cta .com-flex a {
  flex-basis: 48%;
}

#pt_box .common-heading {
  background: #004097;
  background: -moz-linear-gradient(left, #004097 0%, #4ea4eb 100%);
  background: -webkit-linear-gradient(left, #004097 0%, #4ea4eb 100%);
  background: linear-gradient(to right, #004097 0%, #4ea4eb 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#004097", endColorstr="#4ea4eb",GradientType=1 );
  margin-bottom: 50px;
}
#pt_box .common-heading .section-inner {
  padding-top: 25px;
  padding-bottom: 25px;
}
#pt_box .common-heading .section-inner h2 {
  margin-bottom: 0;
  color: #fff;
  font-size: 7.5vw;
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.5);
  position: relative;
  z-index: 5;
}
@media screen and (min-width: 768px), print {
  #pt_box .common-heading .section-inner h2 {
    font-size: 60px;
  }
}
#pt_box .common-heading .section-inner .subtitle {
  position: absolute;
  top: 50%;
  right: 0;
  color: #5BB6FF;
  font-size: 100px;
  transform: rotate(-10deg) translate(0, -50%);
  z-index: 1;
}
@media screen and (min-width: 768px), print {
  #pt_box .common-heading .section-inner .subtitle {
    font-size: 152px;
  }
}

#pt_box .slick-dots {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 10px;
}
#pt_box .slick-dots li button {
  display: block;
  font-size: 0;
  border: none;
  appearance: none;
  background-color: #ccc;
  border-radius: 50%;
  width: 12px;
  height: 12px;
  padding: 0;
}
#pt_box .slick-dots li.slick-active button {
  background-color: #666;
}
#pt_box .slick-arrow {
  font-size: 0;
  appearance: none;
  border: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: rgba(80, 80, 65, 0.75);
  position: absolute;
  top: 45%;
  z-index: 10;
}
@media screen and (min-width: 768px), print {
  #pt_box .slick-arrow {
    top: 50%;
    transform: translateY(-100%);
  }
}
#pt_box .slick-arrow:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 12px 7px 0;
  border-color: transparent #ffffff transparent transparent;
  transform: translate(-60%, -50%);
}
#pt_box .slick-prev {
  left: -20px;
}
#pt_box .slick-next {
  right: -20px;
}
#pt_box .slick-next:before {
  border-width: 7px 0 7px 12px;
  border-color: transparent transparent transparent #ffffff;
  transform: translate(-40%, -50%);
}

/* ---------- ANIMATION ---------- */
#pt_box .bounce-in {
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: scale(0);
  transform: scale(0);
  opacity: 0;
  transition: all 0.5s;
}
#pt_box .bounce-in.bounce-in-action {
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s;
  transition: -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s;
  transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s;
  transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s, -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.2s;
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}

#pt_box #main {
  overflow: hidden;
margin-top: 110px;
}

/* ---------- CONTENTS ---------- */
#pt_box .fv .section-inner {
  padding-top: 0;
}
#pt_box .fv-title {
  position: absolute;
  top: 35px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  gap: 10px;
}
@media screen and (max-width: 1250px) {
  #pt_box .fv-title {
    flex-direction: column;
    gap: 3px;
    top: 10px;
  }
}
#pt_box .fv-title .tagline {
  background: #004d9f;
  background: -moz-linear-gradient(left, #004d9f 0%, #3599ce 100%);
  background: -webkit-linear-gradient(left, #004d9f 0%, #3599ce 100%);
  background: linear-gradient(to right, #004d9f 0%, #3599ce 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#004d9f", endColorstr="#3599ce",GradientType=1 );
  color: #fff;
  font-size: 3vw;
  font-weight: 700;
  font-family: heisei-kaku-gothic-std, sans-serif;
  font-style: normal;
  font-weight: 700;
  text-align: center;
  padding: 0.5em 2em;
}
@media screen and (min-width: 1250px) {
  #pt_box .fv-title .tagline {
    font-size: 20px;
  }
}
#pt_box .fv-title h1 {
  font-family: corporate-logo-ver2, sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 6vw;
}
@media screen and (min-width: 1250px) {
  #pt_box .fv-title h1 {
    font-size: 47px;
  }
}
#pt_box .fv-navigation {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 1em;
}
@media screen and (max-width: 767px) {
  #pt_box .fv-navigation {
    padding-top: 2em;
    row-gap: 0.5em;
  }
}
#pt_box .fv-navigation a {
  flex-basis: 49.5%;
  font-size: 3vw;
  color: #fff;
  padding: 1em 0;
  text-align: center;
  background-color: #004D9F;
}
@media screen and (min-width: 1250px) {
  #pt_box .fv-navigation a {
    flex-basis: 33%;
    font-size: 25px;
    white-space: nowrap;
  }
}

#pt_box .vision {
  background-image: url(../img/bg_line.png);
  background-position: top left;
  background-repeat: repeat-y;
  background-size: 100% auto;
}
#pt_box .vision h2 {
  text-align: center;
}
#pt_box .vision h2 span {
  display: inline-block;
  background-color: #004D9F;
  padding: 0.5em 0.8em;
  color: #fff;
  line-height: 1.5;
  font-size: 5vw;
}
@media screen and (min-width: 768px), print {
  #pt_box .vision h2 span {
    font-size: 36px;
  }
}
#pt_box .vision h2 + p {
  margin-top: 1.5em;
  font-size: 5vw;
  color: #FAAD17;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  #pt_box .vision h2 + p {
    font-size: 30px;
  }
}
#pt_box .vision h3 {
  margin-top: 2em;
  font-size: 6.5vw;
  line-height: 1.2;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px), print {
  #pt_box .vision h3 {
    font-size: 30px;
  }
}
#pt_box .vision h3:before {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #004D9F;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 1;
}
.vision h3 span {
  display: inline-block;
  background-color: #fff;
  position: relative;
  z-index: 5;
  padding: 0 1em;
  color: #004D9F;
}
@media screen and (min-width: 1250px) {
  #pt_box .vision h3 span {
    padding: 0 3em;
  }
}
#pt_box .vision h3 + p {
  margin-top: 1.5em;
  font-size: 4vw;
  line-height: 2;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  #pt_box .vision h3 + p {
    line-height: 2.8;
    font-size: 27px;
  }
}

#pt_box .feature {
  margin-bottom: 50px;
}
#pt_box .feature .features {
  flex-wrap: wrap;
  justify-content: flex-end;
  column-gap: 5%;
  row-gap: 50px;
}
#pt_box .feature-item {
  flex-basis: 29%;
  border: 2px #004D9F solid;
  border-radius: 20px;
  padding: 20px 15px;
  position: relative;
}
@media screen and (max-width: 767px) {
  #pt_box .feature-item {
    width: 75%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 50px;
  }
}
#pt_box .feature-item:before {
  content: "1";
  display: block;
  width: 84px;
  height: 82.5px;
  background-image: url(../img/uniform.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-50%, -20%);
  color: #fff;
  line-height: 80px;
  text-align: center;
  font-size: 43px;
  font-family: heisei-kaku-gothic-std, sans-serif;
  font-style: normal;
  font-weight: 700;
}
#pt_box .feature-item h3 {
  text-align: center;
  border-bottom: 2px solid #004D9F;
  margin-bottom: 0.8em;
  padding-bottom: 0.5em;
  line-height: 1.5;
  font-size: 18px;
  color: #004D9F;
}
@media screen and (min-width: 1250px) {
  #pt_box .feature-item h3 {
    font-size: 28px;
  }
}
#pt_box .feature-item p {
  font-size: 14px;
  font-weight: 700;
  line-height: 2;
  text-align: center;
}
@media screen and (min-width: 1250px) {
  #pt_box .feature-item p {
    font-size: 18px;
  }
}
#pt_box .feature-item:nth-of-type(2):before {
  content: "2";
}
#pt_box .feature-item:nth-of-type(3):before {
  content: "3";
}
#pt_box .feature-item:nth-of-type(4):before {
  content: "4";
}
#pt_box .feature-item:nth-of-type(5):before {
  content: "5";
}
#pt_box .feature-item:nth-of-type(6):before {
  content: "6";
}

#pt_box .license {
  background-color: #6BADD8;
}
#pt_box .license .section-inner {
  padding-top: 0;
}
#pt_box .license h2 {
  transform: translateY(-35%);
  text-align: center;
}
#pt_box .license h2 img {
  width: 71.2%;
  max-width: 534px;
}
#pt_box .license h2 small {
  font-size: 12px;
  font-weight: 500;
  color: #fff;
}
@media screen and (min-width: 768px), print {
  #pt_box .license h2 small {
    font-size: 18px;
  }
}
#pt_box .license .licenses {
  margin-bottom: 30px;
}
#pt_box .license .licenses + p {
  font-size: 14px;
}
@media screen and (min-width: 768px), print {
  #pt_box .license .licenses + p {
    font-size: 18px;
  }
}
#pt_box .license-item {
  flex-basis: 32.5%;
  background-color: #fff;
  text-align: center;
  border: 4px solid #F19500;
  padding-bottom: 30px;
}
@media screen and (max-width: 767px) {
  #pt_box .license-item + .license-item {
    margin-top: 30px;
  }
}
#pt_box .license-item h3 {
  margin-bottom: 10px;
  text-align: center;
}
#pt_box .license-item h3 span {
  display: inline-block;
  padding: 0.5em 5px;
  background-color: #F19500;
  color: #fff;
  font-size: 4vw;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px), print {
  #pt_box .license-item h3 span {
    font-size: 20px;
  }
}
#pt_box .license-item p {
  color: #F19500;
  font-size: 3.5vw;
  font-weight: 700;
}
@media screen and (min-width: 768px), print {
  #pt_box .license-item p {
    font-size: 18px;
  }
}
#pt_box .license-item.blue {
  border-color: #004D9F;
}
#pt_box .license-item.blue h3 span {
  background-color: #004D9F;
}
#pt_box .license-item.blue p {
  color: #004D9F;
}
#pt_box .license-item.red {
  border-color: #E40012;
}
#pt_box .license-item.red h3 span {
  background-color: #E40012;
}
#pt_box .license-item.red p {
  color: #E40012;
}

#pt_box .work {
  background-image: url(../img/bg_line.png);
  background-position: top left;
  background-repeat: repeat-y;
  background-size: 100% auto;
}
#pt_box .work .com-tit + p {
  font-weight: 600;
  line-height: 2;
}
@media screen and (min-width: 768px), print {
  #pt_box .work .com-tit + p {
    line-height: 2.5;
    font-size: 26px;
  }
}
#pt_box .work h3 {
  margin-top: 4em;
  margin-bottom: 3em;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  #pt_box .work h3 {
    margin-top: 5em;
    margin-bottom: 4em;
  }
}
#pt_box .work h3 span {
  display: block;
  padding: 0.5em 0.5px;
  background-color: #004D9F;
  color: #ffff00;
  font-size: 4.8vw;
  line-height: 1.4;
}
@media screen and (min-width: 768px), print {
  #pt_box .work h3 span {
    display: inline-block;
    padding: 0.5em 2em;
    font-size: 36px;
  }
}
@media screen and (min-width: 1250px) {
  #pt_box .work h3 span {
    padding: 0.5em 5em;
  }
}
#pt_box .work .person {
  max-width: 863px;
  margin: 30px auto;
  align-items: center;
}
#pt_box .work .person .img {
  flex-basis: 29%;
}
@media screen and (max-width: 767px) {
  #pt_box .work .person .img {
    margin-bottom: 40px;
    width: 60%;
    margin-left: auto;
    margin-right: auto;
  }
}
#pt_box .work .person .text {
  flex-basis: 65%;
  position: relative;
}
#pt_box .work .person .text:before {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-image: url(../img/line_dotted.svg);
  background-position: left center;
  background-repeat: repeat-x;
  background-size: auto 100%;
  position: absolute;
  top: -10px;
}
#pt_box .work .person .text:after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-image: url(../img/line_dotted.svg);
  background-position: left center;
  background-repeat: repeat-x;
  background-size: auto 100%;
  position: absolute;
  bottom: -10px;
}
#pt_box .work .person .text div {
  background-color: #004D9F;
  padding: 1em 2em;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
#pt_box .work .person .text div span {
  color: #fff;
  font-size: 20px;
  font-weight: 700;
}
#pt_box .work .person .text div span.name {
  font-size: 28px;
}
#pt_box .work .fz-lead {
  font-size: 16px;
  font-weight: 700;
  line-height: 2;
margin: 0;
}
@media screen and (min-width: 768px), print {
  #pt_box .work .fz-lead {
    font-size: 27px;
  }
}
#pt_box .work .fz-lead strong {
  color: #004D9F;
}
#pt_box .work .steps {
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  #pt_box .work .steps {
    margin-top: 30px;
  }
}
#pt_box .work .steps .marker {
  display: inline-block;
  font-size: 18px;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px), print {
  #pt_box .work .steps .marker {
    font-size: 23px;
  }
}
#pt_box .work .steps .step-item {
  flex-basis: 30%;
}
@media screen and (max-width: 767px) {
  #pt_box .work .steps .step-item + .step-item {
    margin-top: 50px;
  }
}
#pt_box .work .steps .step-item:not(:last-child) {
  position: relative;
}
#pt_box .work .steps .step-item:not(:last-child):after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 26px 37.5px 0 37.5px;
  border-color: #f19500 transparent transparent transparent;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 170%);
}
@media screen and (min-width: 768px), print {
  #pt_box .work .steps .step-item:not(:last-child):after {
    border-width: 32px 0 32px 24px;
    border-color: transparent transparent transparent #f19500;
    bottom: auto;
    top: 50%;
    right: 0;
    left: auto;
    transform: translate(170%, -50%);
  }
}
#pt_box .work .steps + .button {
  width: 100%;
  max-width: 530px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
#pt_box .work .steps + .button:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-25%, -35%);
  width: 52px;
  height: 31px;
  background-image: url(../img/icon_tap.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (min-width: 768px), print {
  #pt_box .work .steps + .button:before {
    width: 104px;
    height: 62px;
  }
}
@media screen and (min-width: 1250px) {
  #pt_box .work .steps + .button:before {
    width: 145px;
    height: 75px;
    transform: translate(-25%, -35%);
    background-image: url(../img/icon_click.svg);
  }
}
@media screen and (min-width: 768px), print {
  #pt_box .work .steps + .button .btn span {
    font-size: 25px;
  }
}
#pt_box .work .increase {
  margin-top: 50px;
}
#pt_box .work .increase > div:nth-of-type(1) {
  flex-basis: 35%;
}
#pt_box .work .increase > div:nth-of-type(2) {
  flex-basis: 60%;
}
@media screen and (max-width: 767px) {
  #pt_box .work .increase > div:nth-of-type(2) {
    margin-top: 40px;
    text-align: center;
  }
  #pt_box .work .increase > div:nth-of-type(2) img {
    width: 75%;
  }
}
#pt_box .work .gallery {
  margin-top: 50px;
}
@media screen and (min-width: 768px), print {
  #pt_box .work .gallery {
    margin-left: -10px;
    margin-right: -10px;
  }
}
@media screen and (min-width: 768px), print {
  #pt_box .work .gallery .slick {
    display: flex;
  }
}
@media screen and (min-width: 768px), print {
  #pt_box .work .gallery-item {
    padding: 0 10px;
  }
}
#pt_box .work .flow {
  width: 100%;
  text-align: center;
}
#pt_box .work .flow .inner {
  display: inline-block;
}
#pt_box .work .flow-item {
  display: flex;
  gap: 10px;
  margin-bottom: 35px;
  align-items: center;
  position: relative;
}
@media screen and (min-width: 768px), print {
  #pt_box .work .flow-item {
    margin-bottom: 80px;
  }
}
#pt_box .work .flow-item:before {
  content: "";
  display: block;
  width: 2px;
  height: 150%;
  background-color: #004D9F;
  position: absolute;
  top: 80%;
  left: 14px;
  z-index: 1;
}
@media screen and (max-width: 450px) {
  #pt_box .work .flow-item:before {
    top: 70%;
  }
}
@media screen and (min-width: 768px), print {
  #pt_box .work .flow-item:before {
    width: 4px;
    height: 100%;
    top: 99%;
    left: 41px;
  }
}
#pt_box .work .flow-item span {
  font-weight: 700;
}
#pt_box .work .flow-item .num {
  width: 30px;
  flex-shrink: 0;
  line-height: 30px;
  border-radius: 50%;
  text-align: center;
  font-size: 15px;
  background-color: #004D9F;
  color: #fff;
  position: relative;
  z-index: 5;
}
@media screen and (min-width: 768px), print {
  #pt_box .work .flow-item .num {
    width: 84px;
    line-height: 84px;
    font-size: 40px;
  }
}
#pt_box .work .flow-item .waku {
  flex-basis: calc(100% - 30px - 10px);
  border: 2px solid #004D9F;
  background-color: #fff;
  font-size: 15px;
  padding: 0.5em;
  position: relative;
}
@media screen and (min-width: 768px), print {
  #pt_box .work .flow-item .waku {
    flex-basis: calc(100% - 84px - 10px);
    text-align: center;
    border: 4px solid #004D9F;
    font-size: 24px;
  }
}
@media screen and (min-width: 1250px) {
  #pt_box .work .flow-item .waku {
    font-size: 30px;
    white-space: nowrap;
  }
}
#pt_box .work .flow-item .waku:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 14px 8px 0 8px;
  border-color: #004D9F transparent transparent transparent;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 180%);
}
@media screen and (min-width: 768px), print {
  #pt_box .work .flow-item .waku:after {
    border-width: 38px 22px 0 22px;
    transform: translate(-50%, 150%);
  }
}
#pt_box .work .flow-item:nth-of-type(4):before {
  display: none;
}
#pt_box .work .flow-item:nth-of-type(4) .waku:after {
  display: none;
}
#pt_box .work .flow-option {
  position: relative;
}
#pt_box .work .flow-option:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: #F19500;
  transform: translate(-5px, -5px);
}
@media screen and (min-width: 768px), print {
  #pt_box .work .flow-option:before {
    transform: translate(-20px, -20px);
  }
}
#pt_box .work .flow-option .inner {
  width: 100%;
  border: 4px #F19500 solid;
  padding: 20px;
  background-color: #fff;
  box-shadow: 6px 6px 3px rgba(0, 0, 0, 0.5);
  position: relative;
  z-index: 5;
}
@media screen and (min-width: 768px), print {
  #pt_box .work .flow-option .inner {
    padding: 40px 50px;
			margin: 0;
  }
}
@media screen and (min-width: 768px), print {
  #pt_box .work .flow-option .inner .fz-lead {
    font-size: 33px;
  }
}

#pt_box .support h3 {
  margin-bottom: 2rem;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  #pt_box .support h3 {
    margin-bottom: 4rem;
  }
}
#pt_box .support h3.tit01 img {
  width: 100%;
  max-width: 840px;
}
#pt_box .support h3.tit02 img {
  width: 100%;
  max-width: 790px;
}
#pt_box .support01 {
  margin-bottom: 80px;
  gap: 30px;
}
#pt_box .support02 {
  margin-bottom: 80px;
  gap: 20px;
}
#pt_box .support03 {
  flex-wrap: wrap;
  row-gap: 50px;
}
#pt_box .support-item {
  flex-basis: 46%;
}
#pt_box .support-item h4 {
  background-color: #004D9F;
  padding: 0.2em;
  margin-bottom: 1.5em;
  text-align: center;
  color: #fff;
  font-size: 18px;
}
@media screen and (min-width: 768px), print {
  #pt_box .support-item h4 {
    margin-bottom: 2.5em;
    padding: 0.5em;
    font-size: 22px;
  }
}
#pt_box .support-item p {
  font-weight: 700;
  font-size: 16px;
}
@media screen and (min-width: 768px), print {
  #pt_box .support-item p {
    font-size: 18px;
  }
}
#pt_box .support-item ul, #pt_box .support-item .fb {
  max-width: 460px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 35px;
}
#pt_box .support-item ul li + li, #pt_box .support-item .fb li + li {
  margin-top: 35px;
}
#pt_box .support-item ul + p, #pt_box .support-item .fb + p {
  max-width: 460px;
  margin-left: auto;
  margin-right: auto;
}
#pt_box .support-item .fb {
  margin-top: 35px;
}
#pt_box .support-item .fb img {
  display: block;
  width: 100%;
  max-width: 460px;
  margin-left: auto;
  margin-right: auto;
}
#pt_box .support-item .sarani {
  text-align: center;
  padding-bottom: 10px;
}
#pt_box .support-item .sarani img {
  max-width: 130px;
}

#pt_box .life {
  background-image: url(../img/bg_line.png);
  background-position: top left;
}
#pt_box .life .com-tit + p {
  margin-bottom: 3em;
  font-size: 18px;
  font-weight: 700;
  line-height: 2;
}
@media screen and (min-width: 768px), print {
  #pt_box .life .com-tit + p {
    font-size: 27px;
  }
}
#pt_box .life01 {
  align-items: flex-end;
}
#pt_box .life01 > div {
  flex-basis: 32%;
}
@media screen and (max-width: 767px) {
  #pt_box .life01 > div + div {
    margin-top: 35px;
  }
}
#pt_box .life02 > div {
  flex-basis: 48%;
}
@media screen and (max-width: 767px) {
  #pt_box .life02 > div + div {
    margin-top: 35px;
  }
}
#pt_box .life02 h4 {
  margin-bottom: 1.5em;
  color: #E40012;
  text-align: center;
  padding: 0.2em;
  border: 4px solid #E40012;
  background-color: #fff;
	line-height: 1.6em;
}
@media screen and (min-width: 768px), print {
  #pt_box .life02 h4 {
    font-size: 26px;
  }
}
#pt_box .life02 ul li {
  margin-bottom: 0.8em;
  font-weight: 700;
}
@media screen and (min-width: 768px), print {
  #pt_box .life02 ul li {
    font-size: 20px;
  }
}
#pt_box .life02 small {
  font-size: 12px;
  font-weight: 500;
}
@media screen and (min-width: 768px), print {
  #pt_box .life02 small {
    font-size: 16px;
  }
}
#pt_box .life02 .img {
  padding-top: 2em;
}
#pt_box .life h3 {
  margin: 100px 0 50px;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  #pt_box .life h3 {
    margin: 150px 0 100px;
  }
}
#pt_box .life h3 span {
  display: block;
  background-color: #004D9F;
  padding: 0.5em 10px;
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 768px), print {
  #pt_box .life h3 span {
    display: inline-block;
    padding: 0.5em 2em;
    font-size: 36px;
			line-height: 1.6em;
  }
}

#pt_box .gakuhi {
  background-image: url(../img/bg_stripe.png);
  background-position: top left;
  background-repeat: repeat;
}
#pt_box .gakuhi .com-tit + p {
  margin-bottom: 2em;
  font-size: 18px;
  font-weight: 700;
  line-height: 2;
}
@media screen and (min-width: 768px), print {
  #pt_box .gakuhi .com-tit + p {
    font-size: 27px;
  }
}
#pt_box .gakuhi .list {
  max-width: 1056px;
  margin-left: auto;
  margin-right: auto;
}
#pt_box .gakuhi .list dl {
  position: relative;
  padding: 2em 0 2em 80px;
	margin: 0;
}
@media screen and (min-width: 768px), print {
  #pt_box .gakuhi .list dl {
    padding-left: 120px;
  }
}
#pt_box .gakuhi .list dl:before {
  content: "1";
  display: block;
  width: 60px;
  height: 60px;
  background-color: #004D9F;
  text-align: center;
  line-height: 60px;
  font-size: 30px;
  color: #fff;
  border-radius: 5px;
  position: absolute;
  font-weight: 700;
  top: 0.8em;
  left: 0;
}
@media screen and (min-width: 768px), print {
  #pt_box .gakuhi .list dl:before {
    width: 98px;
    height: 98px;
    font-size: 40px;
    line-height: 98px;
  }
}
#pt_box .gakuhi .list dl dt {
  color: #004D9F;
  font-weight: 700;
  font-size: 22px;
}
@media screen and (min-width: 768px), print {
  #pt_box .gakuhi .list dl dt {
    font-size: 36px;
  }
}
#pt_box .gakuhi .list dl dd {
  font-size: 20px;
  font-weight: 700;
}
@media screen and (min-width: 768px), print {
  #pt_box .gakuhi .list dl dd {
    font-size: 30px;
  }
}
#pt_box .gakuhi .list dl + dl {
  border-top: 1px solid #231815;
}
#pt_box .gakuhi .list dl:nth-of-type(2):before {
  content: "2";
}
#pt_box .gakuhi .list dl:nth-of-type(3):before {
  content: "3";
}
#pt_box .gakuhi .list dl:nth-of-type(4):before {
  content: "4";
}
#pt_box .gakuhi .list dl:nth-of-type(5):before {
  content: "5";
}
#pt_box .gakuhi .list + p {
  margin-top: 2em;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
}
@media screen and (min-width: 768px), print {
  #pt_box .gakuhi .list + p {
    font-size: 36px;
  }
}

#pt_box .nyushi .com-tit + p {
  text-align: center;
  margin-bottom: 2em;
  font-size: 18px;
  font-weight: 700;
  line-height: 2;
}
@media screen and (min-width: 768px), print {
  #pt_box .nyushi .com-tit + p {
    font-size: 27px;
  }
}
#pt_box .nyushi .notice {
  margin: 2em 0;
  font-weight: 700;
  font-size: 16px;
  text-align: center;
	color: #000 !important;
}
@media screen and (min-width: 768px), print {
  #pt_box .nyushi .notice {
    font-size: 24px;
  }
}
#pt_box .nyushi h3 {
  margin: 50px 0 30px;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  #pt_box .nyushi h3 {
    margin: 70px 0 50px;
  }
}
#pt_box .nyushi h3 span {
  display: block;
  background-color: #004D9F;
  padding: 0.5em 5px;
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 768px), print {
  #pt_box .nyushi h3 span {
    display: inline-block;
    padding: 0.5em 2em;
    font-size: 36px;
  }
}
#pt_box .nyushi .list {
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 3.5%;
  row-gap: 30px;
}
#pt_box .nyushi .list dl {
  flex-basis: 48%;
  display: flex;
  gap: 5px;
}
@media screen and (min-width: 1250px) {
  #pt_box .nyushi .list dl {
    flex-basis: 31%;
  }
}
#pt_box .nyushi .list dl dt {
  font-family: fot-tsukuardgothic-std, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 26px;
  background-color: #004D9F;
  color: #fff;
  line-height: 55px;
  font-weight: 700;
  width: 50px;
  text-align: center;
}
#pt_box .nyushi .list dl dd {
  width: 100%;
  line-height: 55px;
  background-color: #004D9F;
}
#pt_box .nyushi .list dl dd a {
  display: block;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  padding: 0 1em;
  position: relative;
}
@media screen and (min-width: 768px), print {
  #pt_box .nyushi .list dl dd a {
    font-size: 20px;
  }
}
#pt_box .nyushi .list dl dd .plus {
  display: inline-block;
  width: 32px;
  height: 32px;
  line-height: 27px;
  border: 2px solid #fff;
  border-radius: 50%;
  text-align: center;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px), print {
  #pt_box .nyushi .list dl dd .plus {
    width: 40px;
    height: 40px;
    line-height: 35px;
  }
}
#pt_box .nyushi01 > div {
  flex-basis: 48%;
}

#pt_box .event01 > div:nth-of-type(1) {
  flex-basis: 52%;
}
#pt_box .event01 > div:nth-of-type(2) {
  flex-basis: 45%;
}
#pt_box .event01 > div img + img {
  margin-top: 20px;
}

#pt_box .sns {
  text-align: center;
}
#pt_box .sns p {
  margin: 1em 0;
  font-weight: 700;
  font-size: 18px;
}
@media screen and (min-width: 768px), print {
  #pt_box .sns p {
    font-size: 26px;
  }
}
#pt_box .sns .blog a {
  display: block;
  max-width: 665px;
  margin-left: auto;
  margin-right: auto;
}
#pt_box .sns .com-flex {
  margin-top: 50px;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  #pt_box .sns .com-flex {
    display: flex;
  }
}
@media screen and (min-width: 768px), print {
  #pt_box .sns .com-flex {
    gap: 80px;
  }
}
#pt_box .sns .com-flex li {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  #pt_box .sns .com-flex li img {
    width: 80%;
  }
}
#pt_box .sns .com-flex span {
  font-family: fot-tsukuardgothic-std, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 13px;
  font-weight: 700;
}
@media screen and (min-width: 768px), print {
  #pt_box .sns .com-flex span {
    font-size: 22px;
  }
}


@media screen and (max-width: 340px){
#pt_box .nyushi .list dl dd a {
    font-size: 15.5px;
    font-feature-settings: "palt";
    padding: 0 0.6em;
}

#pt_box .modal-content ul li {
    font-size: 15px;
}

}



@media screen and (max-height: 820px) and (min-width: 767px){

#pt_box .modal-content h3 span {
font-size: 40px;
margin-left: -60px;
}

#pt_box .modal-content ul li {font-size: 26px;}
#pt_box .modal-content {padding: 30px 60px 10px;}
#pt_box {line-height: 1.5;}
#pt_box .modal-content .option {font-size: 28px;}
#pt_box .modal-content .option { top: 60px; }
}



@media screen and (max-height: 640px){

#pt_box .modal-content h3 span {
    font-size: 17px;
}
#pt_box .modal-content h3 {
    margin-bottom: 1em;
}

#pt_box .modal-content ul li {
    line-height: 1.2em;
    padding: 0em 0 0.4em 1.2em;
    font-feature-settings: "palt";
    letter-spacing: 0.5px;
}

#pt_box .modal-content {
    position: relative;
    padding: 40px 15px 10px;
    background-color: #DFEDF7;
}

}



@media screen and (max-height: 640px) and (min-width: 767px){
#pt_box .modal-content h3 span { font-size: 34px;}
#pt_box .modal-content h3 span { margin-left: -15px;}
#pt_box .modal-content ul li { font-size: 24px;}
}



