@charset "UTF-8";
/*!
 * ress.css • v2.0.4
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

*,
::before,
::after {
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
     # General elements
     # ================================================================= */
hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */
  height: 0;
  /* Add the correct box sizing in Firefox */
}

details,
main {
  display: block;
  /* Render the `main` element consistently in IE. */
}

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

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none;
  /* Add the correct display in IE */
}

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

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */
}

pre {
  font-size: 1em;
  /* Correct the odd `em` font sizing in all browsers */
}

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

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
     # Forms
     # ================================================================= */
input {
  border-radius: 0;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

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

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

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

textarea {
  overflow: auto;
  /* Internet Explorer 11+ */
  resize: vertical;
  /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor: pointer;
  color: inherit;
}

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

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

/* Style select like a standard input */
select {
  -moz-appearance: none;
  /* Firefox 36+ */
  -webkit-appearance: none;
  /* Chrome 41+ */
}

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor;
  /* Internet Explorer 11+ */
}

legend {
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge 18- and IE */
}

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

/* # =================================================================
     # Specify media element style
     # ================================================================= */
img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not([fill]) {
  fill: currentColor;
}

/* # =================================================================
     # Accessibility
     # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~="screen"] {
    display: inherit;
  }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}

/* Specify the progress cursor of updating elements */
[aria-busy="true"] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* base default*/
html, body {
  padding: 0;
  margin: 0;
}

* {
  box-sizing: border-box;
}

*::before, *::after {
  box-sizing: border-box;
}

html {
  line-height: 1.6;
  font-size: 16px;
  font-family: din-2014, noto-sans-cjk-jp,"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
}

body {
  color: #074973;
  background-color: #fff;
}

ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

p {
  margin: 0;
  letter-spacing: .05em;
}

a {
  text-decoration: none;
  color: #074973;
}

.l-container {
  margin: 0 auto;
  max-width: 1316px;
  width: 90%;
  height: 100%;
}

.l-container.-narrow {
  max-width: 1126px;
}

.l-spacer {
  padding: 4rem 0;
}

.l-spacer.-section {
  padding: 9.5rem 0;
}

.l-spacer.-maximum {
  padding: 5rem 0;
}

.l-spacer.-minimum {
  padding: .5rem 0;
}

.l-spacer.-medium {
  padding: 2rem 0;
}

.l-spacer.-nobottom {
  padding-bottom: 0;
}

.l-spacer.-notop {
  padding-top: 0;
}

@media screen and (max-width: 768px) {
  .l-spacer {
    padding: 2rem 0;
  }
  .l-spacer.-section {
    padding: 6rem 0;
  }
}

@media screen and (max-width: 576px) {
  .l-spacer {
    padding: 2rem 0;
  }
  .l-spacer.-section {
    padding: 4rem 0;
  }
}

.l-header {
  position: fixed;
  z-index: 100;
  padding: 2rem 0;
  min-height: 120px;
  width: 100%;
}

.l-header.-show {
  padding: 0;
  min-height: initial;
}

@media screen and (max-width: 576px) {
  .l-header {
    padding: 1rem 0;
    min-height: initial;
  }
}

.l-main {
  padding-top: 4rem;
}

.l-main.-lower {
  padding: 0;
}

@media screen and (max-width: 1024px) {
  .l-main {
    padding: 0;
  }
}

@media screen and (max-width: 768px) {
  .l-main {
    padding-top: 4rem;
  }
}

@media screen and (max-width: 576px) {
  .l-main {
    padding-top: 4rem;
  }
}

.c-sentence {
  font-size: 1rem;
  line-height: 1.75;
}

.c-sentence__paragraph {
  letter-spacing: .05em;
}

.c-sentence__paragraph.-textcenter {
  text-align: center;
}

.c-sentence.-sizelow {
  font-size: 0.8125rem;
}

.c-sentence.-withobj {
  display: flex;
}

.c-grid {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
}

.c-grid__item {
  width: 100%;
}

.c-grid__item.-column2 {
  width: calc(100% / 2);
}

.c-grid__item.-column2.-price {
  width: calc((100% / 2) - 1rem);
}

.c-grid__item.-column2.-price + .c-grid__item.-column2.-price {
  margin-left: auto;
}

.c-grid__item.-column2.-question {
  width: calc((100%/ 2) - .5rem);
}

.c-grid__item.-column2.-question + .c-grid__item.-column2.-question {
  margin-left: auto;
}

.c-grid__item.-column3 {
  padding: 0 1em;
  width: calc(100% / 3);
}

.c-grid__item.-column3:nth-child(n+4) {
  margin-top: 3rem;
}

.c-grid__image {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 1024px) {
  .c-grid__item.-column2.-price {
    width: 80%;
  }
}

@media screen and (max-width: 900px) {
  .c-grid__item.-column2.-question {
    width: 80%;
  }
  .c-grid__item.-column2.-question + .c-grid__item.-column2.-question {
    margin: 0 auto;
    margin-top: 4rem;
  }
}

@media screen and (max-width: 768px) {
  .c-grid {
    flex-direction: column;
  }
  .c-grid__item {
    margin: 0 auto;
  }
  .c-grid__item.-column3 {
    margin-top: 3rem;
    width: 75%;
  }
  .c-grid__item.-column2 {
    width: 70%;
  }
  .c-grid__item.-column2.-price {
    width: 90%;
  }
  .c-grid__item.-column2.-question {
    width: 90%;
  }
}

@media screen and (max-width: 576px) {
  .c-grid__item.-column3 {
    width: 100%;
  }
  .c-grid__item.-column2 {
    width: 100%;
  }
  .c-grid__item.-column2.-price {
    width: 100%;
  }
  .c-grid__item.-column2.-question {
    width: 100%;
  }
}

.c-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
}

.c-card__body {
  max-width: 100%;
  order: 0;
}

.c-card__head {
  margin-bottom: .5em;
  max-width: 100%;
  order: 1;
}

.c-card__foot {
  order: 2;
}

.c-card__title {
  font-size: 1.125rem;
}

.c-card__headimage {
  max-width: 100%;
}

.c-headingtitle {
  color: #085ca6;
  text-align: center;
  letter-spacing: .05em;
  font-size: 2.5rem;
  line-height: 1.4;
}

.c-headingtitle.-primary {
  padding-left: 1rem;
  border-left: 3px solid #00afec;
  text-align: left;
}

.c-headingtitle.-primary span {
  display: block;
}

.c-headingtitle.-sub {
  color: #00afec;
  font-weight: bold;
  font-size: 1.25rem;
}

.c-heading {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
}

.c-heading__head {
  order: 1;
}

.c-heading__body {
  order: 0;
}

@media screen and (max-width: 768px) {
  .c-headingtitle {
    font-size: 1.75rem;
  }
}

@media screen and (max-width: 576px) {
  .c-headingtitle {
    font-size: 1.5rem;
  }
}

.c-button {
  position: relative;
  display: inline-flex;
  margin: 0 auto;
  padding: .5em 1em;
  max-width: 100%;
  border-radius: 30px;
  background-color: transparent;
  box-shadow: 0 3px 17px -8px rgba(0, 0, 0, 0.6);
  color: #074973;
  text-align: center;
  letter-spacing: .05em;
  font-size: 1.25rem;
  transition: all .2s ease-in-out;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.c-button.-cta {
  background-color: #ede118;
  font-weight: bold;
}

.c-button.-minor {
  border: 2px solid #00afec;
  color: #00afec;
}

.c-button.-hamburger {
  border: 2px solid #00afec;
  background-color: #fff;
  color: #00afec;
  font-size: 1.125rem;
}

.c-button:hover, .c-button:active {
  box-shadow: none;
  transform: scale(1.1);
}

.c-button:hover.-cta, .c-button:active.-cta {
  background-color: #fff;
  color: #0b6ad6;
}

.c-button:hover.-minor, .c-button:active.-minor {
  background-color: #00afec;
  color: #fff;
}

@media screen and (max-width: 576px) {
  .c-button {
    font-size: 1.125rem;
  }
  .c-button.-hamburger {
    font-size: 0.75rem;
  }
}

.p-footer {
  background-color: #0869a6;
}

.p-footer__inner {
  display: flex;
  justify-content: space-between;
}

.p-footer__logo {
  display: inline-block;
}

.p-footer__item {
  position: relative;
  max-width: 50%;
  flex: 0 0 50%;
}

.p-footer__item.-left:before {
  position: absolute;
  top: 36%;
  right: 6%;
  width: 2px;
  height: 80%;
  background-color: #fff;
  content: '';
  transform: translateY(-50%);
}

.p-footer__address {
  color: #fff;
  font-style: normal;
}

.p-footer__copy {
  color: #fff;
  letter-spacing: .05em;
  font-size: 0.625rem;
}

@media screen and (max-width: 900px) {
  .p-footer__item {
    max-width: 100%;
    flex: 0 0 100%;
  }
  .p-footer__item.-left:before {
    content: none;
  }
  .p-footer__item.-right {
    display: none;
  }
  .p-footer__address {
    text-align: center;
  }
  .p-footer__logo {
    display: block;
  }
  .p-footer__copy {
    text-align: center;
  }
}

.p-footernav {
  display: flex;
  justify-content: space-around;
}

.p-footernav__list {
  flex-direction: column;
  justify-content: start;
}

.p-footernav__list.-sub .p-footernav__item {
  margin-top: 1rem;
  font-weight: normal;
  font-size: 0.875rem;
}

.p-footernav__list.-sub .p-footernav__item:first-child {
  margin-top: 0;
}

.p-footernav__item {
  font-weight: bold;
}

.p-footernav__item + .p-footernav__item {
  margin-top: 2rem;
}

.p-footernav__item a {
  color: #fff;
}

.p-question__item {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  border-radius: 20px;
  box-shadow: 0 6px 18px -6px rgba(0, 0, 0, 0.6);
}

.p-question__item:nth-child(n+3) {
  margin-top: 3rem;
}

.p-question__itemhead, .p-question__itembody {
  display: flex;
  flex-direction: row-reverse;
  padding: .5rem 1rem;
  align-items: center;
  justify-content: space-between;
}

.p-question__itemhead {
  padding-top: 1rem;
  max-height: 100px;
  border-radius: 20px 20px 0 0;
  background-color: #0869a6;
}

.p-question__itembody {
  margin-bottom: auto;
  align-items: normal;
}

.p-question__itemtitle, .p-question__answertext {
  padding-left: 1rem;
  color: #fff;
  letter-spacing: .07em;
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1.25;
}

.p-question__itemtitle {
  margin-right: auto;
}

.p-question__answertext {
  padding-top: .5rem;
  color: #074973;
  line-height: 1.75;
}

.p-question__question, .p-question__answer {
  display: block;
  color: #ede118;
  font-weight: bold;
  font-size: 4rem;
  line-height: 1;
}

.p-question__answer {
  color: #00afec;
}

.p-question__answertext a {
  color: #00afec;
  text-decoration: underline;
}

.p-question__answertext a:hover, .p-question__answertext a:active {
  opacity: .8;
}

@media screen and (max-width: 900px) {
  .p-question__itemlist {
    flex-direction: column;
  }
}

@media screen and (max-width: 576px) {
  .p-question__itemtitle {
    font-size: 1.25rem;
  }
  .p-question__answertext {
    font-size: 1.125rem;
  }
  .p-question__question, .p-question__answer {
    font-size: 3rem;
  }
}

.p-price__head {
  position: relative;
  flex-direction: column;
  margin-top: -1rem;
  min-height: 106px;
}

.p-price__head:before {
  position: absolute;
  bottom: -1rem;
  left: 50%;
  width: 70%;
  height: 2px;
  background-color: #ede118;
  content: '';
  transform: translateX(-50%);
}

.p-price__head:before.-renew {
  background-color: #0b6ad6;
}

.p-price__body {
  padding: 3rem 3rem;
  padding-top: 4.5rem;
}

.p-price__body.-option {
  padding-top: 2rem;
  padding-bottom: 0;
}

.p-price__foot {
  margin-top: auto;
  padding: 0 1rem;
}

.p-price__item {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  padding: 3rem 1rem;
  max-height: 714px;
  border-top: 20px solid #0b6ad6;
  border-bottom: 20px solid #0b6ad6;
  border-radius: 20px;
  box-shadow: 0 6px 18px -6px rgba(0, 0, 0, 0.6);
}

.p-price__item.-renew {
  width: 60%;
  border-color: #ede118;
}

.p-price__check {
  position: relative;
  display: flex;
  color: #085ca6;
  font-weight: bold;
  font-size: 1.5rem;
  align-items: center;
}

.p-price__check:before {
  position: absolute;
  width: 40px;
  height: 40px;
  background-image: url(../../../img/check-mark.svg);
  background-size: cover;
  background-repeat: no-repeat;
  content: '';
}

.p-price__check p {
  padding-left: 4.5rem;
  letter-spacing: .07em;
}

.p-price__check + .p-price__check {
  margin-top: 2rem;
}

.p-price__option {
  display: flex;
  color: #085ca6;
  font-weight: bold;
  font-size: 1.5rem;
  justify-content: space-between;
  align-items: center;
}

.p-price__title {
  text-align: center;
  letter-spacing: .05em;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.25;
}

.p-price__title.-sub {
  font-size: 0.8125rem;
}

@media screen and (max-width: 1200px) {
  .p-price__check {
    font-size: 1.25rem;
  }
  .p-price__body {
    padding: 4.5rem 2rem;
  }
}

@media screen and (max-width: 1024px) {
  .p-price__item {
    flex-direction: column;
  }
  .p-price__item:nth-child(n+2) {
    margin-top: 4rem;
  }
  .p-price__item.-renew {
    width: 80%;
  }
  .p-price__check {
    font-size: 1.75rem;
  }
  .p-price__body {
    padding: 4.5rem 4rem;
  }
  .p-price__body.-option {
    padding: 2rem 4rem;
  }
}

@media screen and (max-width: 900px) {
  .p-price__check {
    font-size: 1.375rem;
  }
  .p-price__body {
    padding-bottom: 2rem;
  }
}

@media screen and (max-width: 768px) {
  .p-price__item.-price {
    width: 90%;
  }
  .p-price__check {
    font-size: 1.25rem;
  }
  .p-price__body {
    padding: 3.5rem 2rem;
  }
  .p-price__body.-option {
    padding: 2rem;
  }
  .p-price__title {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 576px) {
  .p-price__item.-price {
    width: 100%;
  }
  .p-price__option {
    font-size: 1rem;
  }
  .p-price__head {
    min-height: 86px;
  }
  .p-price__body {
    padding: 2.5rem .5rem;
  }
  .p-price__body.-option {
    padding: 2.5rem 0;
    padding-bottom: 1.5rem;
  }
  .p-price__check {
    font-size: 1rem;
  }
  .p-price__check p {
    padding-left: 3.5rem;
  }
  .p-price__check:before {
    width: 32px;
    height: 32px;
  }
  .p-price__foot p {
    font-size: 0.875rem;
  }
}

.p-follow__list {
  display: flex;
  align-items: center;
}

.p-follow__item a {
  display: block;
  width: 100%;
  height: 100%;
}

.p-follow__item + .p-follow__item {
  margin-left: 1rem;
}

.p-follow__image {
  max-width: 100%;
  height: auto;
  border-radius: 50%;
}

.p-calltoaction {
  background-color: #0b6ad6;
}

.p-calltoaction__inner {
  display: flex;
  padding: 4rem 0;
  align-items: center;
  justify-content: space-between;
}

.p-calltoaction__text {
  display: flex;
  flex-direction: column;
  color: #fff;
}

.p-calltoaction__catchcopy {
  font-size: 2.5rem;
  order: 1;
}

.p-calltoaction__subcopy {
  font-weight: bold;
  font-size: 1.25rem;
}

@media screen and (max-width: 1200px) {
  .p-calltoaction__inner {
    flex-direction: column;
    padding: 2rem 0;
  }
  .p-calltoaction__subcopy, .p-calltoaction__catchcopy {
    text-align: center;
  }
  .p-calltoaction__button {
    margin-top: 1.5rem;
  }
}

@media screen and (max-width: 900px) {
  .p-calltoaction__catchcopy {
    font-size: 2rem;
  }
}

@media screen and (max-width: 576px) {
  .p-calltoaction__catchcopy {
    font-size: 1.5rem;
  }
  .p-calltoaction__subcopy {
    font-size: 1rem;
  }
}

.p-hamburger {
  position: relative;
  flex-direction: column;
  width: 80px;
  height: 80px;
  outline: 0;
  border: 0;
  border-radius: 50%;
}

.p-hamburger__line {
  position: relative;
  display: block;
  width: 100%;
  height: 2px;
  background-color: #0869a6;
  transition: all 0.3s cubic-bezier(0.33, 0.53, 0.74, 0.95);
}

.p-hamburger__line:before {
  position: absolute;
  top: 10px;
  right: 0;
  width: 70%;
  height: 2px;
  background-color: #0869a6;
  content: '';
  transition: all 0.3s cubic-bezier(0.33, 0.53, 0.74, 0.95);
}

.p-hamburger__text {
  padding-top: 1rem;
  font-weight: bold;
}

.p-hamburger:hover .p-hamburger__line:before {
  width: 100%;
}

.p-works__body {
  width: 100%;
}

.p-works__listimage {
  max-width: 100%;
  height: auto;
}

.p-service__body, .p-service__foot {
  width: 100%;
}

.p-serviceitem__inner {
  min-height: 260px;
  background: #00afec;
  background: linear-gradient(184deg, #00afec 0%, #0b6ad6 100%);
  align-items: center;
  justify-content: center;
}

.p-serviceitem__title {
  width: 100%;
  color: #fff;
  text-align: center;
  font-size: 1.125rem;
}

.p-serviceitem__thumbnail {
  padding-top: 1rem;
}

.p-reasonitem {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}

.p-reasonitem:nth-child(2n) {
  flex-direction: row;
}

.p-reasonitem__title {
  padding-left: 1rem;
  letter-spacing: .05em;
  font-size: 1.5rem;
  line-height: 1.25;
}

.p-reasonitem__number {
  margin-left: -1rem;
  max-width: 100%;
  height: 100%;
}

.p-reasonitem__text {
  max-width: calc(1126px - 706px);
}

.p-reasonitem__texthead {
  display: flex;
  flex-direction: row-reverse;
  font-size: 1.5rem;
  align-items: center;
  justify-content: center;
}

.p-reasonitem__texthead[data-number='2'] {
  justify-content: flex-end;
}

.p-reasonitem__textbody {
  padding: 2rem;
  padding-left: 3rem;
}

.p-reasonitem__textbody[data-number='2'] {
  padding-right: 3rem;
  padding-left: 0;
}

.p-reasonitem__textfoot {
  padding: 2rem 0;
}

.p-reasonitem__thumbnail {
  max-width: calc(1126px - (1126px - 706px));
}

.p-reasonitem__image {
  max-width: 100%;
  height: auto;
}

@media screen and (max-width: 1023px) {
  .p-reasonitem {
    flex-direction: column;
  }
  .p-reasonitem:nth-child(2n) {
    flex-direction: column;
  }
  .p-reasonitem__text {
    margin: 0 auto;
    max-width: 80%;
    order: 1;
  }
  .p-reasonitem__texthead {
    margin-top: 3rem;
  }
  .p-reasonitem__texthead[data-number='2'] {
    justify-content: center;
  }
  .p-reasonitem__textbody[data-number='2'] {
    padding: 2rem 3rem;
  }
  .p-reasonitem__thumbnail {
    margin: 0 auto;
    text-align: center;
    order: 0;
  }
  .p-reasonitem__image {
    max-width: 90%;
    height: auto;
  }
}

@media screen and (max-width: 576px) {
  .p-reasonitem:nth-child(n+2) {
    padding-top: 0;
  }
  .p-reasonitem__text {
    max-width: 100%;
  }
  .p-reasonitem__textbody {
    padding: 1rem;
  }
  .p-reasonitem__textbody[data-number='2'] {
    padding: 1rem;
  }
  .p-reasonitem__textfoot p {
    width: 100%;
  }
}

.p-worryitem {
  align-items: normal;
}

.p-worryitem__title {
  position: relative;
  padding-top: 2rem;
  text-align: center;
  letter-spacing: .05em;
  font-size: 1.25rem;
  line-height: 1.35;
}

.p-worryitem__title:before {
  position: absolute;
  top: -30%;
  left: 0;
  z-index: -1;
  width: 5rem;
  height: 6rem;
  color: #00afec;
  font-weight: bold;
  font-size: 4.5rem;
  opacity: .4;
}

.p-worryitem__title[data-number='1']:before {
  content: '01';
}

.p-worryitem__title[data-number='2']:before {
  content: '02';
}

.p-worryitem__title[data-number='3']:before {
  content: '03';
}

.p-worryitem__body {
  padding: 3rem 0;
}

.p-worryitem__body img {
  max-width: 100%;
}

@media screen and (max-width: 1200px) {
  .p-worryitem__title {
    font-size: 1.125rem;
  }
  .p-worryitem__body {
    padding: 2rem 0;
  }
}

@media screen and (max-width: 768px) {
  .p-worryitem__title {
    font-size: 1.5rem;
  }
  .p-worryitem__foot {
    margin: 0 auto;
    max-width: 90%;
  }
}

@media screen and (max-width: 576px) {
  .p-worryitem__title {
    font-size: 1.25rem;
  }
  .p-worryitem__title:before {
    font-size: 4rem;
  }
}

.p-desc__inner {
  align-items: center;
}

.p-desc__paragraph {
  color: #085ca6;
  font-size: 1.5rem;
}

@media screen and (max-width: 1024px) {
  .p-desc__paragraph {
    font-size: 1.125rem;
  }
  .p-desc__thumbnail {
    padding: 1rem;
  }
}

@media screen and (max-width: 900px) {
  .p-desc__inner {
    flex-direction: column-reverse;
  }
  .p-desc__thumbnail.-column2 {
    width: 70%;
  }
  .p-desc__sentence {
    text-align: center;
  }
  .p-desc__sentence.-column2 {
    width: 70%;
  }
  .p-desc__paragraph {
    font-size: 1rem;
  }
}

@media screen and (max-width: 576px) {
  .p-desc__thumbnail.-column2 {
    width: 100%;
  }
  .p-desc__sentence.-column2 {
    width: 100%;
  }
}

.p-voice__item {
  max-width: 100%;
  font-weight: bold;
}

.p-voice__title {
  color: #fff;
  text-align: center;
  letter-spacing: .05em;
  font-size: 3.5rem;
  line-height: 1.45;
}

.p-voice__info {
  display: flex;
  margin-top: 1rem;
  justify-content: flex-end;
}

.p-voice__info p {
  padding: 0 1rem;
  color: #fff;
  font-size: 3rem;
}

@media screen and (max-width: 1500px) {
  .p-voice__title {
    font-size: 3.7vw;
  }
  .p-voice__info p {
    font-size: 3.25vw;
  }
}

.p-threepoints__paragraph {
  font-size: 1.125rem;
}

.p-threepoints__heading {
  display: flex;
}

.p-threepoints__title {
  padding-left: 2rem;
  order: 1;
}

.p-threepoints__number {
  position: relative;
  order: 0;
}

.p-threepoints__number:before {
  position: absolute;
  left: -2.5rem;
  color: #ede118;
  content: 'point';
  font-weight: bold;
  font-size: 2rem;
  transform: rotate(90deg);
}

.p-threepoints__image {
  max-width: 100%;
  height: auto;
  order: 0;
}

.p-threepoints__text {
  padding-left: 4rem;
  order: 1;
}

@media screen and (max-width: 1200px) {
  .p-threepoints__title {
    font-size: 1.75rem;
  }
  .p-threepoints__text {
    padding-left: 2rem;
  }
}

@media screen and (max-width: 900px) {
  .p-threepoints__number:before {
    left: -1.5rem;
    font-size: 1.5rem;
  }
  .p-threepoints__title {
    padding-left: 1.5rem;
    font-size: 1.5rem;
  }
  .p-threepoints__image {
    max-width: 80%;
  }
  .p-threepoints__paragraph {
    font-size: 1rem;
  }
}

@media screen and (max-width: 768px) {
  .p-threepoints__heading {
    margin: 0 auto;
    width: 90%;
  }
  .p-threepoints__number:before {
    left: -1.5rem;
    font-size: 1.5rem;
  }
  .p-threepoints__text {
    padding: 0;
  }
  .p-threepoints__text.-column2 {
    width: 80%;
  }
  .p-threepoints__image.-column2 {
    width: 70%;
  }
}

@media screen and (max-width: 576px) {
  .p-threepoints__heading {
    margin: 0 auto;
    width: 100%;
  }
  .p-threepoints__title {
    padding: 0;
    font-size: 1.25rem;
  }
  .p-threepoints__number:before {
    left: -1.5rem;
    font-size: 1.5rem;
  }
  .p-threepoints__text.-column2 {
    width: 100%;
  }
  .p-threepoints__image.-column2 {
    max-width: 100%;
    width: 100%;
  }
}

.p-mainvisual__inner {
  position: relative;
  min-height: 800px;
  max-height: 900px;
}

.p-mainvisual__inner.-lower {
  min-height: 800px;
  max-height: 900px;
}

.p-mainvisual__head {
  position: absolute;
  top: 20%;
}

.p-mainvisual__head:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 370px;
  height: 300px;
  background-image: url(../../../img/headingtitle_triangle.png);
  background-size: cover;
  content: '';
}

.p-mainvisual__body {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  transform: translateY(-7%);
}

.p-mainvisual__body.-lower {
  bottom: 2%;
}

.p-mainvisual__title {
  text-align: left;
  letter-spacing: .08em;
  font-size: 4rem;
  line-height: 1.75;
}

.p-mainvisual__title.-lower {
  position: relative;
  margin-top: 3.5rem;
  margin-left: 7rem;
  padding: 0 .5rem;
  padding-top: 2.5rem;
  background-color: #fff;
  line-height: 1;
}

.p-mainvisual__title.-lower:before {
  position: absolute;
  top: 7%;
  left: 1rem;
  width: 100%;
  height: 100%;
  color: #00afec;
  content: '';
  font-weight: bold;
  font-size: 1.5rem;
}

.p-mainvisual__title.-lower[data-name='price']:before {
  content: '制作、更新代行のJ-COOLの料金体系';
}

.p-mainvisual__title.-lower[data-name='service']:before {
  content: '更新業務の全てをJ-COOLへ。';
}

.p-mainvisual__title.-lower[data-name='renew']:before {
  content: 'リニューアル・新規製作もJ-COOLへ。';
}

.p-mainvisual__title.-lower[data-name='question']:before {
  content: 'お客様から寄せられるご質問';
}

.p-mainvisual__title.-lower[data-name='recruit']:before {
  content: '私たちと働きませんか';
}

.p-mainvisual__title.-lower[data-name='privacypolicy']:before {
  content: 'プライバシーポリシー';
}

.p-mainvisual__title.-lower[data-name='company']:before {
  content: 'J-COOLの歩み';
}

.p-mainvisual__title.-lower[data-name='form']:before {
  content: 'お気軽に何でもお聞きください。';
}

.p-mainvisual__catchcopy {
  position: relative;
  padding-top: 30%;
}

.p-mainvisual__copy {
  padding: 1rem 0;
}

.p-mainvisual__paragraph {
  color: #085ca6;
  font-size: 2rem;
  line-height: 2;
}

.p-mainvisual__paragraph.-lower {
  font-weight: normal;
  font-size: 1.75rem;
}

.p-mainvisual__hero {
  position: absolute;
  top: 40%;
  right: 0;
  z-index: -1;
  transform: translateY(-50%);
}

.p-mainvisual__hero.-lower {
  top: 55%;
}

.p-mainvisual__heroimage {
  max-width: 100%;
}

.p-mainvisual__heroimage.-lower {
  margin-left: auto;
  max-width: 80%;
}

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

@media screen and (max-width: 1024px) {
  .p-mainvisual__body {
    bottom: 10%;
  }
  .p-mainvisual__body.-lower {
    bottom: -2vw;
  }
  .p-mainvisual__title {
    font-size: 3.5rem;
  }
  .p-mainvisual__title.-lower:before {
    max-width: 120%;
  }
  .p-mainvisual__paragraph {
    font-size: 1.5rem;
  }
  .p-mainvisual__heroimage {
    margin: 0 auto;
    max-width: 80%;
  }
}

@media screen and (max-width: 900px) {
  .p-mainvisual__head:before {
    width: 36vw;
    height: 29vw;
  }
  .p-mainvisual__title.-lower {
    margin-left: 5vw;
  }
}

@media screen and (max-width: 768px) {
  .p-mainvisual.-lower {
    padding-top: 64px;
  }
  .p-mainvisual__inner {
    min-height: initial;
    min-height: auto;
    max-height: initial;
    max-height: auto;
    height: 70vh;
  }
  .p-mainvisual__body {
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translateY(-50%);
    transform: translateX(-50%);
  }
  .p-mainvisual__body.-lower {
    top: 65%;
    bottom: 0;
  }
  .p-mainvisual__hero {
    top: 30%;
    transform: translateY(-50%);
  }
  .p-mainvisual__heroimage {
    max-width: 70%;
  }
  .p-mainvisual__heroimage.-lower {
    margin: 0;
    margin-left: auto;
    max-width: 60%;
  }
  .p-mainvisual__title {
    font-size: 2.5rem;
  }
  .p-mainvisual__title.-lower {
    padding-top: 1.5rem;
    font-size: 2rem;
  }
  .p-mainvisual__title.-lower:before {
    width: 150%;
    font-size: 1.125rem;
  }
  .p-mainvisual__paragraph {
    font-size: 1.5rem;
  }
  .p-mainvisual__paragraph.-lower {
    font-size: 1.5rem;
  }
  .p-mainvisual__scrollbar {
    display: none;
  }
}

@media screen and (max-width: 576px) {
  .p-mainvisual.-lower {
    padding-top: 32px;
    padding-bottom: 4rem;
  }
  .p-mainvisual__inner {
    min-height: initial;
    min-height: auto;
    height: 50vh;
  }
  .p-mainvisual__body {
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translateY(-50%);
    transform: translateX(-50%);
  }
  .p-mainvisual__hero {
    top: 30%;
    transform: translateY(-50%);
  }
  .p-mainvisual__heroimage {
    max-width: 100%;
  }
  .p-mainvisual__title {
    font-size: 2rem;
  }
  .p-mainvisual__title.-lower {
    margin-top: 6vw;
    font-size: 1.75rem;
  }
  .p-mainvisual__title.-lower:before {
    width: 100%;
    font-size: 0.875rem;
  }
  .p-mainvisual__paragraph {
    font-size: 1.125rem;
  }
  .p-mainvisual__paragraph.-lower {
    font-size: 1.125rem;
  }
  .p-mainvisual__scrollbar {
    display: none;
  }
}

.p-scroll {
  position: absolute;
  right: -3%;
  bottom: 9%;
  display: block;
  width: 100px;
  transform: rotate(90deg);
}

.p-scroll:before, .p-scroll:after {
  position: absolute;
  top: 2rem;
  background-color: #0869a6;
  content: '';
}

.p-scroll:before {
  width: 100%;
  height: 1px;
}

.p-scroll:after {
  top: 1.7rem;
  left: -5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  -webkit-animation: 2s cubic-bezier(0.33, 0.53, 0.74, 0.95) moveball infinite;
          animation: 2s cubic-bezier(0.33, 0.53, 0.74, 0.95) moveball infinite;
}

.p-scroll__bar {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  letter-spacing: .05em;
  font-weight: bold;
  font-size: 0.875rem;
}

@-webkit-keyframes moveball {
  0% {
    left: -5px;
  }
  100% {
    left: 100%;
  }
}

@keyframes moveball {
  0% {
    left: -5px;
  }
  100% {
    left: 100%;
  }
}

@media screen and (max-width: 1024px) {
  .p-scroll {
    right: 0;
    bottom: 20%;
  }
}

@media screen and (max-width: 576px) {
  .p-scroll.u-centerposition {
    display: none;
  }
}

.p-globalnav {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  visibility: hidden;
  width: 100%;
  height: 100vh;
}

.p-globalnav:before {
  position: absolute;
  top: 0;
  left: -100%;
  z-index: -1;
  max-height: 200vh;
  width: 100%;
  height: 200vw;
  background-color: #00afec;
  content: '';
  transition: all 0.3s cubic-bezier(0.33, 0.53, 0.74, 0.95);
}

.p-globalnav__inner {
  visibility: hidden;
  flex-direction: column;
  padding: 1rem;
  padding-top: 112px;
  height: 100vh;
  background-color: transparent;
  opacity: 0;
}

.p-globalnav__body {
  display: flex;
  padding-bottom: 2rem;
  width: 100%;
}

.p-globalnav__foot {
  width: 100%;
}

.p-globalnav__list {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 90%;
  height: 100%;
  justify-content: center;
}

.p-globalnav__sublist {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.p-globalnav__item + .p-globalnav__item {
  padding-top: 4rem;
}

.p-globalnav__link {
  position: relative;
  color: #fff;
  letter-spacing: .05em;
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 1.75;
}

.p-globalnav__link.-sub {
  font-size: 1.5rem;
}

.p-globalnav__link:before {
  position: absolute;
  top: 45%;
  left: -10px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #ede118;
  content: '';
}

.p-globalnav__link:hover, .p-globalnav__link:active {
  color: #ede118;
  transition: all 0.3s cubic-bezier(0.33, 0.53, 0.74, 0.95);
}

.p-globalnav__link:hover:before, .p-globalnav__link:active:before {
  -webkit-animation: drop_down .2s linear ,side_in .2s linear .2s forwards;
          animation: drop_down .2s linear ,side_in .2s linear .2s forwards;
}

.p-globalnav__thumbnail {
  width: 100%;
}

.p-globalnav__thumbnailimage {
  max-width: 100%;
  height: auto;
}

@-webkit-keyframes drop_down {
  0% {
    top: 45%;
    height: 5px;
  }
  50% {
    top: 65%;
    width: 3px;
    height: 15px;
  }
  100% {
    top: 100%;
    height: 5px;
  }
}

@keyframes drop_down {
  0% {
    top: 45%;
    height: 5px;
  }
  50% {
    top: 65%;
    width: 3px;
    height: 15px;
  }
  100% {
    top: 100%;
    height: 5px;
  }
}

@-webkit-keyframes side_in {
  0% {
    top: 100%;
    width: 5px;
    height: 2px;
    border-radius: 0;
  }
  100% {
    top: 100%;
    width: calc(100% + 10px);
    height: 2px;
    border-radius: 0;
  }
}

@keyframes side_in {
  0% {
    top: 100%;
    width: 5px;
    height: 2px;
    border-radius: 0;
  }
  100% {
    top: 100%;
    width: calc(100% + 10px);
    height: 2px;
    border-radius: 0;
  }
}

@media screen and (max-width: 1200px) {
  .p-globalnav__item + .p-globalnav__item {
    padding-top: 2rem;
  }
  .p-globalnav__link {
    font-size: 2rem;
  }
  .p-globalnav__link.-sub {
    font-size: 1.125rem;
  }
}

@media screen and (max-width: 900px) {
  .p-globalnav__inner {
    flex-direction: row;
    padding-top: 62px;
  }
  .p-globalnav__list {
    max-width: 100%;
  }
  .p-globalnav__body {
    flex-direction: column-reverse;
    max-width: 100%;
  }
  .p-globalnav__thumbnail {
    display: none;
  }
  .p-globalnav__item {
    text-align: center;
  }
  .p-globalnav__link {
    font-size: 1.5rem;
  }
  .p-globalnav__link:before {
    content: none;
  }
  .p-globalnav__subitem + .p-globalnav__subitem {
    padding-top: 2rem;
  }
  .p-globalnav__sublist {
    flex-direction: column;
  }
}

@media screen and (max-width: 576px) {
  .p-globalnav__inner {
    padding-top: 0;
  }
  .p-globalnav__link {
    font-size: 1.125rem;
  }
  .p-globalnav__link.-sub {
    font-size: 0.9375rem;
  }
}

.p-logo {
  max-width: 100%;
}

.p-logo__image {
  max-width: 80%;
}

@media screen and (max-width: 1024px) {
  .p-logo__image {
    max-width: 80%;
  }
}

@media screen and (max-width: 768px) {
  .p-logo__image {
    max-width: 60%;
  }
}

@media screen and (max-width: 576px) {
  .p-logo__image {
    max-width: 60%;
  }
}

.p-company__table {
  margin-bottom: 3em;
  border-collapse: collapse;
}

.p-company__table th {
  padding: 1.5em 0;
  width: 23%;
  border-right: 2px solid #707070;
  text-align: left;
}

.p-company__table td {
  padding-left: 5em;
}

.p-company__table-place {
  vertical-align: top;
}

.p-company__table-branch {
  padding-top: 1.5em;
  padding-bottom: 3em;
}

.p-company__table.-secound th {
  padding: 1em 0;
  width: 24.3%;
}

.p-company__table-strong {
  font-size: 1.25em;
}

.p-company__table-strong td {
  padding-top: 2.2em;
  padding-left: 4em;
}

.p-company__table-strong p {
  margin-top: 1em;
  color: #fff;
  text-align: center;
  font-size: 1em;
}

@media screen and (max-width: 576px) {
  .p-company__table th {
    min-width: 120px;
  }
  .p-company__table td {
    padding-left: 2em;
  }
  .p-company__table-branch iframe {
    width: 280px;
    height: 180px;
  }
}

.p-confirm {
  position: relative;
  padding-top: 15em;
}

.p-confirm__content {
  margin-bottom: 10em;
  padding: 5em 4em 3em;
  border: 2px solid #dcdcdc;
  background: #fff;
}

.p-confirm__content-item {
  display: flex;
  padding: 2em 0;
  border-top: 1px solid #085ca6;
}

.p-confirm__content-item.-sentence {
  padding-bottom: 10em;
  border-bottom: 1px solid #085ca6;
}

.p-confirm__content-heading {
  padding-right: 40px;
  padding-left: 40px;
  max-width: 300px;
  flex-basis: 300px;
}

.p-confirm__content-detail {
  width: 60%;
}

.p-confirm__button {
  padding-top: 3em;
  padding-bottom: 1em;
  text-align: center;
}

.p-confirm__button-left {
  display: inline-block;
  padding-right: 20px;
}

.p-confirm__button-right {
  display: inline-block;
  padding-left: 20px;
}

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

.p-confirmup table {
  width: 100%;
}

.p-confirmup__head {
  width: 30%;
}

.p-confirmup td {
  padding: 1.5rem 1rem;
  max-width: 100%;
}

.p-confirmup__button {
  display: flex;
  flex-direction: column-reverse;
  justify-content: space-around;
}

.bold {
  text-align: center;
  font-weight: bold;
}

.p-contact__flex {
  display: flex;
  justify-content: space-around;
}

.p-contact__step {
  margin: 0 auto 5em;
  width: 90%;
}

.p-contact__step-item {
  display: flex;
  padding: .5rem 1rem;
  width: 30%;
  border: 1px solid #085ca6;
  align-items: center;
  justify-content: center;
}

.p-contact__step-item.is-current {
  background-color: #d1d1d1;
}

.p-contact__step-text {
  padding-left: 1rem;
  text-align: center;
  font-size: 1.125rem;
}

@media screen and (max-width: 1200px) {
  .p-contact__step {
    width: 100%;
  }
}

@media screen and (max-width: 1024px) {
  .p-contact__step-item {
    flex-direction: column;
    margin: 0 auto;
  }
  .p-contact__step-text {
    padding-left: 0;
  }
}

@media screen and (max-width: 768px) {
  .p-contact__step-item img {
    width: 32px;
    height: 32px;
  }
  .p-contact__step-text {
    font-size: 1rem;
  }
}

@media screen and (max-width: 576px) {
  .p-contact__step-item {
    padding: .5rem;
  }
  .p-contact__step-item img {
    width: 24px;
    height: 24px;
  }
  .p-contact__step-text {
    font-size: 0.875rem;
  }
}

.p-eco__image {
  margin-bottom: 3em;
}

.p-eco__container {
  width: 80%;
  margin: 0 auto;
}

.p-eco__container-title {
  margin-bottom: 3em;
}

.p-eco__container-lead {
  margin: 0 auto;
}

.p-form {
  margin: 0 auto;
  width: 100%;
}

.p-form__contact {
  margin: 0 auto;
  width: 85%;
}

.p-form__item {
  overflow: hidden;
  margin-bottom: 3em;
}

.p-form__label {
  float: left;
  margin-right: auto;
  padding-top: 10px;
  padding-right: .5rem;
  width: 27%;
  font-weight: bold;
  font-size: 1.125em;
}

.p-form__inputs {
  float: left;
  width: 66%;
}

.p-form__button {
  margin: 4em auto 0;
  text-align: center;
}

.p-form__radio {
  padding-bottom: 40px;
}

.p-form__radio-content {
  padding-bottom: 5px;
}

.p-form__tolink {
  text-align: center;
}

.p-form__tolink a {
  border-bottom: 1px solid #074973;
}

.p-form__tolink a:hover {
  opacity: .8;
}

.p-form__button {
  margin-bottom: 10em;
}

input[type='text'],
input[type='email'],
input[type='number'] {
  padding: .5rem;
  max-width: 100%;
  border: solid 1px #aaa;
  border-radius: 8px;
  font-size: 16px;
}

textarea {
  max-width: 100%;
  height: 240px;
  border: 1px solid #aaa;
  border-radius: 8px;
  font-size: 16px;
}

@media screen and (max-width: 1024px) {
  .p-form__contact {
    width: 100%;
  }
}

@media screen and (max-width: 900px) {
  .p-form input[type='text'],
  .p-form input[type='email'],
  .p-form input[type='number'] {
    margin-top: 1rem;
    width: 100%;
  }
  .p-form textarea {
    margin-top: 1rem;
    width: 100%;
  }
  .p-form__label {
    width: 35%;
  }
}

@media screen and (max-width: 768px) {
  .p-form__label {
    width: 40%;
  }
}

@media screen and (max-width: 576px) {
  .p-form__label {
    width: 52%;
    font-size: 0.9375rem;
  }
  .p-form__radio-content {
    float: left;
  }
}

.p-tel__inner {
  margin: 0 auto;
  padding: 1rem 0;
  width: 80%;
  border: 1px solid #bebebe;
}

.p-tel__head {
  text-align: center;
}

.p-tel__body {
  padding: 1rem 0;
  text-align: center;
}

.p-tel__number {
  color: #0b6ad6;
  letter-spacing: .05em;
  font-weight: bold;
  font-size: 4.5rem;
}

.p-tel__foot {
  text-align: center;
}

.p-tel__text {
  font-size: 1.125rem;
}

@media screen and (max-width: 1200px) {
  .p-tel__inner {
    width: 90%;
  }
}

@media screen and (max-width: 1024px) {
  .p-tel__inner {
    width: 100%;
  }
  .p-tel__text {
    font-size: 1rem;
  }
  .p-tel__number {
    font-size: 3.5rem;
  }
}

@media screen and (max-width: 768px) {
  .p-tel {
    margin-top: 3rem;
  }
  .p-tel__inner {
    padding: 1rem;
  }
}

@media screen and (max-width: 576px) {
  .p-tel__text {
    font-size: 0.875rem;
  }
  .p-tel__number {
    font-size: 2.5rem;
  }
}

.p-thanks {
  padding-top: 15em;
}

.p-thanks__text {
  padding-bottom: 3em;
  width: 80%;
  margin: 0 auto;
}

.p-privacypolicy {
  margin-top: -10rem;
  padding-bottom: 8em;
}

.p-privacypolicy__title {
  padding-bottom: 5em;
}

.p-privacypolicy__block {
  padding-bottom: 3em;
}

.p-privacypolicy__block-text.-bold {
  padding-bottom: 1em;
  font-weight: bold;
}

.p-privacypolicy__block-list li {
  padding: .3em 0 .3em;
  list-style: inside;
}

.p-privacypolicy__right {
  text-align: right;
}

.p-recruit__paragraph {
  font-size: 1.125rem;
}

.p-recruit__paragraph + .p-recruit__paragraph {
  padding-top: .5rem;
}

.p-recruit__paragraph.-top {
  padding-top: 1.5rem;
}

@media screen and (max-width: 567px) {
  .p-recruit__paragraph {
    font-size: 1rem;
  }
}

.p-panel__table {
  overflow: hidden;
  width: 100%;
  border-collapse: collapse;
  border-top: 2px solid #0b6ad6;
}

.p-panel__body {
  width: 100%;
}

.p-panel__body th,
.p-panel__body td {
  padding: 3rem;
  border: 0;
  border-bottom: 2px solid #0b6ad6;
}

.p-panel__body th {
  width: 30%;
  text-align: center;
  font-size: 1.125rem;
}

.p-panel__body td {
  width: 70%;
  letter-spacing: .05em;
  font-size: 1rem;
}

.p-news {
  position: relative;
}

.p-news__link {
  max-width: 100%;
}

.p-news__content {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
  display: none;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
}

.p-news__content.-show {
  display: block;
}

.p-news__contentinner {
  margin: 0 auto;
  padding: 3rem 7rem;
  max-width: 60%;
  border: 2px solid #0b6ad6;
  background-color: #fff;
  text-align: center;
}

.p-news__modal {
  display: flex;
  cursor: pointer;
}

.p-news__title {
  position: relative;
  margin-left: auto;
  width: 70%;
  font-size: 1.25rem;
  order: 1;
}

.p-news__title:hover {
  opacity: .8;
}

.p-news__date {
  margin-right: auto;
  width: 30%;
  text-align: center;
  font-size: 1.125rem;
  order: 0;
}

@media screen and (max-width: 1024px) {
  .p-news__contentinner {
    padding: 2rem 1rem;
    max-width: 80%;
  }
}

@media screen and (max-width: 576px) {
  .p-news__title {
    width: 80%;
    font-size: 0.9375rem;
  }
  .p-news__date {
    width: 20%;
    text-align: left;
    font-size: 0.8125rem;
  }
  .p-news__contentinner {
    padding: 2rem 1rem;
    max-width: 100%;
  }
}

.p-header {
  background-color: transparent;
  transition: all 0.3s cubic-bezier(0.33, 0.53, 0.74, 0.95);
}

.p-header.-show {
  background-color: #fff;
  box-shadow: 0 3px 14px -5px rgba(0, 0, 0, 0.6);
}

.p-header__title {
  font-size: 1rem;
  line-height: 1;
}

.p-header__inner {
  position: relative;
  z-index: 3;
  display: flex;
  padding: 1rem 0;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 576px) {
  .p-header {
    padding: 0;
  }
  .p-header.-show .p-header__inner {
    padding: 0;
  }
}

.u-uppercase {
  text-transform: uppercase;
}

.u-centerposition {
  display: flex;
  justify-content: center;
  align-items: center;
}

.u-visually-hidden {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  margin: -1px;
  padding: 0;
  width: 1px;
  height: 1px;
  border: 0;
  white-space: nowrap;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
}

.u-emphasis {
  font-size: 2.5rem;
}

.u-emphasis.-option {
  color: #0b6ad6;
}

.u-notstrong {
  font-size: 1.5rem;
}

.u-strong-en {
  color: #0b6ad6;
  font-size: 4.5rem;
}

.u-bold {
  font-weight: bold;
}

.u-block {
  display: block;
}

.u-left {
  text-align: left;
}

.u-buttonpadding {
  padding-right: 3em;
  padding-left: 3em;
}

.u-must {
  display: flex;
}

.u-must span {
  display: block;
  margin-left: auto;
  padding: .2em 1em .2em 1em;
  border-radius: 10px;
  background-color: #ede118;
  color: #0b6ad6;
  font-size: .75em;
}

@media screen and (max-width: 768px) {
  .u-tabblock {
    display: block;
  }
}

@media screen and (max-width: 576px) {
  .u-spblock {
    display: block;
  }
  .u-spnone {
    display: none;
  }
  .u-strong-en {
    font-size: 2.5rem;
  }
  .u-notstrong {
    font-size: 1.125rem;
  }
}

.is-draweractive body {
  overflow-y: hidden;
  touch-action: none;
}

.is-draweractive .p-globalnav:before {
  left: 0;
  visibility: visible;
}

.is-draweractive .p-globalnav__inner {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.3s cubic-bezier(0.33, 0.53, 0.74, 0.95);
  transition-delay: .4s;
}

.is-draweractive .js-logo {
  transition: all 0.3s cubic-bezier(0.33, 0.53, 0.74, 0.95);
}

.is-draweractive .p-hamburger__line {
  width: 60%;
  background-color: #fff;
  transform: rotate(45deg);
}

.is-draweractive .p-hamburger__line:before {
  top: 0;
  width: 100%;
  background-color: #fff;
  transform: rotate(90deg);
}

.is-draweractive .p-hamburger__text {
  color: #fff;
}

.is-draweractive .p-hamburger:hover .p-hamburger__line {
  transform: rotate(45deg) scale(1.1);
}

.is-draweractive .l-header.-show {
  padding: 2rem;
}

@media screen and (max-width: 576px) {
  .is-draweractive .l-header.-show {
    padding: 0;
  }
}

.motion-obj {
  position: relative;
  overflow: hidden;
}

.motion-obj:after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #00afec;
  content: '';
  opacity: 1;
  transform: translate3d(-101%, 0, 0);
}

.js-scroll.show .motion-obj:after {
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transition-duration: .5s;
  transition-property: transform, opacity;
  transform: translate3d(0, 0, 0);
}

.js-scroll.done .motion-obj:after {
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transition-duration: .5s;
  transition-property: transform;
  transform: translate3d(103%, 0, 0);
}

.motion-obj .motion-inner {
  opacity: 0;
}

.js-scroll.done .motion-obj .motion-inner {
  opacity: 1;
}

.js-scroll.done .motion-obj {
  background-color: #fff;
}

.js-scroll.done .motion-obj.-except {
  background-color: #0b6ad6;
}