@charset "utf-8";
/* Document
* ========================================================================== */

/**
* Add border box sizing in all browsers (opinionated).
*/

*,
::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).
*/

html {
  cursor: default;
  /* 1 */
  line-height: 1.5;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
  tab-size: 4;
  /* 3 */
  -webkit-tap-highlight-color: transparent
    /* 4 */
  ;
  /* -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).
*/

body {
  margin: 0;
}

/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Edge, Firefox, and Safari.
*/

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
* ========================================================================== */

/**
* Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
*/

dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
* Remove the margin on nested lists in Edge 18- and IE.
*/

ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

/**
* 1. Correct the inheritance of border color in Firefox.
* 2. Add the correct box sizing in Firefox.
* 3. Show the overflow in Edge 18- and IE.
*/

hr {
  color: inherit;
  /* 1 */
  height: 0;
  /* 2 */
  overflow: visible;
  /* 3 */
}

/**
* Add the correct display in IE.
*/

main {
  display: block;
}

/**
* Remove the list style on navigation lists in all browsers (opinionated).
*/

nav ol,
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.
* 3. Prevent overflow of the container in all browsers (opinionated).
*/

pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
  overflow: auto;
  /* 3 */
  -ms-overflow-style: scrollbar;
  /* 3 */
}

/* Text-level semantics
* ========================================================================== */

/**
* Remove the gray background on active links in IE 10.
*/

a {
  background-color: transparent;
}

/**
* Add the correct text decoration in Edge 18-, IE, and Safari.
*/

abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
* Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/* Embedded content
* ========================================================================== */

/*
* Change the alignment on media elements in all browsers (opinionated).
*/

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/**
* Add the correct display in IE 9-.
*/

audio,
video {
  display: inline-block;
}

/**
* Add the correct display in iOS 4-7.
*/

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
* Remove the border on iframes in all browsers (opinionated).
*/

iframe {
  border-style: none;
}

/**
* Remove the border on images within links in IE 10-.
*/

img {
  border-style: none;
}

/**
* Change the fill color to match the text color in all browsers (opinionated).
*/

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

/**
* Hide the overflow in IE.
*/

svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
* ========================================================================== */

/**
* 1. Collapse border spacing in all browsers (opinionated).
* 2. Correct table border color inheritance in all Chrome, Edge, and Safari.
* 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
*/

table {
  border-collapse: collapse;
  /* 1 */
  border-color: inherit;
  /* 2 */
  text-indent: 0;
  /* 3 */
}

/* Forms
* ========================================================================== */

/**
* Remove the margin on controls in Safari.
*/

button,
input,
select {
  margin: 0;
}

/**
* 1. Show the overflow in IE.
* 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
*/

button {
  overflow: visible;
  /* 1 */
  text-transform: none;
  /* 2 */
}

/**
* Correct the inability to style buttons in iOS and Safari.
*/

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
* 1. Change the inconsistent appearance in all browsers (opinionated).
* 2. Correct the padding in Firefox.
*/

fieldset {
  border: 1px solid #a0a0a0;
  /* 1 */
  padding: 0.35em 0.75em 0.625em;
  /* 2 */
}

/**
* Show the overflow in Edge 18- and IE.
*/

input {
  overflow: visible;
}

/**
* 1. Correct the text wrapping in Edge 18- and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
*/

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.
*/

progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
* Remove the inheritance of text transform in Firefox.
*/

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).
*/

textarea {
  margin: 0;
  /* 1 */
  overflow: auto;
  /* 2 */
  resize: vertical;
  /* 3 */
  resize: block;
  /* 3 */
}

/**
* Remove the padding in IE 10-.
*/

[type="checkbox"],
[type="radio"] {
  padding: 0;
}

/**
* 1. Correct the odd appearance in Chrome, Edge, and Safari.
* 2. Correct the outline style in Safari.
*/

[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
* Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
* Correct the text style of placeholders in Chrome, Edge, and Safari.
*/

::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
* Remove the inner padding in Chrome, Edge, and Safari on macOS.
*/

::-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.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
* Remove the inner border and padding of focus outlines in Firefox.
*/

::-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.
*/

details {
  display: block;
}

/*
* Add the correct styles in Edge 18-, IE, and Safari.
*/

dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
}

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

/*
* Add the correct display in all browsers.
*/

summary {
  display: list-item;
}

/* Scripting
* ========================================================================== */

/**
* Add the correct display in IE 9-.
*/

canvas {
  display: inline-block;
}

/**
* Add the correct display in IE.
*/

template {
  display: none;
}

/* User interaction
* ========================================================================== */

/*
* Remove the tapping delay in IE 10.
*/

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  touch-action: manipulation;
}

/**
* Add the correct display in IE 10-.
*/

[hidden] {
  display: none;
}

/* Accessibility
* ========================================================================== */

/**
* Change the cursor on busy elements in all browsers (opinionated).
*/

[aria-busy="true"] {
  cursor: progress;
}

/*
* Change the cursor on control elements in all browsers (opinionated).
*/

[aria-controls] {
  cursor: pointer;
}

/*
* Change the cursor on disabled, not-editable, or otherwise
* inoperable elements in all browsers (opinionated).
*/

[aria-disabled="true"],
[disabled] {
  cursor: not-allowed;
}

/*
* Change the display on visually hidden accessible elements
* in all browsers (opinionated).
*/

[aria-hidden="false"][hidden] {
  display: initial;
}

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

@media (min-width: 769px) {
  main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block .img-box p {
    font-size: 16px;
  }

  main.bland-introduction section.contents.about.kokusan {
    padding-top: 20em;
    padding-bottom: 0;
  }
}

@media (max-width: 768px) and (min-width:481px) {

  /*
  main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block .img-box p{}
  main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block{}*/
  main.bland-introduction section.contents.about.kokusan {
    padding-top: 0em;
    padding-bottom: 0;
  }
}

@media (max-width:480px) {
  main.bland-introduction section.contents.about.kokusan {
    padding-top: 0em;
    padding-bottom: 0;
  }
}

:root {
  font-size: 62.5%;
  box-sizing: border-box
}

html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  font-feature-settings: "palt";
  -webkit-overflow-scrolling: touch;
  letter-spacing: .08rem;
  line-height: 2;
  font-weight: 500;
  color: #000;
  background-color: #f9faf9
}

body {
  position: relative;
  font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', sans-serif
}

* {
  background-repeat: no-repeat
}

h1,
h2,
h3,
h4,
h5,
h6,
li,
dt,
dd,
a,
p {
  margin: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal
}

a {
  text-decoration: none;
  transition: .1s;
  color: #000
}

ul,
dl,
ol {
  margin: 0;
  padding: 0
}

li {
  list-style: none
}

img,
svg {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover
}

address {
  font-style: normal
}

.hidden {
  display: none
}

.mod--accordion-body-wrapper {
  margin-top: 0;
  overflow: hidden
}

.mod--modal {
  z-index: 9999;
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  background-color: #f9faf9
}

.mod--modal.show {
  opacity: 1;
  animation-name: fadein
}

.mod--modal.hidden {
  pointer-events: none;
  opacity: 0;
  animation-name: fadeout
}

.mod--modal-body {
  position: relative
}

.mod--modal-open,
.mod--modal-close {
  cursor: pointer
}

@keyframes fadein {
  0% {
    display: none;
    opacity: 0
  }

  1% {
    display: block;
    opacity: 0
  }

  100% {
    display: block;
    opacity: 1
  }
}

@keyframes fadeout {
  0% {
    display: block;
    opacity: 1
  }

  99% {
    display: block;
    opacity: 0
  }

  100% {
    display: none;
    opacity: 0
  }
}

.gheader {
  position: sticky;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  background-color: #f9faf9;
  z-index: 100
}

.gheader-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 0 32px 0 24px;
  width: 100%;
  height: 120px;
  max-width: 1440px
}

.gheader-logo {
  width: 160px
}

.gheader-navi-pc a {
  display: flex;
  margin: 0;
  padding: 4px 12px;
  font-weight: bold;
  color: #000;
  font-size: 14px;
  white-space: nowrap;
  background-color: transparent;
  transition: 160ms;
  transition-property: all;
  transition-duration: 160ms;
  transition-timing-function: cubic-bezier(0, 0, .2, 1);
  transition-delay: 0s
}

.gheader-navi-pc a:hover {
  color: #000;
  background-color: #f0ede2
}

.gheader-navi-pc a:active {
  color: #b49d51
}

.gheader-navi-pc .pri-menu {
  display: flex;
  justify-content: space-between;
  align-items: center
}

.gheader-navi-pc .pri-menu-item {
  position: relative;
  display: inline-block
}

.gheader-navi-pc .pri-menu-item>a {
  border-radius: 18px
}

.gheader-navi-pc .pri-menu .sub-menu-wrapper {
  position: absolute;
  left: -15px;
  padding: 0 15px;
  height: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 160ms, visibility 160ms;
  transition-property: opacity, visibility;
  transition-duration: 160ms, 160ms;
  transition-timing-function: cubic-bezier(0, 0, .2, 1), cubic-bezier(.8, 0, 1, 1);
  transition-delay: 0s, 0s
}

.gheader-navi-pc .pri-menu .sub-menu-wrapper .sub-menu {
  margin-top: 0;
  padding: 4px;
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 16px 16px rgba(58, 0, 0, 0.2);
  pointer-events: auto;
  transition: margin 300ms;
  transition-property: margin;
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0, 0, .2, 1);
  transition-delay: 0s
}

.gheader-navi-pc .pri-menu .sub-menu-wrapper .sub-menu-item {
  margin: 4px;
  min-width: 340px
}

.gheader-navi-pc .pri-menu .sub-menu-wrapper .sub-menu-item a {
  align-items: center;
  white-space: nowrap;
  border-radius: 4px;
  transition: .3s
}

.gheader-navi-pc .pri-menu .sub-menu-wrapper .sub-menu-item a span>small {
  font-size: 12px
}

.gheader-navi-pc .pri-menu .sub-menu-wrapper .sub-menu-item a svg {
  margin-left: 8px;
  width: 1.6rem;
  height: 1.6rem;
  fill: transparent
}

.gheader-navi-pc .pri-menu .sub-menu-wrapper .sub-menu-item:hover svg {
  fill: #000
}

.gheader-navi-pc .pri-menu-item:hover>.sub-menu-wrapper {
  padding-bottom: 30px;
  height: auto;
  opacity: 1;
  visibility: visible
}

.gheader-navi-pc .pri-menu-item:hover>.sub-menu-wrapper .sub-menu {
  margin-top: 20px
}

.gheader-navi-pc .pri-menu .button a {
  display: block;
  margin-left: 16px;
  height: 36px;
  border-radius: 5px
}

.gheader-navi-pc .pri-menu .button a.contact {
  padding: 4px 12px;
  color: #fff;
  background: #c30d23
}

.gheader-navi-pc .pri-menu .button a.contact:hover {
  background: linear-gradient(0, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), #c30d23
}

.gheader-navi-pc .pri-menu .button a.contact:active {
  background: #000
}

.gheader-navi-pc .pri-menu .button a.ec {
  padding: 3px 12px;
  border: 1px solid #000;
  background-color: transparent
}

.gheader-navi-pc .pri-menu .button a.ec:hover {
  background-color: #f0ede2
}

.gheader-navi-pc .pri-menu .button a.ec:active {
  background-color: #000
}

.gheader-navi-pc .pri-menu .button a.ec:active svg {
  fill: #fff;
  stroke: #fff
}

.sp-menu-body {
  width: 100%;
  height: 100vh;
  font-size: 1.3rem;
  font-weight: bold;
  overflow: auto
}

.sp-menu-body svg {
  margin-left: 8px;
  width: 1.6rem;
  height: 1.6rem;
  fill: #000
}

.sp-menu-body .sp-menu-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4rem;
  padding: 0 1.6rem 0 .8rem;
  height: calc(6rem - 1px)
}

.sp-menu-body .pri-menu {
  padding: 0 3.6rem 50vw
}

.sp-menu-body .pri-menu-item,
.sp-menu-body .pri-menu .button {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 2rem;
  width: 100%;
  height: 5.6rem;
  text-align: center;
  background-color: #fff;
  border-radius: .8rem;
  transition: .3s ease
}

.sp-menu-body .pri-menu-item svg,
.sp-menu-body .pri-menu .button svg {
  transition: .3s ease;
  transform: rotate(90deg)
}

.sp-menu-body .pri-menu .button.contact {
  background-color: #c30d23;
  color: #fff
}

.sp-menu-body .pri-menu .button.ec {
  border: 1px solid #000
}

.sp-menu-body .sub-menu {
  padding: 0 .4rem .4rem;
  background-color: #fff;
  border-radius: 0 0 .8rem .8rem;
  opacity: 0
}

.sp-menu-body .sub-menu-item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: .4rem 1.2rem;
  background-color: #fff;
  border-radius: .4rem;
  transform: translate(0, -1rem);
  transition: .3s ease
}

.sp-menu-body .sub-menu-item:not(:last-of-type) {
  margin-bottom: .4rem
}

.sp-menu-body .sub-menu-item span>small {
  font-size: 100%
}

.sp-menu-body .sub-menu-item span>small.block {
  display: block
}

.sp-menu-body .active .pri-menu-item {
  color: #b49d51;
  background-color: #f0ede2;
  border-radius: .8rem .8rem 0 0
}

.sp-menu-body .active .pri-menu-item svg {
  fill: #b49d51;
  transform: rotate(-90deg)
}

.sp-menu-body .active .sub-menu {
  background-color: #f0ede2;
  opacity: 1
}

.sp-menu-body .active .sub-menu-item {
  transform: translate(0, 0)
}

.sp-menu-open,
.sp-menu-close {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 3.2rem;
  height: 3.2rem
}

.sp-menu-open span,
.sp-menu-close span {
  display: block;
  margin: .4rem 0;
  width: 100%;
  height: 2px;
  background-color: #c30d23;
  border-radius: 1px;
  transition: all .2s ease
}

.show.sp-menu-open span:nth-of-type(1),
.show .sp-menu-close span:nth-of-type(1) {
  width: 3.5rem;
  transform: translate(0, .47rem) rotate(45deg)
}

.show.sp-menu-open span:nth-of-type(2),
.show .sp-menu-close span:nth-of-type(2) {
  width: 3.5rem;
  transform: translate(0, -.47rem) rotate(-45deg)
}

.gfooter {
  position: relative;
  padding-bottom: 48px;
  width: 100%;
  background-color: #fff
}

.gfooter-inner {
  width: 100%;
  margin: 0 auto;
  padding-top: 48px;
  max-width: 1440px
}

.gfooter-logo {
  margin: 0 auto 28px;
  width: 200px
}

.gfooter-navi ul {
  margin-bottom: 25px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center
}

.gfooter-navi ul li {
  display: block;
  margin: 0 5px;
  padding: 4px 12px
}

.gfooter-navi ul li a {
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  color: #666
}

.gfooter-navi ul li a:hover,
.gfooter-navi ul li a:active {
  color: #c30d23
}

.gfooter-sns {
  margin-bottom: 25px;
  text-align: center;
  font-family: brandon-grotesque, sans-serif;
  letter-spacing: .04em
}

.gfooter-sns .heading {
  margin-bottom: 1rem;
  font-size: 1.2rem;
  line-height: 1.4;
  color: #aaa
}

.gfooter-sns a {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  width: 16.7rem;
  height: 4.8rem;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  transition: .2s
}

.gfooter-sns a span {
  font-size: 1.4rem;
  line-height: 1.5;
  color: #666
}

.gfooter-sns a img {
  margin-right: 1.2rem;
  width: 2.9rem
}

.gfooter-copyright {
  text-align: center;
  font-family: brandon-grotesque, sans-serif;
  font-size: 12px;
  opacity: .3
}

.gfooter .totop {
  position: fixed;
  bottom: 60px;
  right: calc(50% - 480px);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  background-color: #fff;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: background-color .2s, opacity .2s;
  cursor: pointer;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  pointer-events: none
}

.gfooter .totop svg {
  width: 26px;
  fill: #b49d51
}

.gfooter .totop.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto
}

.diary-carousel {
  position: relative;
  margin: 0 auto;
  max-width: 1000px;
  height: 320px;
  padding: 10px 40px
}

.diary-carousel-inner {
  background-color: #eee
}

.diary-carousel-prev,
.diary-carousel-next {
  position: absolute;
  top: 150px;
  width: 20px;
  height: 20px;
  background-color: #ccc;
  cursor: pointer
}

.diary-carousel-prev {
  left: 10px
}

.diary-carousel-next {
  right: 10px
}

.diary-modal {
  width: 240px
}

.diary-modal-close {
  position: absolute;
  top: 2rem;
  right: 3rem;
  z-index: 1
}

.diary-carousel-container {
  height: 360px;
  width: 920px;
  margin: 0 auto 8rem
}

.diary-carousel-container .diary-carousel-wrapper {
  display: flex;
  align-items: center
}

.diary-article {
  background-color: #fff;
  height: auto;
  width: 920px;
  border-radius: 24px;
  padding: 2rem;
  position: relative;
  overflow: auto;
  flex-shrink: 0
}

.diary-article .inner {
  display: flex
}

.diary-article .inner .image {
  width: 380px;
  height: 280px;
  margin-right: 4rem;
  border-radius: 12px;
  overflow: hidden
}

.diary-article .inner .image img {
  height: 100%
}

.diary-article .inner .detail {
  width: 50%
}

.diary-article .inner .detail .title {
  font-weight: 400;
  font-size: 2rem;
  font-family: iroha-31nire-stdn, sans-serif;
  margin: 0 0 1.3rem
}

.diary-article .inner .detail .text {
  font-size: 1.4rem
}

.diary-article .inner .detail .text::before {
  content: url("../assets/red-line.svg");
  display: flex;
  margin-bottom: 2rem;
  justify-content: left;
  align-items: center;
  height: 7px
}

main.page section.contents .tags a {
  color: #b49d51;
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.5;
  display: inline-block;
  background-color: #fff;
  border: 2px solid #f0ede2;
  border-radius: 6px;
  padding: .2rem .6rem;
  margin-right: 1.2rem;
  margin-bottom: 1.2rem;
  text-decoration: none
}

main.page section.contents .news-list {
  margin-top: 4rem
}

main.page section.contents .news-list article {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  margin-bottom: 2rem;
  padding-bottom: 1.2rem;
  border-bottom: 4px solid #fff
}

main.page section.contents .news-list article .date a,
main.page section.contents .news-list article .news-title a {
  font-weight: normal;
  font-size: 1.6rem;
  line-height: 2.6;
  transition: .2s;
  display: block
}

main.page section.contents .news-list article .date {
  width: 15%;
  margin-right: 4%
}

main.page section.contents .news-list article .date a {
  text-decoration: none
}

main.page section.contents .news-list article .news-title {
  margin-bottom: .8rem;
  display: inline-block
}

main.page section.contents .news-list article .news-contents-wrapper {
  width: 80%
}

input,
button,
select,
textarea {
  border: 0;
  background: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  outline: none
}

input::-moz-placeholder,
button::-moz-placeholder,
select::-moz-placeholder,
textarea::-moz-placeholder {
  color: #aaa
}

input::placeholder,
button::placeholder,
select::placeholder,
textarea::placeholder {
  color: #aaa
}

input:focus,
button:focus,
select:focus,
textarea:focus {
  outline: none
}

input[type='checkbox'],
input[type='radio'] {
  display: none
}

input[type='submit'],
input[type='button'],
button,
select {
  cursor: pointer
}

form {
  margin: 0;
  padding: 0
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0
}

input,
select,
textarea {
  display: block;
  width: 100%;
  height: 4rem;
  font-size: 1.6rem;
  line-height: 1.8rem;
  border: 1px solid #aaa;
  border-radius: 4px;
  transition: .2s
}

input:focus,
select:focus,
textarea:focus {
  border-color: #000
}

input,
select {
  padding: .8rem 1.2rem
}

textarea {
  padding: .6rem 1.2rem
}

input,
textarea {
  background-color: #fff
}

.field-inner {
  position: relative
}

label.radio,
label.checkbox {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  cursor: pointer
}

label.radio::before,
label.checkbox::before {
  content: '';
  position: absolute;
  top: calc(50% - 0.8rem);
  left: 0;
  width: 1.6rem;
  height: 1.6rem;
  border: 1px solid #aaa;
  background-color: #fff
}

label.radio::after,
label.checkbox::after {
  content: '';
  position: absolute;
  display: none;
  top: calc(50% - 0.8rem);
  left: 0;
  width: 1.6rem;
  height: 1.6rem;
  border: 1px solid #000;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2211%22%20height%3D%229%22%20viewBox%3D%220%200%2011%209%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1.91308%203.53516H1.91326C1.99256%203.53525%202.07081%203.55331%202.14213%203.58798C2.21341%203.62262%202.27591%203.67295%202.32497%203.7352L1.91308%203.53516ZM1.91308%203.53516H1.09394C0.890308%203.53516%200.776602%203.76975%200.902321%203.9292L0.902371%203.92927L4.11214%207.99567L4.11218%207.99573C4.32247%208.26188%204.72568%208.26114%204.93667%207.99617L4.93708%207.99566L10.6597%200.743984C10.6598%200.743781%2010.66%200.743578%2010.6602%200.743375C10.7884%200.582949%2010.6699%200.35%2010.4689%200.35H9.6498C9.48941%200.35%209.33668%200.4235%209.2376%200.55044C9.23751%200.550551%209.23742%200.550661%209.23734%200.550771L4.52403%206.52157M1.91308%203.53516L4.52403%206.52157M4.52403%206.52157L2.32506%203.73531L4.52403%206.52157Z%22%20fill%3D%22white%22%20stroke%3D%22white%22%20stroke-width%3D%220.3%22%2F%3E%3C%2Fsvg%3E");
  background-size: 1rem;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #000
}

label.radio {
  padding-left: 2.6rem
}

label.radio::before,
label.radio::after {
  border-radius: 50%
}

label.checkbox {
  padding-left: 2.6rem
}

label.checkbox::before,
label.checkbox::after {
  border-radius: .2rem
}

input[type='radio']:checked+label.radio::after,
input[type='checkbox']:checked+label.checkbox::after {
  display: block
}

.select-wrapper {
  position: relative;
  display: block;
  height: 4rem;
  background-color: #fff
}

.select-wrapper::after {
  content: '';
  position: absolute;
  top: 1.2rem;
  right: 1rem;
  z-index: 0;
  width: 1.6rem;
  height: 1.6rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.64645%205.64645C3.45118%205.84171%203.45118%206.15829%203.64645%206.35355L6.93934%209.64645C7.52513%2010.2322%208.47487%2010.2322%209.06066%209.64645L12.3536%206.35355C12.5488%206.15829%2012.5488%205.84171%2012.3536%205.64645C12.1583%205.45118%2011.8417%205.45118%2011.6464%205.64645L8.35355%208.93934C8.15829%209.1346%207.84171%209.1346%207.64645%208.93934L4.35355%205.64645C4.15829%205.45118%203.84171%205.45118%203.64645%205.64645Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain
}

.select-wrapper select {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1
}

.select-wrapper select::-ms-expand {
  display: none
}

nav.breadcrumb {
  width: 100%;
  background-color: #fff
}

nav.breadcrumb ul {
  margin: 0 auto;
  padding: 26px 0;
  width: 100%;
  height: 80px;
  max-width: 960px
}

nav.breadcrumb li {
  display: inline-flex;
  align-items: center
}

nav.breadcrumb li a,
nav.breadcrumb li span {
  display: block;
  font-size: 14px;
  font-weight: bold;
  border-bottom: 2px solid transparent
}

nav.breadcrumb li a {
  color: #c30d23
}

nav.breadcrumb li:not(:first-of-type)::before {
  content: '';
  display: block;
  margin: 0 15px;
  width: .7rem;
  height: 1rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%226%22%20height%3D%2210%22%20viewBox%3D%220%200%206%2010%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M0.646447%200.646447C0.841709%200.451184%201.15829%200.451184%201.35355%200.646447L4.64645%203.93934C5.23223%204.52513%205.23223%205.47487%204.64645%206.06066L1.35355%209.35355C1.15829%209.54882%200.841709%209.54882%200.646447%209.35355C0.451184%209.15829%200.451184%208.84171%200.646447%208.64645L3.93934%205.35355C4.1346%205.15829%204.1346%204.84171%203.93934%204.64645L0.646447%201.35355C0.451184%201.15829%200.451184%200.841709%200.646447%200.646447Z%22%20fill%3D%22%23BDBDBD%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-position: center
}

.brand-carousel-container {
  position: relative;
  margin: 40px 0 80px;
  height: 360px
}

.brand-carousel-container .brand-carousel-wrapper {
  align-items: center;
  margin-top: -16px
}

.brand-carousel-container .brand-carousel-wrapper .brand-card {
  position: relative;
  margin: 0 5px;
  width: 350px;
  height: 200px
}

.brand-carousel-container .brand-carousel-wrapper .brand-card .inner {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto;
  width: 350px;
  height: 200px;
  background-color: #f9faf9;
  transition: .3s ease
}

.brand-carousel-container .brand-carousel-wrapper .brand-card .inner a {
  display: block;
  width: 100%;
  height: 100%
}

.brand-carousel-container .brand-carousel-wrapper .brand-card .inner a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  border-radius: 8px;
  transition: .2s
}

.brand-carousel-container .brand-carousel-wrapper .brand-card .inner a img {
  width: 100%;
  height: 100%;
  border: 1px solid #b49d51;
  border-radius: 8px;
  overflow: hidden
}

.brand-carousel-container .brand-carousel-wrapper .brand-card:not(.swiper-slide-active) a:hover::before {
  background-color: rgba(180, 157, 81, 0.1)
}

.brand-carousel-container .brand-carousel-wrapper .brand-card:not(.swiper-slide-active) a:active::before {
  background-color: rgba(180, 157, 81, 0.3)
}

.brand-carousel-container .brand-carousel-wrapper .brand-card.swiper-slide-next,
.brand-carousel-container .brand-carousel-wrapper .brand-card.swiper-slide-prev {
  z-index: 98
}

.brand-carousel-container .brand-carousel-wrapper .brand-card.swiper-slide-active {
  z-index: 99
}

.brand-carousel-container .brand-carousel-wrapper .brand-card.swiper-slide-active .inner {
  left: -105px;
  right: -105px;
  width: 560px;
  height: 320px
}

.brand-carousel-container .brand-carousel-wrapper .brand-card.swiper-slide-active .inner a img {
  border-width: 2px;
  box-shadow: 0 1.6rem 2rem rgba(58, 0, 0, 0.2)
}

.brand-carousel-container .brand-carousel-wrapper .brand-card.swiper-slide-active .inner a:hover::before,
.brand-carousel-container .brand-carousel-wrapper .brand-card.swiper-slide-active .inner a:active::before {
  background-color: rgba(0, 0, 0, 0.3)
}

.brand-carousel-container .brand-carousel-wrapper .brand-card.swiper-slide-active .inner a:hover::after,
.brand-carousel-container .brand-carousel-wrapper .brand-card.swiper-slide-active .inner a:active::after {
  content: '詳しく見る';
  position: absolute;
  top: calc(50% - 24px);
  left: calc(50% - 120px);
  width: 240px;
  height: 48px;
  text-align: center;
  text-decoration: none;
  font-family: iroha-31nire-stdn, sans-serif;
  font-size: 14px;
  line-height: 46px;
  color: #fff;
  border: 1px solid #fff;
  border-radius: 4px
}

.brand-carousel-navigation {
  position: absolute;
  bottom: 100px;
  left: 0;
  width: 100%
}

.diary-carousel-navigation {
  margin: 0 auto 4rem
}

.diary-carousel-navigation,
.brand-carousel-navigation,
.image-carousel-navigation {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 5rem;
  z-index: 99
}

.diary-carousel-navigation .prev,
.brand-carousel-navigation .prev,
.image-carousel-navigation .prev,
.diary-carousel-navigation .next,
.brand-carousel-navigation .next,
.image-carousel-navigation .next {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: .5rem;
  width: 4rem;
  height: 4rem;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  transition: .3s;
  cursor: pointer
}

.diary-carousel-navigation .prev svg,
.brand-carousel-navigation .prev svg,
.image-carousel-navigation .prev svg,
.diary-carousel-navigation .next svg,
.brand-carousel-navigation .next svg,
.image-carousel-navigation .next svg {
  width: 1.6rem;
  height: 1.6rem;
  fill: #000
}

.diary-carousel-navigation .next,
.brand-carousel-navigation .next,
.image-carousel-navigation .next {
  transform: rotate(180deg)
}

.diary-carousel-navigation .pagination,
.brand-carousel-navigation .pagination,
.image-carousel-navigation .pagination {
  margin: 0 1.6rem;
  width: auto;
  font-size: 18px;
  letter-spacing: .04em
}

main.page section.contents .brand-lineups {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: space-between
}

main.page section.contents .brand-lineups::before {
  content: "";
  order: 999;
  width: calc(33.33333% - 15px)
}

main.page section.contents .brand-lineups .products-block {
  width: calc(33.33333% - 15px);
  height: 459px;
  margin-bottom: 4rem;
  border-radius: 40px;
  background-color: #fff;
  padding: 4rem 2rem 2.9rem;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between
}

main.page section.contents .brand-lineups .products-block .tags {
  position: absolute;
  top: 2.4rem;
  left: 2.4rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start
}

main.page section.contents .brand-lineups .products-block .tags .tag {
  font-size: 1.4rem;
  line-height: 1.4;
  color: #fff;
  border-radius: 30px;
  margin-bottom: .4rem;
  padding: .3rem 1.2rem
}

main.page section.contents .brand-lineups .products-block .tags .tag.new {
  background-color: #c30d23
}

main.page section.contents .brand-lineups .products-block .tags .tag.limited {
  background-color: #b49d51
}

main.page section.contents .brand-lineups .products-block .thumb {
  width: 15.6rem;
  height: 14.8rem;
  margin: 0 auto
}

main.page section.contents .brand-lineups .products-block .thumb img {
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain
}

main.page section.contents .brand-lineups .products-block .detail {
  margin-top: 1.1rem;
  text-align: center
}

main.page section.contents .brand-lineups .products-block .detail .name {
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.8;
  white-space: pre-line
}

main.page section.contents .brand-lineups .products-block .detail .desc {
  margin-top: .8rem;
  font-size: 1.2rem;
  letter-spacing: .04rem
}

main.page section.contents .brand-lineups .products-block .detail .sale-period {
  font-size: 1.4rem;
  color: #b49d51;
  font-weight: bold;
  margin-top: .8rem
}

main.page section.contents .brand-lineups .products-block a {
  margin: 0 auto
}

main.page section.contents .brand-lineups .products-block a.external-link svg {
  width: 1.3rem;
  height: 1.3rem
}

main.page {
  background-color: #f9faf9;
  width: 100%
}

main.page section.contents {
  position: relative;
  display: block;
  margin: 0 auto;
  width: 100%
}

main.page section.contents .contents-inner {
  position: relative;
  margin: 0 auto;
  width: 100%
}

main.page section.contents .contents-inner h2 {
  margin-bottom: 80px;
  text-align: center
}

main.page section.contents .contents-inner h2 span {
  display: block;
  margin-bottom: 12px;
  font-family: iroha-31nire-stdn, sans-serif;
  font-size: 28px
}

main.page section.contents .contents-inner h2 small {
  display: block;
  font-family: brandon-grotesque, sans-serif;
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: .04em;
  color: #c30d23
}

main.page section.contents .contents-inner h3.underline {
  margin-bottom: 4rem;
  text-align: center
}

main.page section.contents .contents-inner h3.underline::after {
  content: '';
  display: block;
  margin: auto;
  width: 12rem;
  height: .4rem;
  background-image: url("../assets/gold-line.svg");
  background-position: bottom 0 center;
  background-size: cover
}

main.page section.contents .contents-inner h3.underline span {
  display: block;
  margin-bottom: 20px;
  font-family: iroha-31nire-stdn, sans-serif;
  font-size: 28px
}

main.page section.contents .contents-inner nav.inner-link ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%
}

main.page section.contents .contents-inner nav.inner-link ul a {
  display: block;
  width: 180px;
  height: 48px;
  text-align: center;
  text-decoration: none;
  font-family: iroha-31nire-stdn, sans-serif;
  font-size: 14px;
  line-height: 47px;
  color: #000;
  border: 1px solid #b49d51;
  border-radius: 9.4rem;
  transition: background-color .2s
}

main.page section.contents a {
  text-decoration: underline
}

main.page section.contents .mod-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  font-family: iroha-31nire-stdn, sans-serif;
  line-height: 1.5;
  color: #000;
  background-color: transparent;
  border: 1px solid;
  border-color: #000;
  border-radius: 4px;
  outline: 0;
  cursor: pointer;
  transition: .2s
}

main.page section.contents .mod-btn.center {
  margin: 0 auto
}

main.page section.contents .mod-btn.arrow svg {
  margin: 0 0 0 8px;
  width: 1.6rem;
  height: 1.6rem;
  fill: #000
}

main.page section.contents .mod-btn.arrow.reverse svg {
  margin: 0 8px 0 0;
  transform: rotate(180deg)
}

main.page section.contents .mod-btn.dot-arrow svg {
  margin-left: 8px;
  width: 2.4rem;
  height: 2.4rem;
  fill: #c30d23
}

main.page section.contents .mod-btn.external-link svg {
  margin: 0 0 0 .95rem;
  width: 1.7rem;
  height: 1.7rem;
  transition: .2s;
  fill: #000
}

main.page section.contents .mod-btn.arrow:active svg,
main.page section.contents .mod-btn.dot-arrow:active svg,
main.page section.contents .mod-btn.external-link:active svg {
  fill: #fff
}

main.page section.contents .mod-btn.gold {
  border-color: #b49d51
}

main.page section.contents .mod-btn.red {
  width: 220px;
  height: 64px;
  font-size: 16px;
  background-color: #c30d23;
  color:white;
  margin:2rem auto 0 auto;
  border-color:#FFF;
}

main.page section.contents .mod-btn.red:hover {
  background: linear-gradient(0, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), #c30d23
}

main.page section.contents .mod-btn.gold {
  border-color: #b49d51
}



main.page section.contents .mod-btn.gray {
  border-color: #d9d9d9
}

main.page section.contents .mod-btn.large {
  width: 480px;
  height: 64px;
  font-size: 16px
}

main.page section.contents .mod-btn.middle {
  width: 320px;
  height: 64px;
  font-size: 16px
}

main.page section.contents .mod-btn.short {
  width: 240px;
  height: 48px;
  font-size: 14px
}

main.page section.contents .mod-btn.mini {
  width: 220px;
  height: 64px;
  font-size: 16px
}

main.site-policy,
main.privacy-policy,
main.faq {
  background-color: #f9faf9
}

main.site-policy .contents-inner,
main.privacy-policy .contents-inner,
main.faq .contents-inner {
  padding: 8rem 0 16rem;
  max-width: 800px
}

main.site-policy .contents-inner h3,
main.privacy-policy .contents-inner h3,
main.faq .contents-inner h3 {
  margin-bottom: .4rem;
  font-size: 18px;
  line-height: 2.6;
  font-weight: bold
}

main.site-policy .contents-inner p,
main.privacy-policy .contents-inner p,
main.faq .contents-inner p {
  margin-bottom: 40px;
  font-size: 14px;
  color: #424242
}

main.site-policy .contents-inner a,
main.privacy-policy .contents-inner a,
main.faq .contents-inner a {
  font-weight: bold
}

main.site-policy ol,
main.privacy-policy ol {
  counter-reset: item;
  margin: -40px 0 40px;
  font-size: 14px;
  color: #424242
}

main.site-policy ol li,
main.privacy-policy ol li {
  padding-left: 2.2rem
}

main.site-policy ol li::before,
main.privacy-policy ol li::before {
  counter-increment: item;
  content: counter(item, lower-alpha) ')';
  display: inline-block;
  width: 2.2rem;
  margin-left: -2.2rem
}

main.faq dl dt {
  margin-bottom: .8rem;
  padding-left: 36px;
  font-size: 15px;
  font-weight: bold;
  line-height: 2.6
}

main.faq dl dt::before {
  content: 'Q';
  display: inline-block;
  margin-left: -36px;
  margin-right: .8rem;
  padding: 0 9px;
  font-size: 14px;
  line-height: 28px;
  color: #b49d51;
  background-color: #f0ede2;
  border-radius: 4px
}

main.faq dl dd {
  margin-bottom: 2rem;
  padding: 0 0 2rem 36px;
  font-size: 14px
}

main.faq dl dd::before {
  content: 'A';
  display: inline-block;
  margin-left: -36px;
  margin-right: .8rem;
  padding: 0 9px;
  font-weight: bold;
  line-height: 28px;
  color: #b49d51;
  background-color: #fff;
  border-radius: 4px
}

main.faq dl dd:not(:last-of-type) {
  border-bottom: 4px solid #fff
}

main.faq dl dd a {
  font-weight: bold;
  transition: .1s
}

main.faq dl dd ul li,
main.faq dl dd ol li {
  margin-left: 2rem
}

main.faq dl dd ul li {
  list-style: disc
}

main.faq dl dd ol li {
  list-style: decimal
}

main section.contents .article-pagination {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  margin-top: 8rem
}

main section.contents .article-pagination li {
  font-weight: normal;
  font-size: 1.8rem;
  line-height: 1.4;
  letter-spacing: .04em;
  margin: 0 1.2rem;
  width: 4rem;
  height: 4rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  transition: .3s;
  display: flex;
  justify-content: center;
  align-items: center
}

main section.contents .article-pagination li.current-page {
  background-color: #b49d51;
  color: #fff
}

main section.contents .article-pagination li.prev-btn svg,
main section.contents .article-pagination li.next-btn svg {
  width: 1.6rem;
  height: 1.6rem;
  fill: #000;
  vertical-align: top
}

main section.contents .article-pagination li.next-btn a svg {
  transform: rotate(180deg)
}

main section.contents .article-pagination li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  border-radius: 50%
}

main.err404 section.contents,
main.err500 section.contents {
  padding: 80px 0 160px;
  text-align: center
}

main.err404 section.contents .lead,
main.err500 section.contents .lead {
  margin-bottom: 80px;
  font-size: 16px;
  line-height: 2.6
}

main.page section.contents .contents-inner .time-table {
  background-color: #fff;
  border: 2px solid #f0ede2;
  border-radius: 12px;
  padding: 3rem;
  max-width: 540px;
  position: relative;
  z-index: 1
}

main.page section.contents .contents-inner .time-table dt {
  float: left;
  clear: both;
  line-height: 2.2;
  font-size: 1.8rem;
  font-family: brandon-grotesque, sans-serif;
  color: #b49d51;
  display: block;
  text-align: center;
  width: 5rem
}

main.page section.contents .contents-inner .time-table dd {
  padding-left: 7rem;
  margin-bottom: .3rem
}

main.page section.contents .contents-inner .time-table dd:last-child {
  margin-bottom: 0
}

main.page section.contents .contents-inner .time-table dd:last-child p::before {
  content: unset
}

main.page section.contents .contents-inner .time-table dd h3 {
  font-size: 1.6rem;
  line-height: 2.6;
  font-weight: bold
}

main.page section.contents .contents-inner .time-table dd p {
  font-size: 1.4rem;
  line-height: 2;
  margin-top: 0;
  color: #424242;
  position: relative
}

main.page section.contents .contents-inner .time-table dd p::before {
  content: "";
  position: absolute;
  top: -.4rem;
  left: -4.7rem;
  border-left: 3px solid #f0ede2;
  display: block;
  width: 3px;
  height: 120%
}

main.home section.contents {
  padding: 0
}

main.home section.contents .contents-inner>h2 span {
  font-family: brandon-grotesque, sans-serif;
  font-size: 24px;
  letter-spacing: .04em;
  color: #c30d23
}

main.home section.contents .contents-inner>h3 {
  margin: 0 auto;
  text-align: center;
  font-family: iroha-31nire-stdn, sans-serif
}

main.home section.contents .contents-inner>h3 span {
  font-size: 28px
}

main.home section.contents .contents-inner>h3 small {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 24px;
  font-size: 20px
}

main.home section.contents .contents-inner>h3 small::before,
main.home section.contents .contents-inner>h3 small::after {
  content: '';
  display: block;
  width: 2px;
  height: 5rem;
  background-color: #000;
  opacity: .5
}

main.home section.contents .contents-inner>h3 small::before {
  margin-right: 2.5rem;
  transform: rotate(-25deg)
}

main.home section.contents .contents-inner>h3 small::after {
  margin-left: 2.5rem;
  transform: rotate(25deg)
}

main.home section.contents .contents-inner .text p {
  font-size: 16px;
  line-height: 2.6
}

main.home section.contents.hero {
  width: 100%;
  max-width: 100%;
  height: 720px;
  z-index: 10
}

main.home section.contents.hero .contents-inner {
  margin-left: 40px;
  width: calc(100% - 40px);
  height: 100%;
  background-image: url("../assets/home/hero.jpg");
  background-size: cover;
  background-position: center;
  border-radius: 30px 0 0 30px;
  overflow: hidden
}

main.home section.contents.hero .copy {
  margin: 0 auto;
  max-width: 1440px;
  padding: 40px
}

main.home section.contents.hero .copy-inner {
  margin-bottom: 12px
}

main.home section.contents.hero .copy-inner p {
  display: inline-block;
  padding: 4px 45px 4px 16px;
  font-family: iroha-31nire-stdn, sans-serif;
  font-size: 18px;
  letter-spacing: .64em;
  background-color: #fff;
  border-radius: 4px
}

main.home section.contents.slogan .contents-inner {
  padding: 180px 0 280px;
  margin: 0 auto;
  max-width: 960px
}

main.home section.contents.slogan .contents-inner .copy picture {
  display: block
}

main.home section.contents.itookashi {
  width: 100%;
  max-width: 100%
}

main.home section.contents.itookashi .view {
  width: calc(100% - 40px);
  height: 520px;
  background-image: url("../assets/home/itookashi-pc.jpg");
  background-size: cover;
  background-position: center;
  border-radius: 0 30px 30px 0
}

main.home section.contents.itookashi .contents-inner {
  margin: 0 auto;
  max-width: 960px
}

main.home section.contents.itookashi .copy {
  position: absolute;
  top: -195px;
  left: calc(50% - 480px)
}

main.home section.contents.itookashi .copy-inner {
  margin-bottom: 5px
}

main.home section.contents.itookashi .copy-inner p {
  display: inline-block;
  padding: 1.5px 20px;
  font-family: iroha-31nire-stdn, sans-serif;
  font-size: 36px;
  letter-spacing: .12em;
  background-color: #fff
}

main.home section.contents.itookashi .text p {
  margin-bottom: 4rem;
  font-size: 1.6rem
}

main.home section.contents.itookashi .text p span {
  display: block;
  margin-top: 2.8rem;
  font-size: 1.4rem;
  color: #424242
}

main.home section.contents.service {
  padding-top: 160px
}

main.home section.contents.service .contents-inner {
  margin: 0 auto;
  max-width: 960px
}

main.home section.contents.service .contents-inner ul.service-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 40px 0 0 200px;
  max-width: 680px
}

main.home section.contents.service .contents-inner ul.service-list li.service-card {
  position: relative;
  padding-top: 0;
  width: 30rem;
  z-index: 10
}

main.home section.contents.service .contents-inner ul.service-list li.service-card a {
  display: block;
  text-decoration: none;
  color: #000
}

main.home section.contents.service .contents-inner ul.service-list li.service-card .wrapper {
  border: 1px solid #b49d51;
  border-radius: 4px;
  background-color: #fff;
  transition: .2s;
  overflow: hidden
}

main.home section.contents.service .contents-inner ul.service-list li.service-card .wrapper .title {
  padding: 14px 0;
  text-align: center;
  font-family: iroha-31nire-stdn, sans-serif;
  font-size: 28px;
  line-height: 1.5
}

main.home section.contents.products {
  padding-top: 380px
}

main.home section.contents.products .contents-inner {
  margin: 0 auto
}

main.home section.contents.information {
  padding: 160px 0
}

main.home section.contents.information .contents-inner {
  margin: 0 auto;
  max-width: 800px
}

main.home section.contents.information .contents-inner .news-list {
  margin-bottom: 4rem
}

main.about section.contents.common-hero,
main.itookashi section.contents.common-hero {
  width: 100%;
  max-width: 100%;
  height: 24rem
}

main.about section.contents.common-hero .contents-inner,
main.itookashi section.contents.common-hero .contents-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 40px;
  width: calc(100% - 40px);
  height: 100%;
  background-image: url("../assets/about/common-hero-pc.jpg");
  background-size: cover;
  background-position: center;
  border-radius: 30px 0 0 30px;
  overflow: hidden
}

main.about section.contents.common-hero .contents-inner h2,
main.itookashi section.contents.common-hero .contents-inner h2 {
  margin: 0
}

main.about section.contents.about,
main.itookashi section.contents.about {
  padding-top: 8rem
}

main.about section.contents.about .contents-inner>.copy,
main.itookashi section.contents.about .contents-inner>.copy {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 8rem
}

main.about section.contents.about .contents-inner>.copy span,
main.itookashi section.contents.about .contents-inner>.copy span {
  font-family: iroha-31nire-stdn, sans-serif;
  font-size: 2.8rem
}

main.about section.contents.about .contents-inner>.copy:before,
main.itookashi section.contents.about .contents-inner>.copy:before {
  content: '';
  display: block;
  margin-right: 40px;
  width: 120px;
  height: 4px;
  background-image: url("../assets/gold-line.svg");
  background-size: cover
}

main.about section.contents.about {
  padding-bottom: 12rem
}

main.about .about-container-wrapper {
  margin: 0 auto;
  width: 100%
}

main.about .about-container {
  position: relative;
  margin: 0 auto
}

main.about .about-container-inner>.copy {
  font-family: iroha-31nire-stdn, sans-serif;
  font-size: 2.8rem;
  color: #c30d23
}

main.about .about-container-inner p {
  margin: 3.5rem 0 4rem;
  font-size: 1.6rem;
  line-height: 2.6
}

main.about .about-container-inner p::before {
  content: url("../assets/red-line.svg");
  display: block;
  margin-bottom: 3.5rem
}

main.about .about-container.container1 {
  background-image: url("../assets/about/about-about1-1.png"), url("../assets/about/about-about1-2.png")
}

main.about .about-container.container1::after {
  content: '';
  display: block;
  width: 10rem;
  height: 7.5rem;
  background-image: url("../assets/ashiato1.svg");
  background-size: contain
}

main.about .about-container.container2 {
  background-image: url("../assets/about/about-about2.png")
}

main.about .about-container.container2::after {
  content: '';
  display: block;
  width: 12.4rem;
  height: 15.4rem;
  background-image: url("../assets/ashiato2.svg");
  background-size: contain;
  background-repeat: no-repeat
}

main.about .about-container.container3 {
  background-image: url("../assets/about/about-about3.png")
}

main.about .about-container.container4 {
  background-image: url("../assets/about/about-about4.png")
}

main.about .about-container.container4::before {
  content: url("../assets/ashiato1.svg");
  display: block
}

main.itookashi .itookashi-container {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 0 auto
}

main.itookashi .itookashi-container-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  background-color: #fff
}

main.itookashi .itookashi-container-item h3 {
  margin-left: 60px
}

main.itookashi .itookashi-container-item h3 small {
  font-family: brandon-grotesque, sans-serif;
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: .04em;
  color: #b49d51
}

main.itookashi .itookashi-container-item h3 span {
  display: block;
  font-family: iroha-31nire-stdn, sans-serif;
  font-size: 28px
}

main.itookashi .itookashi-container-item p {
  margin: 0 60px
}

main.itookashi section.contents.about .itookashi-container::before,
main.itookashi section.contents.about .itookashi-container::after {
  content: '';
  position: absolute;
  width: 10rem;
  height: 7.5rem;
  background-image: url("../assets/ashiato1.svg");
  background-size: contain
}

main.itookashi section.contents.about .itookashi-container-item h3 {
  margin-bottom: .8rem
}

main.itookashi section.contents.about .itookashi-container-item p {
  font-size: 16px;
  line-height: 2.6
}

main.itookashi section.contents.about .itookashi-container-item p span {
  display: block;
  margin-top: 2.5rem;
  font-size: 14px;
  line-height: 2;
  color: #424242
}

main.itookashi section.contents.brands {
  padding-bottom: 160px
}

main.itookashi section.contents.brands .contents-inner h2 {
  margin-bottom: 0
}

main.itookashi section.contents.factory {
  padding: 120px 0
}

main.itookashi section.contents.factory .contents-inner .itookashi-container-item h3 {
  margin-bottom: 24px
}

main.itookashi section.contents.factory .contents-inner .itookashi-container-item p {
  margin-bottom: 24px;
  font-size: 14px
}

main.itookashi section.contents.factory .contents-inner .itookashi-container-item a.mod-btn {
  margin: 0 60px
}

main.news {
  background-color: #f9faf9
}

main.news section.contents {
  padding: 8rem 0 12rem
}

main.news section.contents .contents-inner.news-contents {
  max-width: 800px
}

main.news section.contents .contents-inner.news-contents h2 {
  margin-bottom: 8rem
}

main.news section.contents .contents-inner.news-contents>.tags {
  background-color: #fff;
  border-radius: 4px;
  padding: 2rem 1rem .8rem;
  text-align: center
}

main.news section.contents .contents-inner.news-contents>.tags a.current-tag {
  color: #fff;
  background-color: #b49d51;
  border: 2px solid #b49d51
}

main.news section.contents .contents-inner.news-contents>.tags+.news-list {
  margin-top: 8rem
}

main.news-detail {
  background-color: #f9faf9
}

main.news-detail section.contents {
  padding: 8rem 0 12rem
}

main.news-detail section.contents .contents-inner {
  max-width: 800px
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-header {
  padding-bottom: 4rem;
  border-bottom: 4px solid #fff;
  margin-bottom: 4rem
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-header .news-detail-header-info {
  display: flex;
  align-items: center
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-header .news-detail-header-info .date {
  margin-bottom: 1.2rem;
  width: 50%;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: .04em;
  color: #c30d23
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-header .news-detail-header-info .tags {
  width: 50%;
  text-align: right
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-header h2 {
  font-weight: normal;
  font-size: 3.6rem;
  /*font-family:iroha-31nire-stdn,sans-serif;*/
  letter-spacing: .012em;
  margin-bottom: 0;
  text-align: left
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body {
  padding-bottom: 4rem;
  border-bottom: 4px solid #fff;
  margin-bottom: 8rem
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body h2 {
  font-weight: normal;
  font-size: 2.8rem;
  font-family: iroha-31nire-stdn, sans-serif;
  letter-spacing: .08em;
  margin-bottom: 0;
  text-align: left
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body h2+p {
  margin-top: 4rem
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body h3 {
  font-weight: normal;
  font-size: 2rem;
  font-family: iroha-31nire-stdn, sans-serif;
  margin-top: 8rem;
  letter-spacing: .08em
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body h3+h5 {
  margin-top: 2rem
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body h4 {
  font-weight: normal;
  font-size: 1.8rem;
  /*font-family:iroha-31nire-stdn,sans-serif;*/
  margin-top: 8rem
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body p {
  margin-top: 2rem;
  font-size: 1.4rem
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body p br {
  display: none
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body p a {
  font-weight: bold;
  transition: .1s
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body img {
  display: block;
  margin: 2rem auto 0;
  width: 100%;
  height: 350px;
  -o-object-fit: contain;
  object-fit: contain
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body ul {
  margin-top: 2rem
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body ul li {
  list-style: disc;
  list-style-position: inside
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body ul li ul {
  margin-top: 0;
  padding-left: 2.1rem
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body ol {
  margin-top: 1rem
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body ol li {
  list-style: decimal;
  list-style-position: inside
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body ol li ol {
  margin-top: 0;
  padding-left: 1.4rem
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body li {
  font-size: 1.4rem
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body iframe {
  display: block;
  margin: 4rem auto 0;
  max-width: 100%
}

main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body iframe.embedly-embed {
  height: 350px
}

main.factory section.contents .contents-header {
  margin: 0 auto;
  width: 100%
}

main.factory section.contents .contents-header::after {
  content: url("../assets/ashiato1.svg");
  display: block;
  margin: 40px
}

main.factory section.contents .contents-header h3 {
  padding: 32px 40px;
  width: 100%;
  height: 300px;
  color: #fff;
  background-size: cover
}

main.factory section.contents .contents-header h3 span {
  display: block;
  font-family: brandon-grotesque, sans-serif;
  font-size: 32px;
  line-height: 1.4;
  letter-spacing: .04em
}

main.factory section.contents .contents-header h3 small {
  font-size: 18px;
  line-height: 2.6
}

main.factory section.contents .contents-inner {
  margin: 0 auto;
  width: 100%;
  max-width: 960px
}

main.factory section.contents .contents-inner .line-list,
main.factory section.contents .contents-inner .line-item {
  width: 100%
}

main.factory section.contents .contents-inner .line-list .image,
main.factory section.contents .contents-inner .line-item .image,
main.factory section.contents .contents-inner .line-list .image-carousel-container,
main.factory section.contents .contents-inner .line-item .image-carousel-container {
  width: 440px;
  height: 250px;
  border: 1px solid #b49d51;
  border-radius: 16px;
  overflow: hidden
}

main.factory section.contents .contents-inner .line-list .image .image-carousel-navigation,
main.factory section.contents .contents-inner .line-item .image .image-carousel-navigation,
main.factory section.contents .contents-inner .line-list .image-carousel-container .image-carousel-navigation,
main.factory section.contents .contents-inner .line-item .image-carousel-container .image-carousel-navigation {
  position: absolute;
  top: calc(50% - 20px);
  left: 0;
  justify-content: space-between;
  padding: 0 16px;
  width: 100%
}

main.factory section.contents .contents-inner .line-list .title,
main.factory section.contents .contents-inner .line-item .title {
  font-family: iroha-31nire-stdn, sans-serif;
  font-size: 28px;
  color: #c30d23
}

main.factory section.contents .contents-inner .line-list p,
main.factory section.contents .contents-inner .line-item p {
  font-size: 14px
}

main.factory section.contents .contents-inner .line-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 120px
}

main.factory section.contents .contents-inner .line-list .image,
main.factory section.contents .contents-inner .line-list .image-carousel-container {
  margin-bottom: 20px
}

main.factory section.contents .contents-inner .line-item {
  display: flex;
  margin-bottom: 160px
}

main.factory section.contents.header {
  margin-bottom: 120px;
  padding-top: 80px
}

main.factory section.contents.chocolate .contents-header h3 {
  background-image: url("../assets/factory/product-chocolate.jpg")
}

main.factory section.contents.caramel .contents-header h3 {
  background-image: url("../assets/factory/product-caramel.jpg")
}

main.factory section.contents.jelly .contents-header h3 {
  background-image: url("../assets/factory/product-jelly.jpg")
}

main.factory section.contents.candy .contents-header h3 {
  background-image: url("../assets/factory/product-candy.jpg")
}

main.factory section.contents.cookie .contents-header h3 {
  background-image: url("../assets/factory/product-cookie.jpg")
}

main.factory section.contents.factory {
  margin-bottom: 120px
}

main.factory section.contents.factory .factory-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 80px
}

main.factory section.contents.factory .factory-wrapper .detail {
  width: 460px
}

main.factory section.contents.factory .factory-wrapper .detail p {
  font-size: 16px;
  line-height: 2.6
}

main.factory section.contents.factory .factory-wrapper .detail ul {
  margin: 2rem 0
}

main.factory section.contents.factory .factory-wrapper .detail ul li {
  margin-bottom: .2rem;
  padding-left: 2.8rem;
  font-size: 14px
}

main.factory section.contents.factory .factory-wrapper .detail ul li::before {
  content: '';
  display: inline-block;
  margin: 0 .9rem 0 -1.9rem;
  width: 1rem;
  height: 1rem;
  border: 2px solid #b49d51;
  border-radius: 50%
}

main.factory section.contents.factory .factory-wrapper .detail address {
  padding: 20px;
  font-size: 14px;
  border: 4px solid #fff
}

main.factory section.contents.factory .factory-wrapper .detail address small {
  font-size: 1.2rem;
  letter-spacing: .02em;
  color: #707070
}

main.factory section.contents.factory .factory-wrapper .detail address hr {
  margin: 20px 0;
  border: 2px solid #fff
}

main.factory section.contents.factory .factory-wrapper .image {
  width: 460px;
  height: 260px;
  border-radius: 8px;
  overflow: hidden
}

main.factory section.contents.guidelines {
  margin: 0 auto 160px;
  width: 800px
}

main.factory section.contents.guidelines h4 {
  margin-bottom: 30px;
  text-align: center;
  font-family: iroha-31nire-stdn, sans-serif;
  font-size: 20px
}

main.factory section.contents.guidelines p {
  margin-bottom: 30px;
  font-size: 14px
}

main.factory section.contents.guidelines p span {
  font-weight: bold
}

main.factory section.contents.guidelines p+h3 {
  margin-top: 120px
}

main.factory section.contents.guidelines h3+p {
  font-size: 16px;
  line-height: 2.6
}

main.diary section.contents {
  padding: 8rem 0 12rem
}

main.diary section.contents .contents-inner {
  max-width: 960px
}

main.diary section.contents .contents-inner .diary-list-contents-wrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-left: 0
}

main.diary section.contents .contents-inner .diary-list-contents-wrapper .diary-article:not(:first-child) {
  margin-top: 4rem
}

main.diary section.contents .contents-inner .diary-list-contents-wrapper .diary-article .inner .detail .date {
  margin-top: 2rem;
  font-size: 1.4rem;
  color: #b49d51
}

main.bland-introduction {
  padding: 0 0 15.8rem
}

main.bland-introduction.brand-list {
  padding: 8rem 0 12rem
}

main.bland-introduction section.contents.brand-mv .contents-inner {
  background-image: url("../assets/brand-list/brand-list-bg.jpg");
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  height: 400px;
  position: relative
}

main.bland-introduction section.contents.brand-mv .contents-inner .brand-mv-panel {
  max-width: 960px;
  height: 520px;
  width: 100%;
  margin: auto;
  position: absolute;
  top: 8rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  box-shadow: 0 16px 24px rgba(58, 0, 0, 0.2)
}

main.bland-introduction section.contents.brand-mv .contents-inner .brand-mv-panel img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

main.bland-introduction section.contents.about {
  padding: 28rem 0 4rem
}

main.bland-introduction section.contents.about .contents-inner h2 {
  margin-bottom: .8rem
}

main.bland-introduction section.contents.about .contents-inner .concept-text {
  font-size: 1.6rem;
  line-height: 2.6;
  width: 480px;
  margin: 0 auto
}

main.bland-introduction section.contents.about .contents-inner .concept-text::before {
  content: url("../assets/red-line.svg");
  display: flex;
  margin-bottom: 2rem;
  justify-content: center;
  align-items: center;
  height: 7px
}

main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper {
  max-width: 960px;
  margin: 0 auto
}

main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner {
  margin: 8rem 0;
  display: flex;
  flex-direction: row;
  justify-content: space-between
}

main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner:nth-child(even) {
  flex-direction: row-reverse
}

main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner .img-box,
main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner .point-desc {
  width: 440px;
  height: 440px;
  border-radius: 40px
}

main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner .img-box {
  border-radius: 40px;
  overflow: hidden
}

main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner .img-box img {
  height: 100%
}

main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner .point-desc {
  background-color: #fff;
  padding: 6rem
}

main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner .point-desc .num {
  color: #c30d23;
  font-size: 1.8rem;
  letter-spacing: .04rem;
  font-family: brandon-grotesque, sans-serif
}

main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner .point-desc .title {
  font-size: 2rem;
  margin: 2rem 0;
  font-family: iroha-31nire-stdn, sans-serif
}

main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner .point-desc .desc {
  font-size: 1.4rem
}

main.bland-introduction section.contents.diary {
  padding-top: 8rem;
  padding-bottom: 4rem;
  min-height: 720px;
  height: 100%;
  background-image: url("../assets/report-bg.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden
}

main.bland-introduction section.contents.diary .contents-inner h2 {
  margin-bottom: 3.8rem
}

main.bland-introduction section.contents.diary .contents-inner h2 span,
main.bland-introduction section.contents.diary .contents-inner h2 small {
  color: #b49d51
}

main.bland-introduction section.contents.diary .diary-article {
  box-shadow: 0 16px 24px rgba(58, 0, 0, 0.2)
}

main.bland-introduction section.contents.diary .diary-article .inner .detail .title {
  margin-top: 2rem
}

main.bland-introduction section.contents.products {
  padding: 12rem 0 0
}

main.bland-introduction section.contents.products .contents-inner {
  max-width: 960px
}

main.bland-introduction section.contents.recipe {
  max-width: 960px;
  margin: 8rem auto 0
}

main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block {
  margin-bottom: 2rem
}

main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper {
  display: flex;
  background-color: #fff;
  border-radius: 12px;
  padding: 2rem
}

main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .thumb {
  width: 380px;
  height: 320px;
  margin-right: 4rem
}

main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .thumb img {
  height: 100%
}

main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail {
  margin-top: 2rem;
  width: 500px
}

main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail .name {
  font-size: 2rem;
  margin-bottom: 2rem;
  font-family: iroha-31nire-stdn, sans-serif
}

main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail .desc {
  display: flex;
  position: relative
}

main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail .desc::before {
  content: url("../assets/gray-line.svg");
  display: block;
  text-align: center;
  position: absolute;
  left: 50%;
  transform: translateX(-50%)
}

main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail .desc .material,
main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail .desc .recipe {
  width: 50%;
  font-size: 1.2rem;
  letter-spacing: .04rem;
  height: 190px;
  overflow: auto
}

main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail .desc .material .label,
main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail .desc .recipe .label {
  position: sticky;
  background: #fff;
  top: 0;
  font-weight: bold
}

main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail .desc .material {
  margin-right: 2rem;
  position: relative
}

main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail .desc .recipe {
  margin-left: 2rem;
  font-weight: bold
}

main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail .desc .recipe ol {
  margin-left: 1.5rem
}

main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail .desc .recipe ol li {
  padding: 0 1rem 0 .5rem;
  list-style: decimal
}

main.bland-introduction .banner {
  display: block;
  margin: 12rem auto 0;
  max-width: 96rem;
  position: relative
}

main.bland-introduction section.contents.header {
  margin-bottom: 80px
}

main.bland-introduction section.contents.brand-list .contents-inner,
main.bland-introduction section.contents.lineup .contents-inner {
  max-width: 960px;
  width: 100%;
  margin: auto
}

main.bland-introduction section.contents.brand-list .contents-inner h2:after,
main.bland-introduction section.contents.lineup .contents-inner h2:after {
  content: '';
  display: block;
  width: 120px;
  height: 4px;
  background-image: url("../assets/gold-line.svg");
  background-size: cover;
  margin: auto
}

main.bland-introduction section.contents.brand-list .contents-inner h2 span,
main.bland-introduction section.contents.lineup .contents-inner h2 span {
  margin-bottom: 2rem
}

main.bland-introduction section.contents.brand-list .contents-inner .brand-card-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 12rem
}

main.bland-introduction section.contents.brand-list .contents-inner .brand-card-wrapper .brand-card {
  width: 465px;
  border: 1px solid #b49d51;
  border-radius: 8px;
  background-color: #f9faf9;
  overflow: hidden
}

main.bland-introduction section.contents.brand-list .contents-inner .brand-card-wrapper .brand-card a {
  display: block;
  position: relative;
  height: 100%
}

main.bland-introduction section.contents.brand-list .contents-inner .brand-card-wrapper .brand-card a .band-thumb {
  width: 100%;
  max-width: 463px;
  height: 263.71px;
  display: block;
  margin: 0 auto
}

main.bland-introduction section.contents.brand-list .contents-inner .brand-card-wrapper .brand-card a .band-thumb img {
  height: 100%
}

main.bland-introduction section.contents.lineup .brand-lineups {
  padding: 1.5rem
}

main.bland-introduction .breadcrumb {
  margin-top: 14rem
}

main.company section.contents dl,
main.history section.contents dl {
  margin: 80px auto;
  max-width: 800px;
  font-size: 16px;
  line-height: 2.6
}

main.company section.contents dl dt,
main.history section.contents dl dt {
  padding: 16px 0;
  float: left;
  clear: both;
  font-weight: bold
}

main.company section.contents dl dd,
main.history section.contents dl dd {
  padding: 16px 0 16px 170px;
  border-bottom: 4px solid #fff
}

main.company section.contents dl dd:first-of-type,
main.history section.contents dl dd:first-of-type {
  border-top: 4px solid #fff
}

main.company section.contents dl address,
main.history section.contents dl address {
  padding: .5rem 0;
  line-height: 2
}

main.company section.contents dl address span,
main.history section.contents dl address span {
  display: block
}

main.company section.contents dl address small,
main.history section.contents dl address small {
  display: block;
  font-size: 14px
}

main.company section.contents dl address small:not(:last-of-type),
main.history section.contents dl address small:not(:last-of-type) {
  margin-bottom: 1.6rem
}

main.company section.contents {
  margin-bottom: 120px
}

main.company section.contents .contents-inner h4 {
  font-family: iroha-31nire-stdn, sans-serif;
  font-size: 20px
}

main.company section.contents .contents-inner .lead {
  font-family: iroha-31nire-stdn, sans-serif;
  font-size: 2rem
}

main.company section.contents.header {
  margin-bottom: 8rem
}

main.company section.contents.header .hero-image {
  margin: 80px auto;
  width: 100%
}

main.company section.contents.header .hero-image img {
  height: 100%
}

main.company section.contents.message .wrapper {
  position: relative
}

main.company section.contents.message .wrapper .text {
  font-size: 16px;
  line-height: 2.6
}

main.company section.contents.message .wrapper .text p:not(:last-of-type) {
  margin-bottom: 4rem
}

main.company section.contents.message .wrapper .profile .thumb {
  margin-bottom: 40px;
  width: 12rem
}

main.company section.contents.message .wrapper .profile .sign {
  width: 18rem
}

main.company section.contents.history .wrapper .image {
  overflow: hidden
}

main.company section.contents.history .wrapper .text .lead {
  margin-bottom: 2rem
}

main.company section.contents.history .wrapper .text p {
  font-size: 14px
}

main.company section.contents.guidelines {
  margin-bottom: 140px
}

main.company section.contents.guidelines h4 {
  margin: 80px auto 0;
  text-align: center
}

main.company section.contents.guidelines ol {
  counter-reset: item;
  display: flex;
  flex-wrap: wrap;
  justify-content: center
}

main.company section.contents.guidelines ol li {
  position: relative;
  margin: 65px 10px 0;
  padding: 40px 30px;
  font-size: 14px;
  background-color: #fff;
  border-radius: 8px
}

main.company section.contents.guidelines ol li::before {
  counter-increment: item;
  content: counter(item);
  position: absolute;
  top: -25px;
  left: calc(50% - 25px);
  display: block;
  width: 50px;
  height: 50px;
  text-align: center;
  font-family: brandon-grotesque, sans-serif;
  font-size: 24px;
  font-weight: bold;
  line-height: 50px;
  color: #fff;
  background-color: #b49d51;
  border: 1px solid #f9faf9;
  border-radius: 4px
}

main.company section.contents.guidelines p {
  max-width: 800px;
  margin: 30px auto 0;
  font-size: 14px
}

main.company section.contents.guidelines p span {
  font-weight: bold
}

main.history section.contents.chapter {
  margin-bottom: 120px;
  padding-top: 80px
}

main.history section.contents.chapter .chapter-wrapper {
  position: relative;
  flex-wrap: wrap;
  display: flex;
  align-items: center;
  margin: 0 auto 80px;
  max-width: 960px;
  background-image: url("../assets/report-bg.png")
}

main.history section.contents.chapter .chapter-wrapper:not(:last-of-type)::after {
  content: '';
  position: absolute;
  display: block;
  width: 10rem;
  height: 7.5rem;
  background-image: url("../assets/ashiato1-gold.svg");
  background-size: contain
}

main.history section.contents.chapter .chapter-wrapper:nth-of-type(odd)::after {
  right: 40px
}

main.history section.contents.chapter .chapter-wrapper:nth-of-type(even)::after {
  left: 335px;
  transform: scale(-1, 1)
}

main.history section.contents.chapter .chapter-wrapper .detail {
  padding: 0 60px
}

main.history section.contents.chapter .chapter-wrapper .detail h3 {
  margin-bottom: 20px;
  font-family: iroha-31nire-stdn, sans-serif;
  font-size: 20px
}

main.history section.contents.chapter .chapter-wrapper .detail .period {
  margin-bottom: 20px;
  font-family: brandon-grotesque, sans-serif;
  font-size: 18px;
  letter-spacing: .04em;
  color: #c30d23
}

main.history section.contents.chapter .chapter-wrapper .detail p {
  font-size: 14px
}

main.history section.contents.chapter .chapter-wrapper .detail a.mod-btn {
  margin-top: 2rem
}

main.history section.contents.history {
  margin-bottom: 200px
}

main.group section.contents.group {
  padding: 80px 0;
  max-width: 960px
}

main.group section.contents.group ul {
  margin: 4rem auto 0;
  border-bottom: 4px solid #fff
}

main.group section.contents.group ul li {
  position: relative;
  padding: 40px 0;
  border-top: 4px solid #fff
}

main.group section.contents.group ul li .detail h3 {
  font-size: 18px;
  font-weight: bold;
  line-height: 2.6
}

main.group section.contents.group ul li .detail p {
  margin-bottom: 20px;
  font-size: 14px
}

main.group section.contents.group ul li .detail address {
  font-size: 12px
}

main.group section.contents.group ul li .detail address span {
  display: block;
  font-size: 14px;
  font-weight: bold
}

main.group section.contents.group ul li .detail address dt {
  float: left;
  clear: both
}

main.group section.contents.group ul li.children {
  padding: 0;
  border-top: none
}

main.group section.contents.group ul li.children .child {
  position: relative;
  padding: 40px 0;
  border-top: 4px solid #fff
}

main.contact .contents.contact {
  padding: 80px 0
}

main.contact .contents.contact .infor {
  margin-bottom: 80px;
  text-align: center;
  font-size: 14px
}

main.contact .contents.contact .infor a {
  font-weight: bold
}

main.contact .contents.contact .form-wrapper {
  margin: 0 auto;
  max-width: 800px
}

main.contact .contents.contact .form-wrapper .contact-form {
  text-align: center
}

main.contact .contents.contact .form-wrapper .contact-form .flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start
}

main.contact .contents.contact .form-wrapper .contact-form fieldset {
  margin-bottom: 40px;
  width: 390px;
  text-align: left
}

main.contact .contents.contact .form-wrapper .contact-form fieldset.full {
  width: 100%
}

main.contact .contents.contact .form-wrapper .contact-form fieldset.authentication {
  display: flex;
  justify-content: center;
  margin-left: auto;
  margin-right: auto
}

main.contact .contents.contact .form-wrapper .contact-form fieldset.agree {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto 4rem;
  width: auto;
  font-size: 16px;
  line-height: 1.8
}

main.contact .contents.contact .form-wrapper .contact-form fieldset.agree a {
  display: inline-block;
  margin-bottom: 2rem;
  font-weight: bold
}

main.contact .contents.contact .form-wrapper .contact-form fieldset.agree label {
  font-weight: normal
}

main.contact .contents.contact .form-wrapper .contact-form fieldset.agree .form-err {
  text-align: center
}

main.contact .contents.contact .form-wrapper .contact-form fieldset.err input,
main.contact .contents.contact .form-wrapper .contact-form fieldset.err select,
main.contact .contents.contact .form-wrapper .contact-form fieldset.err textarea {
  border: 1px solid #ff522d
}

main.contact .contents.contact .form-wrapper .contact-form fieldset label {
  font-size: 16px;
  font-weight: bold
}

main.contact .contents.contact .form-wrapper .contact-form fieldset label span {
  display: inline-block;
  margin-left: 1rem;
  font-size: 14px;
  color: #c30d23
}

main.contact .contents.contact .form-wrapper .contact-form fieldset textarea {
  height: 180px
}

main.contact .contents.contact .form-wrapper .contact-form fieldset .form-err {
  margin-top: .4rem;
  text-align: left;
  font-size: 14px;
  font-weight: bold;
  color: #ff522d
}

main.contact .contents.contact .form-wrapper .contact-form button.mod-btn.large {
  opacity: .5
}

main.contact-thanks .contents.thanks {
  padding: 80px 0 160px;
  text-align: center
}

main.contact-thanks .contents.thanks .lead {
  margin-bottom: 40px;
  font-size: 16px;
  line-height: 2.6
}

main.contact-thanks .contents.thanks .text {
  margin-bottom: 80px;
  font-size: 14px
}

main.contact-thanks .contents.thanks .text a {
  font-weight: bold
}

main.business section.contents.business-header {
  width: 960px;
  margin-bottom: 50px;
  padding-top: 80px
}

main.business section.contents.business-header .contents-inner .hero-image {
  width: 100%;
  height: 480px;
  overflow: hidden
}

main.business section.contents.business-header .contents-inner .hero-image img {
  height: 100%
}

main.business section.contents.business-infor {
  width: 960px;
  margin-bottom: 120px
}

main.business section.contents.business-infor .infor-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

main.business section.contents.business-infor .infor-wrapper .infor-container {
  width: 460px
}

main.business section.contents.business-infor .infor-wrapper .infor-container h3,
main.business section.contents.business-infor .infor-wrapper .infor-container h4 {
  font-size: 16px;
  font-weight: bold;
  line-height: 2.6
}

main.business section.contents.business-infor .infor-wrapper .infor-container h3 {
  color: #c30d23
}

main.business section.contents.business-infor .infor-wrapper .infor-container h4,
main.business section.contents.business-infor .infor-wrapper .infor-container a.mod-btn {
  margin-top: 2rem
}

main.business section.contents.business-infor .infor-wrapper .infor-container .lead {
  font-family: iroha-31nire-stdn, sans-serif;
  font-size: 20px
}

main.business section.contents.business-infor .infor-wrapper .infor-container .text {
  margin-top: 2rem;
  font-size: 14px
}

main.business section.contents.business-infor .infor-wrapper .infor-container a.mod-btn.external-link svg {
  margin: 0 0 0 1.15rem
}

main.business section.contents.business-detail .contents-inner {
  width: 960px
}

main.business section.contents.business-detail .contents-inner .container {
  margin: 60px auto 120px
}

main.business section.contents.business-detail .contents-inner .container h4 {
  margin-bottom: 40px;
  text-align: center;
  font-family: iroha-31nire-stdn, sans-serif;
  font-size: 20px;
  color: #c30d23
}

main.business section.contents.business-detail .contents-inner .container .text {
  margin-bottom: 40px;
  font-size: 14px;
  text-align: center
}

main.business section.contents.business-detail .contents-inner .container .news-list {
  margin: 0 auto 8rem
}

main.business section.contents.business-detail .contents-inner .container .item-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  margin-bottom: 40px;
  width: 960px
}

main.business section.contents.business-detail .contents-inner .container .item-list li {
  padding: 2rem;
  width: 220px;
  background-color: #fff;
  border-radius: 3rem;
  text-align: center
}

main.business section.contents.business-detail .contents-inner .container .item-list li .image {
  margin: 0 auto;
  width: 18rem
}

main.business section.contents.business-detail .contents-inner .container .item-list li .title {
  font-size: 16px;
  font-weight: bold;
  line-height: 2.6
}

main.business section.contents.business-detail .contents-inner .container .item-list li .desc {
  font-size: 1.2rem
}

main.business section.contents.business-detail .contents-inner .container .wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

main.business section.contents.business-detail .contents-inner .container .wrapper.bg {
  padding: 25px;
  align-items: center;
  background-image: url("../assets/business/oem-order-bg-pc.svg"), url("../assets/report-bg.png");
  background-position: center;
  border-radius: 1.6rem
}

main.business section.contents.business-detail .contents-inner .container .wrapper .image {
  width: 420px;
  border-radius: .8rem;
  overflow: hidden
}

main.business section.contents.business-detail .contents-inner .container .wrapper .text {
  width: 500px;
  text-align: left
}

main.business section.contents.business-detail .contents-inner .container .wrapper .text span {
  color: #666
}

main.business section.contents.business-detail .contents-inner .container .wrapper a.mod-btn {
  width: 220px;
  height: 64px;
  font-size: 16px
}

main.business section.contents.business-detail .contents-inner .container .wrapper .step {
  margin: 15px;
  padding: 1rem;
  width: 410px;
  text-align: center;
  font-family: iroha-31nire-stdn, sans-serif;
  font-size: 20px;
  background-color: #fff
}

main.business section.contents.business-detail .contents-inner .container .wrapper .step small {
  display: block;
  font-size: 1.2rem
}

main.business section.contents.business-detail .contents-inner .container .wrapper .note {
  text-align: center;
  font-size: 14px
}

main.business section.contents.business-detail .contents-inner .container .contact {
  margin: 40px auto 0;
  padding: 40px 0 50px;
  width: 800px;
  text-align: center;
  background: #fff;
  border-radius: 24px
}

main.business section.contents.business-detail .contents-inner .container .contact .title {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: bold;
  line-height: 2.6
}

main.business section.contents.business-detail .contents-inner .container .contact a.mod-btn {
  margin-top: 30px
}

main.business section.contents.business-detail .contents-inner .container>.note {
  margin: 40px auto 0;
  width: 720px;
  font-size: 14px
}

main.business section.contents.business-detail .contents-inner .container>.note span {
  font-weight: bold
}

main.business section.contents.service-list {
  margin-top: 160px;
  padding: 80px 0 120px;
  background-color: #f0ede2
}

main.business section.contents.service-list ul.service-list {
  width: 630px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto -30px
}

main.business section.contents.service-list ul.service-list li.service-card {
  margin-bottom: 30px;
  width: 300px
}

main.business section.contents.service-list ul.service-list li.service-card a {
  display: block;
  text-decoration: none;
  color: #000
}

main.business section.contents.service-list ul.service-list li.service-card a .wrapper {
  border: 1px solid #b49d51;
  border-radius: 4px;
  overflow: hidden;
  background-color: #fff;
  transition: .2s
}

main.business section.contents.service-list ul.service-list li.service-card a .wrapper .image {
  position: relative;
  width: 100%;
  height: 160px
}

main.business section.contents.service-list ul.service-list li.service-card a .wrapper .title {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto
}

main.business section.contents.service-list ul.service-list li.service-card a .wrapper .title span {
  display: block;
  text-align: center;
  font-family: iroha-31nire-stdn, sans-serif;
  font-size: 16px;
  line-height: 1.5
}

main.business section.contents.service-list ul.service-list li.service-card.active .wrapper {
  background-color: #b49d51
}

main.business section.contents.service-list ul.service-list li.service-card.active .wrapper .image::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(180, 157, 81, 0.5)
}

main.business section.contents.service-list ul.service-list li.service-card.active .wrapper .title {
  color: #fff
}

main.page.recruit {
  padding: 8rem 0 19.2rem
}

main.page.recruit section.contents h2:not(section.contents.header h2) {
  margin-bottom: 4rem
}

main.page.recruit section.contents h2:not(section.contents.header h2)::after {
  content: '';
  display: block;
  margin: auto;
  width: 12rem;
  height: .4rem;
  background-image: url("../assets/gold-line.svg");
  background-position: bottom 0 center;
  background-size: cover
}

main.page.recruit section.contents h2:not(section.contents.header h2) span {
  margin-bottom: 2rem
}

main.page.recruit section.contents.header {
  max-width: 1120px
}

main.page.recruit section.contents.header .contents-inner {
  overflow: hidden
}

main.page.recruit section.contents.header .contents-inner .hero-image {
  margin: 80px auto;
  width: 100%;
  background-image: url("../assets/recruit/recruit-mv.jpg");
  background-position: center;
  background-size: cover
}

main.page.recruit section.contents.human-resources {
  max-width: 800px;
  margin: 0 auto
}

main.page.recruit section.contents.human-resources .concept-area {
  margin-top: 4rem
}

main.page.recruit section.contents.human-resources .concept-area h3 {
  font-size: 2rem;
  font-family: iroha-31nire-stdn, sans-serif;
  text-align: center
}

main.page.recruit section.contents.human-resources .concept-area p {
  margin: 2rem 0 12rem;
  font-size: 1.6rem;
  line-height: 2.6
}

main.page.recruit section.contents.recruit {
  max-width: 800px;
  margin: 0 auto 12rem
}

main.page.recruit section.contents.recruit dl {
  font-size: 16px;
  line-height: 2.6
}

main.page.recruit section.contents.recruit dl dt {
  padding: 16px 0;
  float: left;
  clear: both;
  font-weight: bold
}

main.page.recruit section.contents.recruit dl dd {
  padding: 16px 0 16px 170px;
  border-bottom: 4px solid #fff
}

main.page.recruit section.contents.recruit dl dd:first-of-type {
  border-top: 4px solid #fff
}

main.page.recruit section.contents.recruit dl dd .time-table {
  width: 420px;
  margin: 1rem 0
}

main.page.recruit section.contents.recruit dl dd .time-table dt {
  padding: 0;
  clear: unset;
  font-weight: 500
}

main.page.recruit section.contents.recruit dl dd .time-table dd {
  padding: 0 0 0 5.4rem;
  border: 0
}

main.page.recruit section.contents.recruit dl dd .time-table dd:last-child p {
  height: 0
}

main.page.recruit section.contents.recruit dl dd .time-table dd p {
  height: 2.5rem
}

main.page.recruit section.contents.recruit dl dd .time-table dd p::before {
  left: -3rem
}

main.page.recruit section.contents.recruit .desc {
  margin-top: 4rem;
  margin-bottom: 2rem;
  font-size: 1.4rem;
  text-align: center
}

main.page.recruit section.contents.recruit a.external-link svg {
  margin: 0 0 0 1.15rem
}

main.page.recruit section.contents.recruit a.external-link:active svg {
  fill: #fff
}

main.page.recruit section.contents.charm {
  max-width: 960px;
  margin: 0 auto
}

main.page.recruit section.contents.charm .charm-wrapper {
  margin-bottom: 12rem
}

main.page.recruit section.contents.charm .charm-wrapper .charm-block {
  display: flex
}

main.page.recruit section.contents.charm .charm-wrapper .charm-block:not(:first-child) {
  margin-top: 8rem
}

main.page.recruit section.contents.charm .charm-wrapper .charm-block.ceo-block {
  border-radius: 12px;
  background-color: #f0ede2;
  padding: 4rem
}

main.page.recruit section.contents.charm .charm-wrapper .charm-block.ceo-block .text-box {
  padding: 0
}

main.page.recruit section.contents.charm .charm-wrapper .charm-block.ceo-block .profile .thumb {
  width: 200px;
  height: 200px;
  margin-top: 40px
}

main.page.recruit section.contents.charm .charm-wrapper .charm-block.ceo-block .profile .thumb img {
  height: 100%;
  border-radius: 8px;
  -o-object-fit: cover;
  object-fit: cover
}

main.page.recruit section.contents.charm .charm-wrapper .charm-block.ceo-block .profile .sign {
  width: 18rem;
  margin-top: 2rem
}

main.page.recruit section.contents.charm .charm-wrapper .charm-block .text-box {
  width: 640px;
  margin-right: 4rem
}

main.page.recruit section.contents.charm .charm-wrapper .charm-block .text-box h4 {
  font-weight: bold;
  font-size: 1.4rem;
  color: #c30d23
}

main.page.recruit section.contents.charm .charm-wrapper .charm-block .text-box h3 {
  font-size: 2rem;
  font-weight: 400;
  font-family: iroha-31nire-stdn, sans-serif
}

main.page.recruit section.contents.charm .charm-wrapper .charm-block .text-box p {
  margin-top: 2rem;
  font-size: 1.4rem
}

main.page.recruit section.contents.charm .charm-wrapper .charm-block .img-box {
  width: 380px;
  margin-top: 5rem
}

main.page.recruit section.contents.charm .charm-wrapper .charm-block .img-box img {
  border-radius: 10px
}

main.page.recruit section.contents.interview {
  max-width: 960px;
  margin: 0 auto
}

main.page.recruit section.contents.interview .interview-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap
}

main.page.recruit section.contents.interview .interview-wrapper .staff-interview {
  background-color: #fff;
  width: 290px;
  border: 1px solid #b49d51;
  border-radius: 4px;
  transition: .2s
}

main.page.recruit section.contents.interview .interview-wrapper .staff-interview:nth-child(3n-1) {
  margin-top: 4rem
}

main.page.recruit section.contents.interview .interview-wrapper .staff-interview a {
  display: block;
  text-decoration: none;
  color: #000
}

main.page.recruit section.contents.interview .interview-wrapper .staff-interview a .staff-face {
  display: block;
  width: 288px;
  height: 159px
}

main.page.recruit section.contents.interview .interview-wrapper .staff-interview a .staff-face img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

main.page.recruit section.contents.interview .interview-wrapper .staff-interview a .staff-info {
  padding: 1.2rem;
  display: block
}

main.page.recruit section.contents.interview .interview-wrapper .staff-interview a .staff-info .staff-info-header {
  display: flex;
  align-items: center
}

main.page.recruit section.contents.interview .interview-wrapper .staff-interview a .staff-info .staff-info-header .department,
main.page.recruit section.contents.interview .interview-wrapper .staff-interview a .staff-info .staff-info-header .joining-day {
  display: block;
  color: #b49d51;
  font-weight: bold;
  font-size: 1.2rem;
  letter-spacing: .04em;
  text-align: center
}

main.page.recruit section.contents.interview .interview-wrapper .staff-interview a .staff-info .staff-info-header .department {
  margin-right: 1rem;
  background-color: #f0ede2;
  padding: .2rem 1rem
}

main.page.recruit section.contents.interview .interview-wrapper .staff-interview a .staff-info h3 {
  font-size: 1.6rem;
  font-family: iroha-31nire-stdn, sans-serif;
  margin: 1rem 0;
  line-height: 1.5;
  letter-spacing: .08em
}

main.page.recruit section.contents.interview .interview-wrapper .staff-interview a .staff-info p {
  font-size: 1.4rem;
  text-align: right;
  color: #424242
}

main.page.interview {
  padding-top: 8rem
}

main.page.interview section.contents.interview .contents-inner {
  padding-bottom: 12rem;
  overflow: hidden
}

main.page.interview section.contents.interview .contents-inner .staff-info {
  max-width: 960px;
  margin: 0 auto 7.8rem;
  position: relative
}

main.page.interview section.contents.interview .contents-inner .staff-info .recruit-bg-pc {
  position: absolute;
  top: 400px;
  left: -25rem;
  display: block
}

main.page.interview section.contents.interview .contents-inner .staff-info .recruit-bg-sp {
  display: none
}

main.page.interview section.contents.interview .contents-inner .staff-info .staff-info-inner {
  position: absolute;
  z-index: 1;
  top: 78px;
  display: flex;
  flex-direction: column;
  align-items: flex-start
}

main.page.interview section.contents.interview .contents-inner .staff-info .staff-info-inner h4 {
  color: #c30d23;
  font-size: 2rem;
  font-family: iroha-31nire-stdn, sans-serif;
  padding: 0 1.6rem;
  background-color: #fff;
  border-radius: 4px
}

main.page.interview section.contents.interview .contents-inner .staff-info .staff-info-inner h3 {
  margin-top: 1rem;
  font-size: 3.6rem;
  font-family: iroha-31nire-stdn, sans-serif;
  background-color: #fff;
  text-align: center;
  padding: 0 3rem;
  border-radius: 4px;
  letter-spacing: .12em
}

main.page.interview section.contents.interview .contents-inner .staff-info .staff-info-inner h3 span {
  font-size: 2.8rem;
  letter-spacing: .08rem
}

main.page.interview section.contents.interview .contents-inner .staff-info .staff-info-inner p {
  margin-top: 3.6rem;
  width: 340px;
  line-height: 2.6;
  font-size: 1.6rem;
  letter-spacing: .08em;
  font-weight: bold
}

main.page.interview section.contents.interview .contents-inner .staff-info .staff-info-inner p:empty {
  display: none
}

main.page.interview section.contents.interview .contents-inner .staff-info .hero-image {
  margin-left: 280px;
  width: 770px;
  height: 490px;
  position: relative
}

main.page.interview section.contents.interview .contents-inner .staff-info .hero-image img {
  border-radius: 24px;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

main.page.interview section.contents.interview .contents-inner .interview-wrapper {
  max-width: 960px;
  margin: auto
}

main.page.interview section.contents.interview .contents-inner .interview-wrapper .interview-block {
  width: 800px;
  margin-left: auto
}

main.page.interview section.contents.interview .contents-inner .interview-wrapper .interview-block:not(:first-child) {
  margin-top: 8rem
}

main.page.interview section.contents.interview .contents-inner .interview-wrapper .interview-block h3 {
  font-size: 2rem;
  display: flex;
  align-items: center
}

main.page.interview section.contents.interview .contents-inner .interview-wrapper .interview-block h3 span.icon {
  font-size: 1.4rem;
  color: #b49d51;
  margin-right: 1.2rem;
  display: inline-block;
  background-color: #f0ede2;
  padding: 1px 9px;
  border-radius: 4px;
  font-weight: bold
}

main.page.interview section.contents.interview .contents-inner .interview-wrapper .interview-block h3 span.title {
  font-family: iroha-31nire-stdn, sans-serif
}

main.page.interview section.contents.interview .contents-inner .interview-wrapper .interview-block p {
  margin-top: 2rem;
  line-height: 2.6;
  font-size: 1.6rem;
  letter-spacing: .08em
}

main.page.interview section.contents.interview .contents-inner .interview-wrapper .interview-block p:empty {
  display: none
}

main.page.interview section.contents.interview .contents-inner .interview-wrapper .interview-block dl {
  margin-top: 3rem
}

main.page.interview section.contents.interview .contents-inner .interview-wrapper .interview-block dl dd h3 {
  font-size: 1.6rem
}

main.page.interview section.contents.interview .contents-inner .interview-wrapper .interview-block dl dd p {
  margin-top: 0;
  font-size: 1.4rem
}

main.page.workshop {
  padding: 8rem 0 18.4rem
}

main.page.workshop section.contents h2:not(section.contents.header h2):not(section.contents.diary h2) {
  margin-bottom: 4rem
}

main.page.workshop section.contents h2:not(section.contents.header h2):not(section.contents.diary h2):after {
  content: '';
  display: block;
  width: 120px;
  height: 4px;
  background-image: url("../assets/gold-line.svg");
  background-size: cover;
  margin: auto
}

main.page.workshop section.contents.diary {
  padding-top: 8rem;
  padding-bottom: 12.1rem;
  min-height: 720px;
  height: 100%;
  background-image: url("../assets/report-bg.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  margin-bottom: 12rem
}

main.page.workshop section.contents.diary .contents-inner h2 {
  margin-bottom: 4rem
}

main.page.workshop section.contents.diary .contents-inner h2 span,
main.page.workshop section.contents.diary .contents-inner h2 small {
  color: #b49d51
}

main.page.workshop section.contents.diary .report-wrapper .diary-article {
  margin: 0 auto;
  box-shadow: 0 16px 24px rgba(58, 0, 0, 0.2)
}

main.page.workshop section.contents.diary .report-wrapper .diary-article .inner .detail .date {
  margin-top: 2rem;
  font-size: 1.4rem;
  color: #b49d51
}

main.page.workshop section.contents.diary a {
  margin-top: 4rem
}

main.page.workshop section.contents.about {
  max-width: 960px;
  margin-bottom: 12rem
}

main.page.workshop section.contents.about .hero-image {
  margin-bottom: 4rem;
  border-radius: 24px;
  overflow: hidden
}

main.page.workshop section.contents.about p {
  padding: 0 8rem;
  font-size: 1.6rem;
  line-height: 2.6;
  letter-spacing: .08em
}

main.page.workshop section.contents.researcher .researcher-wrapper {
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start
}

main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block {
  width: 460px;
  display: flex;
  min-height: 247px
}

main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block:not(:first-child) {
  margin-top: 4rem
}

main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block:not(:nth-child(-n + 2)) {
  margin-top: 4rem
}

main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block:nth-child(3) {
  margin-top: 0
}

main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block .img-box {
  width: 380px;
  margin-right: 0px
}

main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block .img-box img {
  border-radius: 10px
}

main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block .img-box h3 {
  display: none
}

main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block .researcher-desc {
  width: 250px
}

main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block .researcher-desc h3 {
  font-size: 2rem;
  font-family: iroha-31nire-stdn, sans-serif
}

main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block .researcher-desc h3:after {
  content: '';
  display: block;
  width: 6rem;
  height: 6px;
  background-image: url("../assets/begie-line.svg");
  background-size: cover;
  margin: 1.2rem 0 2.2rem
}

main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block .researcher-desc p {
  font-size: 1.4rem;
  letter-spacing: .08em
}

main.page.workshop section.contents.partner {
  margin-top: 12rem
}

main.page.workshop section.contents.partner .partner-wrapper {
  max-width: 80rem;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap
}

main.page.workshop section.contents.partner .partner-wrapper .partner-block {
  width: 360px
}

main.page.workshop section.contents.partner .partner-wrapper .partner-block:not(:nth-child(-n+2)) {
  margin-top: 80px
}

main.page.workshop section.contents.partner .partner-wrapper .partner-block .img-box {
  margin-bottom: 3rem
}

main.page.workshop section.contents.partner .partner-wrapper .partner-block .desc-box h3 {
  font-size: 2rem
}

main.page.workshop section.contents.partner .partner-wrapper .partner-block .desc-box h3:after {
  content: '';
  display: block;
  width: 6rem;
  height: 6px;
  background-image: url("../assets/begie-line.svg");
  background-size: cover;
  margin: 1.6rem 0 2.2rem
}

main.page.workshop section.contents.partner .partner-wrapper .partner-block .desc-box p {
  font-size: 1.4rem
}

main.page.workshop section.contents.partner .partner-wrapper .partner-block .desc-box p a {
  font-weight: bold;
  transition: .2s
}

main.page.workshop section.contents.partner .partner-wrapper .partner-block .desc-box p a.external-link svg {
  width: 1.7rem;
  height: 1.7rem;
  margin: 0 0 0 .95rem;
  fill: #000;
  transition: .2s
}

@media (max-width:768px) {
  :root {
    font-size: 2.67vw
  }

  .sp-hidden {
    display: none
  }

  .gheader-inner {
    padding: 0 1.6rem 0 .8rem;
    height: 6rem;
    border-bottom: 1px solid #f0ede2
  }

  .gheader-logo {
    width: 13.2rem
  }

  .gfooter {
    padding-bottom: 4.3rem
  }

  .gfooter-inner {
    padding-top: 4rem
  }

  .gfooter-logo {
    margin-bottom: 4.4rem;
    width: 20rem
  }

  .gfooter-navi ul {
    margin: 0 4rem 4rem
  }

  .gfooter-navi ul li {
    margin: 0;
    padding: .4rem 0 .4rem 1.2rem;
    width: 50%;
    text-align: left
  }

  .gfooter-navi ul li a {
    font-weight: bold;
    font-size: 1.3rem
  }

  .gfooter-sns {
    margin-bottom: 4rem
  }

  .gfooter-copyright {
    font-size: 1.2rem
  }

  .gfooter .totop {
    right: 2rem;
    width: 4rem;
    height: 4rem
  }

  .gfooter .totop:active {
    background-color: #000
  }

  .gfooter .totop svg {
    width: 1.7rem
  }

  .gfooter .totop.scroll {
    position: absolute;
    top: -2rem
  }

  .diary-carousel-container {
    height: auto;
    width: 89%;
    margin: 0 auto 4rem
  }

  .diary-article {
    height: auto;
    width: 100%;
    border: none;
    padding: 2rem 2rem 3.7rem
  }

  .diary-article .inner {
    display: block
  }

  .diary-article .inner .image {
    width: 100%;
    height: 21.7rem
  }

  .diary-article .inner .detail {
    width: 100%
  }

  .diary-article .inner .detail .title {
    font-size: 1.6rem;
    margin: 0 0 1.2rem
  }

  .diary-article .inner .detail .text {
    font-size: 1.3rem
  }

  .diary-article .inner .detail .text::before {
    margin-bottom: 1.2rem
  }

  main.page section.contents .tags a {
    padding: .4rem .8rem
  }

  main.page section.contents .news-list article {
    display: block;
    padding-bottom: .8rem
  }

  main.page section.contents .news-list article .date a,
  main.page section.contents .news-list article .news-title a {
    font-size: 1.5rem
  }

  main.page section.contents .news-list article .date {
    width: 100%;
    margin-right: 0
  }

  main.page section.contents .news-list article .news-title {
    margin-bottom: .4rem
  }

  main.page section.contents .news-list article .news-contents-wrapper {
    width: 100%
  }

  .select-wrapper {
    height: 4rem
  }

  nav.breadcrumb ul {
    padding: 1.7rem 2rem;
    height: 6rem
  }

  nav.breadcrumb li a,
  nav.breadcrumb li span {
    font-size: 1.3rem
  }

  nav.breadcrumb li:not(:first-of-type)::before {
    margin: 0 1rem
  }

  .brand-carousel-container {
    margin: 4rem 0;
    height: 24rem
  }

  .brand-carousel-container .brand-carousel-wrapper {
    margin-top: -2rem
  }

  .brand-carousel-container .brand-carousel-wrapper .brand-card {
    margin: 0 -2rem;
    width: 21rem;
    height: 12rem
  }

  .brand-carousel-container .brand-carousel-wrapper .brand-card .inner {
    width: 21rem;
    height: 12rem
  }

  .brand-carousel-container .brand-carousel-wrapper .brand-card.swiper-slide-active .inner {
    left: -7rem;
    right: -7rem;
    width: 35rem;
    height: 20rem
  }

  .brand-carousel-container .brand-carousel-wrapper .brand-card.swiper-slide-active .inner a:hover::after,
  .brand-carousel-container .brand-carousel-wrapper .brand-card.swiper-slide-active .inner a:active::after {
    top: calc(50% - 2rem);
    left: calc(50% - 10.25rem);
    width: 20.5rem;
    height: 4rem;
    font-size: 1.3rem;
    line-height: calc(4rem - 2px)
  }

  .brand-carousel-navigation {
    bottom: 6.5rem
  }

  .diary-carousel-navigation {
    margin: -1.5rem auto 2rem
  }

  .diary-carousel-navigation .prev:active,
  .brand-carousel-navigation .prev:active,
  .image-carousel-navigation .prev:active,
  .diary-carousel-navigation .next:active,
  .brand-carousel-navigation .next:active,
  .image-carousel-navigation .next:active {
    background-color: #000;
    border-color: #000
  }

  .diary-carousel-navigation .prev:active svg,
  .brand-carousel-navigation .prev:active svg,
  .image-carousel-navigation .prev:active svg,
  .diary-carousel-navigation .next:active svg,
  .brand-carousel-navigation .next:active svg,
  .image-carousel-navigation .next:active svg {
    fill: #fff
  }

  .diary-carousel-navigation .pagination,
  .brand-carousel-navigation .pagination,
  .image-carousel-navigation .pagination {
    font-size: 1.4rem
  }

  main.page section.contents .brand-lineups {
    display: block
  }

  main.page section.contents .brand-lineups .products-block {
    width: 100%;
    height: auto;
    height: 43rem;
    margin-bottom: 1.8rem
  }

  main.page section.contents .brand-lineups .products-block .tags .tag {
    font-size: 1.4rem
  }

  main.page section.contents .contents-inner h2 {
    margin-bottom: 6rem
  }

  main.page section.contents .contents-inner h2 span {
    margin-bottom: .8rem;
    font-size: 2rem
  }

  main.page section.contents .contents-inner h2 small {
    font-size: 1.4rem
  }

  main.page section.contents .contents-inner h3.underline span {
    margin-bottom: 1.2rem;
    font-size: 2rem
  }

  main.page section.contents .contents-inner nav.inner-link ul {
    margin: -2rem 0 -1rem;
    padding: 0 2rem;
    justify-content: space-between
  }

  main.page section.contents .contents-inner nav.inner-link ul li {
    width: calc(50% - 0.5rem);
    margin-bottom: 1rem
  }

  main.page section.contents .contents-inner nav.inner-link ul a {
    width: 100%;
    height: 4.2rem;
    font-size: 1.3rem;
    line-height: calc(4.2rem - 2px)
  }

  main.page section.contents .mod-btn:active {
    background-color: #000;
    color: #fff
  }

  main.page section.contents .mod-btn.arrow svg {
    margin-left: .4rem
  }

  main.page section.contents .mod-btn.dot-arrow svg {
    margin-left: .6rem
  }

  main.page section.contents .mod-btn.large {
    width: 28.5rem;
    height: 5.2rem;
    font-size: 1.4rem
  }

  main.page section.contents .mod-btn.middle {
    width: 24.5rem;
    height: 5.2rem;
    font-size: 1.4rem
  }

  main.page section.contents .mod-btn.short {
    width: 20.5rem;
    height: 4rem;
    font-size: 1.3rem
  }

  main.page section.contents .mod-btn.mini {
    width: 20.5rem;
    height: 5.2rem;
    font-size: 1.4rem
  }

  main.site-policy .contents-inner,
  main.privacy-policy .contents-inner,
  main.faq .contents-inner {
    padding: 4rem 4rem 10rem
  }

  main.site-policy .contents-inner h3,
  main.privacy-policy .contents-inner h3,
  main.faq .contents-inner h3 {
    font-size: 1.6rem
  }

  main.site-policy .contents-inner p,
  main.privacy-policy .contents-inner p,
  main.faq .contents-inner p {
    font-size: 1.3rem
  }

  main.site-policy ol,
  main.privacy-policy ol {
    font-size: 1.3rem
  }

  main.site-policy .contents-inner p {
    margin-bottom: 2rem
  }

  main.site-policy .contents-inner ol {
    margin: -2rem 0 2rem
  }

  main.privacy-policy .contents-inner p {
    margin-bottom: 4rem
  }

  main.privacy-policy .contents-inner p:first-of-type {
    font-size: 1.4rem
  }

  main.privacy-policy .contents-inner ol {
    margin: -4rem 0 4rem
  }

  main.faq dl dt {
    padding-left: 3.2rem;
    font-size: 1.5rem
  }

  main.faq dl dt::before {
    margin-left: -3.2rem;
    padding: 0 .8rem;
    font-size: 1.3rem;
    line-height: 2.6rem
  }

  main.faq dl dd {
    padding: 0 0 2rem 3.2rem;
    font-size: 1.3rem
  }

  main.faq dl dd::before {
    margin-left: -3.2rem;
    padding: 0 .8rem;
    line-height: 2.6rem
  }

  main section.contents .article-pagination li {
    margin: 0 1rem
  }

  main.err404 section.contents,
  main.err500 section.contents {
    padding: 4rem 4rem 12rem
  }

  main.err404 section.contents .lead,
  main.err500 section.contents .lead {
    margin-bottom: 4rem;
    font-size: 1.5rem
  }

  main.page section.contents .contents-inner .time-table {
    padding: 2rem;
    max-width: 29.5rem
  }

  main.page section.contents .contents-inner .time-table dt {
    font-size: 1.4rem
  }

  main.page section.contents .contents-inner .time-table dd {
    padding-left: 6rem
  }

  main.page section.contents .contents-inner .time-table dd h3 {
    font-size: 1.5rem
  }

  main.page section.contents .contents-inner .time-table dd p {
    font-size: 1.2rem
  }

  main.page section.contents .contents-inner .time-table dd p::before {
    height: 125%;
    left: -3.4rem
  }

  main.home section.contents .contents-inner>h2 {
    text-align: center;
    margin-bottom: 2rem
  }

  main.home section.contents .contents-inner>h2 span {
    font-size: 1.6rem;
    line-height: 1
  }

  main.home section.contents .contents-inner>h3 span {
    font-size: 2rem
  }

  main.home section.contents .contents-inner>h3 small {
    margin-bottom: 2rem;
    font-size: 1.6rem
  }

  main.home section.contents .contents-inner .text p {
    font-size: 1.5rem
  }

  main.home section.contents.hero {
    height: 36rem
  }

  main.home section.contents.hero .contents-inner {
    margin-left: 2rem;
    width: calc(100% - 2rem);
    border-radius: 2rem 0 0 2rem
  }

  main.home section.contents.hero .copy {
    padding: 1.6rem
  }

  main.home section.contents.hero .copy-inner {
    margin-bottom: .6rem
  }

  main.home section.contents.hero .copy-inner p {
    padding: .3rem 2.1rem .4rem 1.6rem;
    font-size: 1.4rem
  }

  main.home section.contents.slogan {
    padding: 0 2rem;
    background-image: url("../assets/home/slogan-bg.png"), url("../assets/home/bg-sp1.svg");
    background-size: 8.1rem, 100%;
    background-position: bottom 9.5rem right 1rem, top 0 center
  }

  main.home section.contents.slogan .contents-inner {
    margin-top: -1.5rem;
    padding: 9.5rem 2rem 20rem;
    width: 100%
  }

  main.home section.contents.slogan .contents-inner .copy {
    margin-bottom: 4rem
  }

  main.home section.contents.slogan .contents-inner .copy picture {
    margin: 0 auto;
    width: 13rem
  }

  main.home section.contents.slogan .contents-inner .text {
    margin-bottom: 4rem
  }

  main.home section.contents.itookashi .view {
    margin-right: 2rem;
    width: calc(100% - 2rem);
    height: 32rem;
    background-image: url("../assets/home/itookashi-sp.jpg");
    border-radius: 0 2rem 2rem 0
  }

  main.home section.contents.itookashi .copy {
    top: -44rem;
    left: 3rem
  }

  main.home section.contents.itookashi .copy-inner {
    margin-bottom: .6rem
  }

  main.home section.contents.itookashi .copy-inner p {
    padding: 0 1.7rem 0 1.9rem;
    font-size: 2.4rem
  }

  main.home section.contents.itookashi .text {
    margin: 4rem 4rem 6rem
  }

  main.home section.contents.service {
    padding-top: 6rem;
    background-image: url("../assets/home/bg-sp2.svg");
    background-size: 100%;
    background-position: top 0 center
  }

  main.home section.contents.service .contents-inner ul.service-list {
    justify-content: center;
    margin: 4rem auto 2rem
  }

  main.home section.contents.service .contents-inner ul.service-list li.service-card {
    margin-bottom: 4.2rem
  }

  main.home section.contents.service .contents-inner ul.service-list li.service-card a:active .wrapper {
    box-shadow: 1.2rem 1.2rem 0 0 #c30d23
  }

  main.home section.contents.service .contents-inner ul.service-list li.service-card .wrapper .title {
    padding: 1.5rem 0;
    font-size: 2rem
  }

  main.home section.contents.products {
    padding-top: 6rem
  }

  main.home section.contents.information {
    padding: 12rem 0;
    background-image: url("../assets/home/bg-sp3.svg");
    background-size: 100%;
    background-position: bottom 0 center
  }

  main.home section.contents.information .contents-inner {
    padding: 0 4rem
  }

  main.about section.contents.common-hero .contents-inner,
  main.itookashi section.contents.common-hero .contents-inner {
    margin-left: 2rem;
    width: calc(100% - 2rem);
    background-image: url("../assets/about/common-hero-sp.jpg")
  }

  main.about section.contents.about,
  main.itookashi section.contents.about {
    padding-top: 4rem
  }

  main.about section.contents.about .contents-inner>.copy,
  main.itookashi section.contents.about .contents-inner>.copy {
    justify-content: flex-start;
    margin-left: 4.6rem;
    margin-bottom: 4rem
  }

  main.about section.contents.about .contents-inner>.copy span,
  main.itookashi section.contents.about .contents-inner>.copy span {
    font-size: 2rem
  }

  main.about section.contents.about .contents-inner>.copy:before,
  main.itookashi section.contents.about .contents-inner>.copy:before {
    margin-right: 2rem;
    width: 8rem
  }

  main.about .about-container-wrapper {
    padding: 0 2rem
  }

  main.about .about-container:not(:last-of-type) {
    margin-bottom: 4rem
  }

  main.about .about-container-inner {
    padding: 0 2rem
  }

  main.about .about-container-inner>.copy {
    font-size: 2rem
  }

  main.about .about-container-inner p {
    margin: 0 0 2rem;
    font-size: 1.5rem
  }

  main.about .about-container-inner p::before {
    margin-bottom: 1rem
  }

  main.about .about-container-inner a.mod-btn.mini {
    margin: 0 auto 2rem;
    width: 24.5rem
  }

  main.about .about-container.container1 {
    padding-top: 31.3rem;
    background-position: top 17rem right .6rem, top 0 left 0;
    background-size: 17rem, contain
  }

  main.about .about-container.container1::after {
    margin: 4rem auto
  }

  main.about .about-container.container2 {
    padding-top: 36rem;
    background-size: contain
  }

  main.about .about-container.container2::after {
    margin: 4rem auto
  }

  main.about .about-container.container3 {
    padding-top: 22.6rem;
    background-size: contain
  }

  main.about .about-container.container4 {
    background-position: top 10rem center;
    background-size: contain
  }

  main.about .about-container.container4 .about-container-inner {
    margin-top: 27rem
  }

  main.about .about-container.container4::before {
    margin-top: 4rem;
    text-align: center
  }

  main.itookashi .itookashi-container-item {
    width: 100%
  }

  main.itookashi .itookashi-container-item h3 {
    margin: 4rem 4rem 0
  }

  main.itookashi .itookashi-container-item h3 small {
    font-size: 1.4rem;
    line-height: 2rem
  }

  main.itookashi .itookashi-container-item h3 span {
    font-size: 2rem
  }

  main.itookashi .itookashi-container-item p {
    margin: 0 4rem 4rem
  }

  main.itookashi section.contents.about .itookashi-container::before {
    top: 36rem;
    right: 3rem
  }

  main.itookashi section.contents.about .itookashi-container::after {
    bottom: -5rem;
    right: 7rem
  }

  main.itookashi section.contents.about .itookashi-container-item:nth-of-type(3) {
    order: 4
  }

  main.itookashi section.contents.about .itookashi-container-item:nth-of-type(4) {
    order: 3
  }

  main.itookashi section.contents.about .itookashi-container-item p {
    font-size: 1.5rem
  }

  main.itookashi section.contents.about .itookashi-container-item p span {
    font-size: 1.3rem
  }

  main.itookashi section.contents.brands {
    padding: 8rem 0 6.5rem
  }

  main.itookashi section.contents.factory {
    padding-bottom: 12rem
  }

  main.itookashi section.contents.factory .contents-inner .itookashi-container-item {
    height: 37.5rem
  }

  main.itookashi section.contents.factory .contents-inner .itookashi-container-item h3 {
    margin-bottom: .8rem
  }

  main.itookashi section.contents.factory .contents-inner .itookashi-container-item p {
    margin-bottom: 2rem;
    font-size: 1.3rem
  }

  main.itookashi section.contents.factory .contents-inner .itookashi-container-item a.mod-btn {
    margin: 0 4rem;
    border-color: #000
  }

  main.news section.contents .contents-inner.news-contents h2 {
    margin-bottom: 6rem
  }

  main.news section.contents .contents-inner.news-contents>.tags {
    padding: 1.6rem 1.6rem .4rem;
    margin: 0 2rem
  }

  main.news section.contents .contents-inner.news-contents>.tags+.news-list {
    margin-top: 4.6rem;
    margin-left: 4rem;
    margin-right: 4rem
  }

  main.news-detail section.contents {
    padding: 4rem 0 12rem
  }

  main.news-detail section.contents .contents-inner {
    max-width: 100%
  }

  main.news-detail section.contents .contents-inner .news-detail-content {
    margin: 0 4rem
  }

  main.news-detail section.contents .contents-inner .news-detail-content .news-detail-header {
    padding-bottom: 2rem;
    margin-bottom: 2rem
  }

  main.news-detail section.contents .contents-inner .news-detail-content .news-detail-header .news-detail-header-info {
    display: block
  }

  main.news-detail section.contents .contents-inner .news-detail-content .news-detail-header .news-detail-header-info .date {
    margin-bottom: 1rem;
    width: 100%;
    font-size: 1.4rem;
    line-height: 1.4
  }

  main.news-detail section.contents .contents-inner .news-detail-content .news-detail-header .news-detail-header-info .tags {
    width: 100%;
    text-align: left
  }

  main.news-detail section.contents .contents-inner .news-detail-content .news-detail-header h2 {
    font-size: 2.4rem
  }

  main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body {
    margin-bottom: 4rem
  }

  main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body h2 {
    font-size: 2rem
  }

  main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body h3 {
    margin-top: 4rem;
    font-size: 1.6rem
  }

  main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body h4 {
    font-size: 1.4rem;
    margin-top: 4rem
  }

  main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body p {
    font-size: 1.3rem;
    margin-top: 1rem
  }

  main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body img {
    width: 295px;
    height: auto
  }

  main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body ul {
    margin-top: 1rem
  }

  main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body ul li ul {
    padding-left: 1.3rem
  }

  main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body ol li ol {
    padding-left: 1rem
  }

  main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body li {
    font-size: 1.3rem
  }

  main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body iframe {
    width: 295px
  }

  main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body iframe.embedly-embed {
    height: auto
  }

  main.factory section.contents .contents-header::after {
    margin: 2.5rem
  }

  main.factory section.contents .contents-header h3 {
    padding: 2rem;
    height: 20rem;
    background-position: right -7rem center
  }

  main.factory section.contents .contents-header h3 span {
    font-size: 2.4rem
  }

  main.factory section.contents .contents-header h3 small {
    font-size: 1.2rem
  }

  main.factory section.contents .contents-inner .line-list,
  main.factory section.contents .contents-inner .line-item {
    margin-bottom: 8rem;
    padding: 0 4rem
  }

  main.factory section.contents .contents-inner .line-list .image,
  main.factory section.contents .contents-inner .line-item .image,
  main.factory section.contents .contents-inner .line-list .image-carousel-container,
  main.factory section.contents .contents-inner .line-item .image-carousel-container {
    margin-bottom: 1.5rem;
    width: 100%;
    height: 16.8rem;
    border-radius: .8rem
  }

  main.factory section.contents .contents-inner .line-list .image .image-carousel-navigation,
  main.factory section.contents .contents-inner .line-item .image .image-carousel-navigation,
  main.factory section.contents .contents-inner .line-list .image-carousel-container .image-carousel-navigation,
  main.factory section.contents .contents-inner .line-item .image-carousel-container .image-carousel-navigation {
    top: calc(50% - 1.6rem);
    padding: 0 1.2rem
  }

  main.factory section.contents .contents-inner .line-list .image .image-carousel-navigation .prev,
  main.factory section.contents .contents-inner .line-item .image .image-carousel-navigation .prev,
  main.factory section.contents .contents-inner .line-list .image-carousel-container .image-carousel-navigation .prev,
  main.factory section.contents .contents-inner .line-item .image-carousel-container .image-carousel-navigation .prev,
  main.factory section.contents .contents-inner .line-list .image .image-carousel-navigation .next,
  main.factory section.contents .contents-inner .line-item .image .image-carousel-navigation .next,
  main.factory section.contents .contents-inner .line-list .image-carousel-container .image-carousel-navigation .next,
  main.factory section.contents .contents-inner .line-item .image-carousel-container .image-carousel-navigation .next {
    width: 3.2rem;
    height: 3.2rem
  }

  main.factory section.contents .contents-inner .line-list .title,
  main.factory section.contents .contents-inner .line-item .title {
    font-size: 2rem
  }

  main.factory section.contents .contents-inner .line-list p,
  main.factory section.contents .contents-inner .line-item p {
    font-size: 1.3rem
  }

  main.factory section.contents .contents-inner .line-list li {
    width: 100%
  }

  main.factory section.contents .contents-inner .line-list li:not(:last-of-type) {
    margin-bottom: 4rem
  }

  main.factory section.contents .contents-inner .line-item {
    flex-direction: column-reverse
  }

  main.factory section.contents.header {
    margin-bottom: 3rem;
    padding-top: 4rem
  }

  main.factory section.contents.factory {
    margin-bottom: 8rem
  }

  main.factory section.contents.factory .factory-wrapper {
    flex-direction: column-reverse;
    margin-bottom: 4rem;
    padding: 0 4rem
  }

  main.factory section.contents.factory .factory-wrapper .detail {
    width: 100%
  }

  main.factory section.contents.factory .factory-wrapper .detail p {
    font-size: 1.3rem
  }

  main.factory section.contents.factory .factory-wrapper .detail ul li {
    font-size: 1.3rem
  }

  main.factory section.contents.factory .factory-wrapper .detail address {
    font-size: 1.3rem
  }

  main.factory section.contents.factory .factory-wrapper .image {
    width: 100%;
    height: 16.8rem;
    margin-bottom: 2rem
  }

  main.factory section.contents.guidelines {
    margin-bottom: 12rem;
    padding: 0 4rem;
    width: 100%
  }

  main.factory section.contents.guidelines h4 {
    margin-bottom: 2rem;
    font-size: 1.6rem
  }

  main.factory section.contents.guidelines p {
    margin-bottom: 2rem;
    font-size: 1.3rem
  }

  main.factory section.contents.guidelines p+h3 {
    margin-top: 8rem
  }

  main.factory section.contents.guidelines h3+p {
    font-size: 1.5rem
  }

  main.diary section.contents .contents-inner .diary-list-contents-wrapper {
    padding: 0 2rem
  }

  main.diary section.contents .contents-inner .diary-list-contents-wrapper .diary-article .inner .detail .date {
    display: block;
    font-size: 1.3rem
  }

  main.bland-introduction.brand-list {
    padding: 4rem 0 13.2rem
  }

  main.bland-introduction.brand-list section.contents.header {
    padding-top: 4rem;
    margin-bottom: 5.3rem
  }

  main.bland-introduction.brand-list section.contents.header .contents-inner nav.inner-link ul {
    padding: 0 2.25rem
  }

  main.bland-introduction.brand-list section.contents.header .contents-inner nav.inner-link ul a {
    width: 16rem;
    height: 4.2rem;
    margin-bottom: 0
  }

  main.bland-introduction section.contents.brand-mv .contents-inner {
    background-image: none;
    height: auto
  }

  main.bland-introduction section.contents.brand-mv .contents-inner .brand-mv-panel {
    max-width: 100%;
    height: 20.3rem;
    position: unset;
    top: 0;
    left: 0;
    transform: unset;
    box-shadow: none
  }

  main.bland-introduction section.contents.about {
    padding: 4rem 2rem 8rem
  }

  main.bland-introduction section.contents.about .contents-inner h2 {
    margin-bottom: 1.2rem
  }

  main.bland-introduction section.contents.about .contents-inner .concept-text {
    width: 100%;
    padding: 0 2rem;
    font-size: 1.5rem
  }

  main.bland-introduction section.contents.about .contents-inner .concept-text .is-pc {
    display: none
  }

  main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper {
    margin: 2rem auto 0
  }

  main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner {
    margin: 2rem 0;
    display: block
  }

  main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner:last-child {
    margin-bottom: 0
  }

  main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner .img-box,
  main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner .point-desc {
    width: 100%;
    height: auto;
    min-height: 34.1rem;
    border-radius: 24px
  }

  main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner .img-box {
    border-radius: 24px
  }

  main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner .point-desc {
    margin-top: 2rem;
    padding: 3rem
  }

  main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner .point-desc .num {
    font-size: 1.4rem;
    line-height: 1.4
  }

  main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner .point-desc .title {
    font-size: 1.6rem;
    margin: 1.2rem 0
  }

  main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner .point-desc .desc {
    font-size: 1.3rem
  }

  main.bland-introduction section.contents.diary {
    padding-top: 4rem;
    min-height: auto
  }

  main.bland-introduction section.contents.diary .contents-inner h2 {
    margin-bottom: 2rem
  }

  main.bland-introduction section.contents.diary .diary-carousel-navigation {
    margin: -.5rem auto 0
  }

  main.bland-introduction section.contents.products {
    padding: 8rem 1.5rem 0
  }

  main.bland-introduction section.contents.products .contents-inner {
    max-width: 100%
  }

  main.bland-introduction section.contents.products .contents-inner h2 {
    margin-bottom: 8rem
  }

  main.bland-introduction section.contents.recipe {
    margin: 7.2rem auto 0
  }

  main.bland-introduction section.contents.recipe h2 {
    margin-bottom: 8rem
  }

  main.bland-introduction section.contents.recipe .recipe-wrapper {
    padding: 0 2rem
  }

  main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block {
    margin-bottom: .8rem
  }

  main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper {
    display: block;
    border-radius: 0
  }

  main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .thumb {
    width: 100%;
    height: 24.8rem;
    margin-right: 0
  }

  main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail {
    width: 100%;
    padding: 0 1rem
  }

  main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail .name {
    font-size: 1.6rem;
    margin-bottom: .8rem
  }

  main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail .desc {
    display: block
  }

  main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail .desc::before {
    content: inherit
  }

  main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail .desc .material,
  main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail .desc .recipe {
    height: auto;
    width: 100%;
    overflow: unset
  }

  main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail .desc .material {
    margin-bottom: 2rem;
    margin-right: 0
  }

  main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail .desc .material::after {
    content: url("../assets/gray-line.svg");
    display: block;
    text-align: center;
    transform: rotate(270deg);
    position: absolute;
    bottom: -2rem;
    height: 6px
  }

  main.bland-introduction section.contents.recipe .recipe-wrapper .recipe-block .wrapper .detail .desc .recipe {
    margin-top: 3rem;
    margin-left: 0
  }

  main.bland-introduction .banner {
    margin: 8rem auto 0;
    padding: 0 1.5rem
  }

  main.bland-introduction section.contents.brand-list .contents-inner h2,
  main.bland-introduction section.contents.lineup .contents-inner h2 {
    margin-bottom: 4rem
  }

  main.bland-introduction section.contents.brand-list .contents-inner h2:after,
  main.bland-introduction section.contents.lineup .contents-inner h2:after {
    width: 12rem
  }

  main.bland-introduction section.contents.brand-list .contents-inner h2 span,
  main.bland-introduction section.contents.lineup .contents-inner h2 span {
    margin-bottom: 1.2rem
  }

  main.bland-introduction section.contents.brand-list .contents-inner .brand-card-wrapper {
    display: block;
    margin-bottom: 8rem;
    padding: 0 1.25rem
  }

  main.bland-introduction section.contents.brand-list .contents-inner .brand-card-wrapper .brand-card {
    width: 100%;
    height: 19.8rem
  }

  main.bland-introduction section.contents.brand-list .contents-inner .brand-card-wrapper .brand-card:nth-child(n + 2) {
    margin-top: 2rem
  }

  main.bland-introduction section.contents.brand-list .contents-inner .brand-card-wrapper .brand-card a .band-thumb {
    max-width: 100%;
    height: 19.8rem
  }

  main.bland-introduction .breadcrumb {
    margin-top: 3.8rem
  }

  main.company section.contents dl,
  main.history section.contents dl {
    margin: 4rem auto;
    padding: 0 4rem;
    font-size: 1.5rem
  }

  main.company section.contents dl dt,
  main.history section.contents dl dt {
    margin-right: 2rem;
    padding: .8rem 0
  }

  main.company section.contents dl dd,
  main.history section.contents dl dd {
    padding: .8rem 0 .8rem 9.6rem
  }

  main.company section.contents dl address small,
  main.history section.contents dl address small {
    font-size: 1.3rem
  }

  main.company section.contents {
    margin-bottom: 8rem
  }

  main.company section.contents .contents-inner h4 {
    font-size: 1.6rem
  }

  main.company section.contents .contents-inner .wrapper {
    margin: 4rem auto
  }

  main.company section.contents.header {
    padding-top: 4rem
  }

  main.company section.contents.header .hero-image {
    margin: 4rem auto;
    width: 100%;
    height: 22rem
  }

  main.company section.contents.message .wrapper {
    padding: 0 4rem
  }

  main.company section.contents.message .wrapper .lead {
    margin-bottom: 2rem
  }

  main.company section.contents.message .wrapper .text {
    font-size: 1.5rem
  }

  main.company section.contents.message .wrapper .profile {
    margin-top: 2rem
  }

  main.company section.contents.message .wrapper .profile .image {
    margin: 0 auto
  }

  main.company section.contents.message .wrapper .profile .thumb {
    margin-bottom: 3rem
  }

  main.company section.contents.history .wrapper .image {
    margin: 0 2rem 4rem;
    border-radius: .4rem
  }

  main.company section.contents.history .wrapper .text {
    padding: 0 4rem
  }

  main.company section.contents.history .wrapper .text p {
    font-size: 1.3rem
  }

  main.company section.contents.information .wrapper a.mod-btn {
    margin-bottom: 2rem
  }

  main.company section.contents.guidelines {
    margin-bottom: 12rem
  }

  main.company section.contents.guidelines h4 {
    margin-top: 4rem
  }

  main.company section.contents.guidelines ol {
    padding-bottom: 2rem
  }

  main.company section.contents.guidelines ol li {
    margin: 6.4rem 2rem -2rem;
    padding: 3rem 2rem;
    font-size: 1.3rem
  }

  main.company section.contents.guidelines ol li::before {
    top: -2.4rem;
    left: calc(50% - 2.4rem);
    width: 4.8rem;
    height: 4.8rem;
    font-size: 1.6rem;
    line-height: 4.8rem
  }

  main.company section.contents.guidelines p {
    margin: 2rem 4rem;
    font-size: 1.3rem
  }

  main.history section.contents.chapter {
    margin-bottom: 8rem;
    padding-top: 4rem
  }

  main.history section.contents.chapter .chapter-wrapper {
    margin-bottom: 9.6rem
  }

  main.history section.contents.chapter .chapter-wrapper:nth-of-type(odd)::after {
    right: 3rem;
    bottom: -3rem
  }

  main.history section.contents.chapter .chapter-wrapper:nth-of-type(even)::after {
    left: 13.8rem;
    bottom: -4.5rem
  }

  main.history section.contents.chapter .chapter-wrapper .image,
  main.history section.contents.chapter .chapter-wrapper .detail {
    width: 100%
  }

  main.history section.contents.chapter .chapter-wrapper .detail {
    padding: 4rem
  }

  main.history section.contents.chapter .chapter-wrapper .detail h3 {
    margin-bottom: .8rem;
    font-size: 1.6rem
  }

  main.history section.contents.chapter .chapter-wrapper .detail .period {
    margin-bottom: .8rem;
    font-size: 1.4rem
  }

  main.history section.contents.chapter .chapter-wrapper .detail p {
    font-size: 1.3rem
  }

  main.history section.contents.history {
    margin-bottom: 10rem
  }

  main.group section.contents.group {
    padding: 4rem 4rem 10rem
  }

  main.group section.contents.group a.mod-btn {
    margin: 0 auto
  }

  main.group section.contents.group .infor {
    text-align: center
  }

  main.group section.contents.group .infor p {
    margin-bottom: 2rem;
    font-size: 1.3rem
  }

  main.group section.contents.group ul {
    display: flex;
    flex-direction: column;
    align-items: center
  }

  main.group section.contents.group ul li {
    padding: 4rem 4rem 5rem;
    width: 100vw
  }

  main.group section.contents.group ul li .logo {
    width: 16.5rem;
    margin: 0 auto 1.5rem
  }

  main.group section.contents.group ul li .detail h3 {
    text-align: center;
    font-size: 1.6rem
  }

  main.group section.contents.group ul li .detail p {
    margin-bottom: 1rem;
    font-size: 1.3rem
  }

  main.group section.contents.group ul li .detail address {
    margin-bottom: 2rem;
    font-size: 1.3rem
  }

  main.group section.contents.group ul li .detail address span {
    text-align: center;
    font-size: 1.5rem
  }

  main.group section.contents.group ul li .detail address dd {
    padding-left: 6.6rem
  }

  main.group section.contents.group ul li a.mod-btn {
    width: 20.5rem;
    height: 4rem
  }

  main.group section.contents.group ul li.children {
    padding: 0;
    width: 100%
  }

  main.group section.contents.group ul li.children .child {
    padding: 4rem 0 5rem;
    width: 100%
  }

  main.contact .contents.contact {
    padding: 4rem 4rem 12rem
  }

  main.contact .contents.contact .infor {
    margin-bottom: 2rem;
    font-size: 1.3rem
  }

  main.contact .contents.contact .form-wrapper .contact-form fieldset {
    margin-bottom: 2rem;
    width: 100%
  }

  main.contact .contents.contact .form-wrapper .contact-form fieldset.agree {
    font-size: 1.5rem;
    margin-top: 2rem
  }

  main.contact .contents.contact .form-wrapper .contact-form fieldset label {
    font-size: 1.5rem
  }

  main.contact .contents.contact .form-wrapper .contact-form fieldset label span {
    font-size: 1.3rem
  }

  main.contact .contents.contact .form-wrapper .contact-form fieldset textarea {
    height: 20rem
  }

  main.contact .contents.contact .form-wrapper .contact-form fieldset .form-err {
    font-size: 1.3rem
  }

  main.contact-thanks .contents.thanks {
    padding: 8rem 4rem 12rem
  }

  main.contact-thanks .contents.thanks .lead {
    margin-bottom: 2rem;
    font-size: 1.5rem
  }

  main.contact-thanks .contents.thanks .text {
    margin-bottom: 4rem;
    font-size: 1.3rem
  }

  main.business section.contents.business-header {
    width: 100%;
    margin-bottom: 4rem;
    padding-top: 4rem
  }

  main.business section.contents.business-header .contents-inner .hero-image {
    height: 21rem
  }

  main.business section.contents.business-infor {
    width: 100%;
    margin-bottom: 8rem;
    padding: 0 4rem
  }

  main.business section.contents.business-infor .infor-wrapper .infor-container {
    width: 100%
  }

  main.business section.contents.business-infor .infor-wrapper .infor-container:first-of-type {
    margin-bottom: 4rem
  }

  main.business section.contents.business-infor .infor-wrapper .infor-container h3,
  main.business section.contents.business-infor .infor-wrapper .infor-container h4 {
    font-size: 1.5rem
  }

  main.business section.contents.business-infor .infor-wrapper .infor-container .lead {
    font-size: 1.6rem
  }

  main.business section.contents.business-infor .infor-wrapper .infor-container .text {
    font-size: 1.3rem
  }

  main.business section.contents.business-infor .infor-wrapper .infor-container a.mod-btn.external-link svg {
    margin: 0 0 0 .95rem
  }

  main.business section.contents.business-detail .contents-inner {
    width: 100%;
    padding: 0 2rem
  }

  main.business section.contents.business-detail .contents-inner .container {
    margin: 4rem auto 8rem
  }

  main.business section.contents.business-detail .contents-inner .container h4 {
    margin-bottom: 2rem;
    font-size: 1.6rem
  }

  main.business section.contents.business-detail .contents-inner .container .text {
    margin-bottom: 2rem;
    padding: 0 2rem;
    font-size: 1.3rem
  }

  main.business section.contents.business-detail .contents-inner .container .item-list {
    margin-bottom: 0;
    padding: 0 2rem;
    width: 100%
  }

  main.business section.contents.business-detail .contents-inner .container .item-list li {
    margin-bottom: 2rem;
    width: 100%
  }

  main.business section.contents.business-detail .contents-inner .container .item-list li .title {
    font-size: 1.5rem
  }

  main.business section.contents.business-detail .contents-inner .container .wrapper.bg {
    padding: 2rem;
    background-image: url("../assets/business/oem-order-bg-sp.svg"), url("../assets/report-bg.png");
    background-position: top 2rem center, center;
    background-size: auto 45rem, cover
  }

  main.business section.contents.business-detail .contents-inner .container .wrapper .image {
    width: 100%;
    margin-bottom: 2rem
  }

  main.business section.contents.business-detail .contents-inner .container .wrapper .text {
    width: 100%
  }

  main.business section.contents.business-detail .contents-inner .container .wrapper a.mod-btn {
    margin: 0 auto;
    width: 28.5rem;
    height: 5.2rem;
    font-size: 1.4rem
  }

  main.business section.contents.business-detail .contents-inner .container .wrapper .step {
    margin: 0 0 2rem;
    width: 29.5rem;
    font-size: 1.4rem
  }

  main.business section.contents.business-detail .contents-inner .container .wrapper .note {
    font-size: 1.2rem
  }

  main.business section.contents.business-detail .contents-inner .container .contact {
    margin-top: 2rem;
    padding: 2.5rem 0;
    width: 100%;
    border-radius: 2rem
  }

  main.business section.contents.business-detail .contents-inner .container .contact .title {
    margin-bottom: 1rem;
    font-size: 1.5rem
  }

  main.business section.contents.business-detail .contents-inner .container .contact .text {
    margin: 0;
    font-size: 1.3rem
  }

  main.business section.contents.business-detail .contents-inner .container .contact a.mod-btn {
    margin-top: 2rem
  }

  main.business section.contents.business-detail .contents-inner .container>.note {
    margin-top: 2rem;
    padding: 0 2rem;
    width: 100%;
    font-size: 1.3rem
  }

  main.business section.contents.service-list {
    margin-top: 8rem;
    padding: 4rem 0 8rem
  }

  main.business section.contents.service-list ul.service-list {
    justify-content: center;
    width: 100%;
    margin-bottom: -1.5rem
  }

  main.business section.contents.service-list ul.service-list li.service-card {
    margin: 0 .75rem 1.5rem;
    width: 16rem
  }

  main.business section.contents.service-list ul.service-list li.service-card a .wrapper .image {
    height: 8.5rem
  }

  main.business section.contents.service-list ul.service-list li.service-card a .wrapper .title {
    height: 7.5rem;
    padding: 0 1rem
  }

  main.business section.contents.service-list ul.service-list li.service-card a .wrapper .title span {
    font-size: 1.3rem
  }

  main.page.recruit {
    padding: 4rem 0 12rem
  }

  main.page.recruit section.contents h2:not(section.contents.header h2) span {
    margin-bottom: 1.2rem
  }

  main.page.recruit section.contents.header {
    padding-top: 4rem;
    max-width: 100%
  }

  main.page.recruit section.contents.header .contents-inner .inner-link ul {
    padding: 0 2.267rem
  }

  main.page.recruit section.contents.header .contents-inner .inner-link ul li a {
    width: 16rem
  }

  main.page.recruit section.contents.header .contents-inner .hero-image {
    margin: 4rem auto;
    width: 100%;
    height: 22rem
  }

  main.page.recruit section.contents.human-resources {
    padding: 0 4rem;
    max-width: 100%
  }

  main.page.recruit section.contents.human-resources .concept-area {
    margin-top: 4rem
  }

  main.page.recruit section.contents.human-resources .concept-area p {
    margin: 2rem 0 8rem;
    font-size: 1.5rem
  }

  main.page.recruit section.contents.recruit {
    max-width: 100%;
    margin: 0 auto 8rem;
    padding: 0 4rem
  }

  main.page.recruit section.contents.recruit dl {
    font-size: 1.5rem
  }

  main.page.recruit section.contents.recruit dl dt {
    margin-right: 2rem;
    padding: .8rem 0
  }

  main.page.recruit section.contents.recruit dl dd {
    padding: .8rem 0 .8rem 9.6rem
  }

  main.page.recruit section.contents.recruit dl dd .time-table {
    width: 19.9rem;
    margin: 1.2rem 0
  }

  main.page.recruit section.contents.recruit dl dd .time-table dt {
    width: 4rem;
    margin-right: 0;
    line-height: 2.8
  }

  main.page.recruit section.contents.recruit dl dd .time-table dd {
    padding: 0 0 0 4.4rem;
    margin-bottom: 0
  }

  main.page.recruit section.contents.recruit dl dd .time-table dd p {
    height: 1.6rem
  }

  main.page.recruit section.contents.recruit dl dd .time-table dd p::before {
    left: -2.4rem
  }

  main.page.recruit section.contents.recruit .desc {
    font-size: 1.3rem
  }

  main.page.recruit section.contents.recruit a.external-link svg {
    margin: 0 0 0 .95rem
  }

  main.page.recruit section.contents.charm {
    max-width: 100%
  }

  main.page.recruit section.contents.charm .charm-wrapper {
    margin-bottom: 8rem;
    padding: 0 2rem
  }

  main.page.recruit section.contents.charm .charm-wrapper .charm-block {
    display: block
  }

  main.page.recruit section.contents.charm .charm-wrapper .charm-block:not(:first-child) {
    margin-top: 4rem
  }

  main.page.recruit section.contents.charm .charm-wrapper .charm-block.ceo-block {
    border-radius: 8px;
    padding: 3rem
  }

  main.page.recruit section.contents.charm .charm-wrapper .charm-block.ceo-block .profile .thumb {
    width: 15rem;
    height: 15rem;
    margin: 3rem auto 0
  }

  main.page.recruit section.contents.charm .charm-wrapper .charm-block.ceo-block .profile .sign {
    margin: 2rem auto 0
  }

  main.page.recruit section.contents.charm .charm-wrapper .charm-block .text-box {
    width: 100%;
    margin-right: 0;
    padding: 0 2rem
  }

  main.page.recruit section.contents.charm .charm-wrapper .charm-block .text-box h4 {
    font-size: 1.3rem
  }

  main.page.recruit section.contents.charm .charm-wrapper .charm-block .text-box p {
    font-size: 1.3rem
  }

  main.page.recruit section.contents.charm .charm-wrapper .charm-block .img-box {
    width: 100%;
    margin-top: 2rem
  }

  main.page.recruit section.contents.charm .charm-wrapper .charm-block .img-box img {
    border-radius: 4px
  }

  main.page.recruit section.contents.interview {
    max-width: 100%;
    margin: 0 auto
  }

  main.page.recruit section.contents.interview .interview-wrapper {
    display: block;
    padding: 0 3.75rem
  }

  main.page.recruit section.contents.interview .interview-wrapper .staff-interview {
    width: 100%
  }

  main.page.recruit section.contents.interview .interview-wrapper .staff-interview:nth-child(3n) {
    margin-top: 4rem
  }

  main.page.recruit section.contents.interview .interview-wrapper .staff-interview a .staff-face {
    width: 100%;
    height: 16.5rem
  }

  main.page.recruit section.contents.interview .interview-wrapper .staff-interview a .staff-info h3 {
    font-size: 1.4rem;
    margin: 1.2rem 0 1rem
  }

  main.page.interview {
    padding-top: 4rem
  }

  main.page.interview section.contents.interview {
    overflow: hidden
  }

  main.page.interview section.contents.interview .contents-inner {
    padding-bottom: 6rem
  }

  main.page.interview section.contents.interview .contents-inner .staff-info {
    max-width: 100%;
    margin: 0 auto 4rem;
    min-height: 40.6rem;
    height: auto
  }

  main.page.interview section.contents.interview .contents-inner .staff-info .recruit-bg-pc {
    display: none
  }

  main.page.interview section.contents.interview .contents-inner .staff-info .recruit-bg-sp {
    position: absolute;
    top: 47rem;
    left: -2.5rem;
    z-index: 0;
    width: 17rem;
    display: block
  }

  main.page.interview section.contents.interview .contents-inner .staff-info .staff-info-inner {
    padding: 0 4rem;
    top: unset;
    bottom: 0
  }

  main.page.interview section.contents.interview .contents-inner .staff-info .staff-info-inner h4 {
    padding: 0 1.2rem;
    font-size: 1.6rem
  }

  main.page.interview section.contents.interview .contents-inner .staff-info .staff-info-inner h3 {
    font-size: 2.4rem;
    padding: 0 2rem
  }

  main.page.interview section.contents.interview .contents-inner .staff-info .staff-info-inner h3 span {
    font-size: 2.4rem
  }

  main.page.interview section.contents.interview .contents-inner .staff-info .staff-info-inner p {
    margin-top: 2rem;
    width: 100%;
    font-size: 1.5rem;
    letter-spacing: .08rem
  }

  main.page.interview section.contents.interview .contents-inner .staff-info .hero-image {
    margin-left: 2rem;
    width: 100%;
    height: 24rem
  }

  main.page.interview section.contents.interview .contents-inner .staff-info .hero-image::after {
    content: "";
    background-image: url("../assets/ashiato3.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    display: block;
    width: 8.6rem;
    height: 6.5rem;
    position: absolute;
    right: 1.3rem;
    bottom: -3rem
  }

  main.page.interview section.contents.interview .contents-inner .staff-info .hero-image img {
    border-radius: 24px 0 0 24px
  }

  main.page.interview section.contents.interview .contents-inner .interview-wrapper {
    max-width: 100%;
    padding: 0 4rem
  }

  main.page.interview section.contents.interview .contents-inner .interview-wrapper .interview-block {
    width: 100%;
    margin-left: 2rem
  }

  main.page.interview section.contents.interview .contents-inner .interview-wrapper .interview-block:not(:first-child) {
    margin-top: 4rem
  }

  main.page.interview section.contents.interview .contents-inner .interview-wrapper .interview-block h3 {
    font-size: 1.6rem;
    align-items: baseline
  }

  main.page.interview section.contents.interview .contents-inner .interview-wrapper .interview-block p {
    font-size: 1.5rem
  }

  main.page.interview section.contents.interview .contents-inner .interview-wrapper .interview-block dl {
    margin-top: 2rem
  }

  main.page.interview section.contents.interview .contents-inner .interview-wrapper .interview-block dl dt {
    line-height: 2.8
  }

  main.page.interview section.contents.interview .contents-inner .interview-wrapper .interview-block dl dd h3 {
    font-size: 1.5rem
  }

  main.page.interview section.contents.interview .contents-inner .interview-wrapper .interview-block dl dd p {
    font-size: 1.2rem;
    line-height: 2
  }

  main.page.workshop {
    padding: 4rem 0 12rem
  }

  main.page.workshop section.contents h2:not(section.contents.header h2):not(section.contents.diary h2):after {
    width: 12rem
  }

  main.page.workshop section.contents.diary {
    padding-top: 4rem;
    padding-bottom: 8rem;
    min-height: auto;
    margin-bottom: 8rem
  }

  main.page.workshop section.contents.diary .contents-inner h2 {
    margin-bottom: 2rem
  }

  main.page.workshop section.contents.diary .report-wrapper {
    padding: 0 2rem
  }

  main.page.workshop section.contents.diary .report-wrapper .diary-article .inner .detail .date {
    display: block;
    font-size: 1.3rem
  }

  main.page.workshop section.contents.about {
    margin-bottom: 8rem
  }

  main.page.workshop section.contents.about .hero-image {
    padding: 0 1.25rem;
    border-radius: 8px
  }

  main.page.workshop section.contents.about p {
    padding: 0 4rem;
    font-size: 1.5rem
  }

  main.page.workshop section.contents.researcher .researcher-wrapper {
    max-width: 100%;
    display: block;
    padding: 0 4rem
  }

  main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block {
    width: 100%;
    /*display:block;min-height:auto*/
  }

  main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block:nth-child(3) {
    margin-top: 4rem
  }

  main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block .img-box {
    display: flex;
    align-items: flex-start;
    margin-right: 0;
    width: 100%;
    height: 13rem;
    margin-bottom: 1.6rem
  }

  main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block .img-box img {
    width: 13rem;
    margin-right: 2.4rem
  }

  main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block .img-box h3 {
    display: block;
    width: 14.1rem;
    font-size: 2rem;
    margin-top: 3.5rem;
    font-family: iroha-31nire-stdn, sans-serif
  }

  main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block .img-box h3:after {
    content: '';
    display: block;
    width: 6rem;
    height: 6px;
    background-image: url("../assets/begie-line.svg");
    background-size: cover;
    margin: 1.2rem 0 0
  }

  main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block .researcher-desc {
    width: 100%
  }

  main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block .researcher-desc h3 {
    display: none
  }

  main.page.workshop section.contents.researcher .researcher-wrapper .researcher-block .researcher-desc p {
    font-size: 1.3rem
  }

  main.page.workshop section.contents.partner {
    margin-top: 8rem
  }

  main.page.workshop section.contents.partner .partner-wrapper {
    display: block;
    padding: 0 4rem;
    max-width: 100%
  }

  main.page.workshop section.contents.partner .partner-wrapper .partner-block {
    width: 100%
  }

  main.page.workshop section.contents.partner .partner-wrapper .partner-block:not(:first-child) {
    margin-top: 4rem
  }

  main.page.workshop section.contents.partner .partner-wrapper .partner-block .img-box {
    margin-bottom: 2.4rem
  }

  main.page.workshop section.contents.partner .partner-wrapper .partner-block .desc-box h3:after {
    margin: 1.2rem 0 1.8rem
  }

  main.page.workshop section.contents.partner .partner-wrapper .partner-block .desc-box p a {
    font-size: 1.3rem
  }
}

@media (min-width:769px) {
  a:hover {
    color: #c30d23
  }

  .pc-hidden {
    display: none
  }

  .mod--modal {
    display: none
  }

  .gheader {
    min-width: 1100px
  }

  .gfooter {
    min-width: 1100px
  }

  .gfooter-sns a:hover {
    background-color: #f0ede2
  }

  .gfooter .totop:hover {
    background-color: #f0ede2
  }

  .gfooter .totop:active {
    background-color: #000
  }

  main.page section.contents .tags a {
    transition: .1s
  }

  main.page section.contents .tags a:hover {
    background-color: #f0ede2
  }

  main.page section.contents .news-list article .date:hover a {
    color: #c30d23
  }

  main.page section.contents .news-list article .date:hover+.news-contents-wrapper .news-title a {
    color: #c30d23
  }

  main.page section.contents .news-list article .date.is-hover a {
    color: #c30d23
  }

  main.page section.contents .news-list article .news-title:hover a {
    color: #c30d23
  }

  nav.breadcrumb li a:hover {
    border-color: #c30d23
  }

  .brand-carousel-container::before,
  .brand-carousel-container::after {
    content: '';
    position: absolute;
    top: 0;
    width: 90px;
    height: 100%;
    z-index: 10
  }

  .brand-carousel-container::before {
    left: 0;
    background: linear-gradient(to left, rgba(249, 250, 249, 0), #f9faf9)
  }

  .brand-carousel-container::after {
    right: 0;
    background: linear-gradient(to right, rgba(249, 250, 249, 0), #f9faf9)
  }

  .diary-carousel-navigation .prev:hover,
  .brand-carousel-navigation .prev:hover,
  .image-carousel-navigation .prev:hover,
  .diary-carousel-navigation .next:hover,
  .brand-carousel-navigation .next:hover,
  .image-carousel-navigation .next:hover {
    background-color: #f0ede2
  }

  .diary-carousel-navigation .prev:active,
  .brand-carousel-navigation .prev:active,
  .image-carousel-navigation .prev:active,
  .diary-carousel-navigation .next:active,
  .brand-carousel-navigation .next:active,
  .image-carousel-navigation .next:active {
    background-color: #000;
    border-color: #000
  }

  .diary-carousel-navigation .prev:active svg,
  .brand-carousel-navigation .prev:active svg,
  .image-carousel-navigation .prev:active svg,
  .diary-carousel-navigation .next:active svg,
  .brand-carousel-navigation .next:active svg,
  .image-carousel-navigation .next:active svg {
    fill: #fff
  }

  main.page {
    min-width: 1100px
  }

  main.page section.contents {
    max-width: 1440px
  }

  main.page section.contents .contents-inner nav.inner-link ul {
    margin-top: -30px
  }

  main.page section.contents .contents-inner nav.inner-link ul li {
    margin: 0 6px
  }

  main.page section.contents .contents-inner nav.inner-link ul a:hover {
    background-color: #f0ede2
  }

  main.page section.contents .mod-btn:hover {
    background-color: #f0ede2
  }

  main.page section.contents .mod-btn:active {
    background-color: #000;
    color: #fff
  }

  main.page section.contents .mod-btn.gray:hover {
    border-color: #000
  }

  main.faq dl dd a:hover {
    color: #c30d23 !important
  }

  main section.contents .article-pagination li :hover {
    background-color: #f0ede2
  }

  main section.contents .article-pagination li:active a {
    background-color: #b49d51;
    color: #fff
  }

  main section.contents .article-pagination li:active a svg {
    fill: #fff;
    vertical-align: top
  }

  main.home {
    background-image: url("../assets/home/bg-pc.svg");
    background-position: top 690px center
  }

  main.home section.contents.hero {
    min-width: 1100px
  }

  main.home section.contents.slogan {
    background-image: url("../assets/home/slogan-bg.png");
    background-position: bottom 70px right calc(50% - 340px);
    background-size: 136px
  }

  main.home section.contents.slogan .contents-inner .wrapper {
    display: flex;
    justify-content: flex-start
  }

  main.home section.contents.slogan .contents-inner h2 {
    position: absolute;
    top: 160px;
    left: -20px;
    line-height: 1;
    transform: rotate(90deg)
  }

  main.home section.contents.slogan .contents-inner .copy {
    margin-left: 44px;
    width: 296px;
    height: 410px
  }

  main.home section.contents.slogan .contents-inner .copy picture {
    margin: 0 auto;
    width: 140px
  }

  main.home section.contents.itookashi {
    min-width: 1100px;
    height: 520px
  }

  main.home section.contents.itookashi .text {
    margin-top: -443px;
    width: 400px
  }

  main.home section.contents.service .contents-inner h2 {
    position: absolute;
    top: 170px;
    left: -20px;
    line-height: 1;
    transform: rotate(90deg)
  }

  main.home section.contents.service .contents-inner ul.service-list li.service-card:nth-of-type(2n) {
    margin-top: 60px
  }

  main.home section.contents.service .contents-inner ul.service-list li.service-card a:hover .wrapper {
    box-shadow: 2rem 2rem 0 0 #c30d23
  }

  main.home section.contents.products .contents-inner h2 {
    position: absolute;
    top: 60px;
    right: calc(50% - 500px);
    line-height: 1;
    transform: rotate(90deg)
  }

  main.home section.contents.information .contents-inner h2 {
    position: absolute;
    top: 130px;
    right: calc(50% - 500px);
    line-height: 1;
    transform: rotate(90deg)
  }

  main.about section.contents.common-hero,
  main.itookashi section.contents.common-hero {
    min-width: 1100px
  }

  main.about section.contents.about .contents-inner>.copy span,
  main.itookashi section.contents.about .contents-inner>.copy span {
    text-align: center
  }

  main.about .about-container-wrapper {
    padding: 0 10px 0 84px;
    max-width: 1142px
  }

  main.about .about-container:not(:last-of-type) {
    margin-bottom: 12rem
  }

  main.about .about-container-inner {
    width: 480px
  }

  main.about .about-container-inner .wrapper {
    display: flex;
    justify-content: space-between
  }

  main.about .about-container.container1 {
    padding-top: 160px;
    background-position: top 393px left 239px, top 0 left 0;
    background-size: 270px, 720px
  }

  main.about .about-container.container1 .about-container-inner {
    margin: 0 8px 0 auto
  }

  main.about .about-container.container1::after {
    position: absolute;
    bottom: -33px;
    left: 87px
  }

  main.about .about-container.container2 {
    background-position: top 80px right 86px;
    background-size: 520px
  }

  main.about .about-container.container2::after {
    position: absolute;
    bottom: -190px;
    right: 546px
  }

  main.about .about-container.container3 {
    background-position: top 120px left 0;
    background-size: 520px
  }

  main.about .about-container.container3 .about-container-inner {
    margin: 0 90px 0 auto
  }

  main.about .about-container.container4 {
    background-position: top 160px right 0;
    background-size: 520px
  }

  main.about .about-container.container4::before {
    position: absolute;
    top: 102px;
    left: 444px
  }

  main.itookashi .itookashi-container {
    width: 960px
  }

  main.itookashi .itookashi-container-item {
    width: 480px;
    height: 480px
  }

  main.itookashi section.contents.about .itookashi-container {
    height: 960px
  }

  main.itookashi section.contents.about .itookashi-container::before {
    top: -45px;
    right: 78px
  }

  main.itookashi section.contents.about .itookashi-container::after {
    bottom: -47px;
    left: 27px
  }

  main.itookashi section.contents.factory .contents-inner .itookashi-container-item {
    height: 480px
  }

  main.news-detail section.contents .contents-inner .news-detail-content .news-detail-body p a:hover {
    color: #c30d23
  }

  main.factory section.contents .contents-header {
    padding: 0 20px;
    max-width: 1120px
  }

  main.factory section.contents .contents-header h3 {
    border-radius: 24px
  }

  main.factory section.contents .contents-inner .line-list li {
    margin-bottom: 40px;
    width: 440px
  }

  main.factory section.contents .contents-inner .line-list li:nth-of-type(2n) {
    margin-top: 80px
  }

  main.factory section.contents .contents-inner .line-item {
    justify-content: center
  }

  main.factory section.contents .contents-inner .line-item .image-wrapper {
    margin-top: 28px;
    margin-left: 40px
  }

  main.factory section.contents .contents-inner .line-item .wrapper {
    width: 320px
  }

  main.bland-introduction .banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: transparent;
    transition: .2s
  }

  main.bland-introduction .banner:hover::before,
  main.bland-introduction .banner:active::before {
    background-color: rgba(0, 0, 0, 0.3)
  }

  main.bland-introduction .banner:hover::after,
  main.bland-introduction .banner:active::after {
    content: '詳しく見る';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 240px;
    height: 48px;
    text-align: center;
    text-decoration: none;
    font-family: iroha-31nire-stdn, sans-serif;
    font-size: 14px;
    line-height: 46px;
    color: #fff;
    border: 1px solid #fff;
    transform: translate(-50%, -50%)
  }

  main.bland-introduction section.contents.brand-list .contents-inner .brand-card-wrapper .brand-card:nth-child(n + 3) {
    margin-top: 3rem
  }

  main.bland-introduction section.contents.brand-list .contents-inner .brand-card-wrapper .brand-card a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 8px;
    background-color: transparent;
    transition: .2s
  }

  main.bland-introduction section.contents.brand-list .contents-inner .brand-card-wrapper .brand-card a:hover::before,
  main.bland-introduction section.contents.brand-list .contents-inner .brand-card-wrapper .brand-card a:active::before {
    background-color: rgba(0, 0, 0, 0.3)
  }

  main.bland-introduction section.contents.brand-list .contents-inner .brand-card-wrapper .brand-card a:hover::after,
  main.bland-introduction section.contents.brand-list .contents-inner .brand-card-wrapper .brand-card a:active::after {
    content: '詳しく見る';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 240px;
    height: 48px;
    text-align: center;
    text-decoration: none;
    font-family: iroha-31nire-stdn, sans-serif;
    font-size: 14px;
    line-height: 46px;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 4px;
    transform: translate(-50%, -50%)
  }

  main.company section.contents .contents-inner .wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 80px auto
  }

  main.company section.contents.header {
    padding: 80px 10px 0
  }

  main.company section.contents.header .hero-image {
    max-width: 1120px;
    height: 480px;
    border-radius: 24px;
    overflow: hidden
  }

  main.company section.contents.message {
    padding: 0 20px
  }

  main.company section.contents.message .wrapper {
    display: block;
    width: 840px
  }

  main.company section.contents.message .wrapper .profile {
    position: absolute;
    top: 160px
  }

  main.company section.contents.history .wrapper {
    width: 960px
  }

  main.company section.contents.history .wrapper .image {
    width: 420px;
    border-radius: 8px
  }

  main.company section.contents.history .wrapper .text {
    width: 500px
  }

  main.company section.contents.information .wrapper {
    width: 680px
  }

  main.company section.contents.guidelines ol {
    margin: 15px auto 0;
    width: 980px
  }

  main.company section.contents.guidelines ol li {
    width: 306px
  }

  main.history section.contents.chapter .chapter-wrapper:not(:last-of-type)::after {
    top: 430px
  }

  main.history section.contents.chapter .chapter-wrapper {
    height: 480px
  }

  main.history section.contents.chapter .chapter-wrapper:nth-of-type(2n) {
    flex-direction: row-reverse
  }

  main.history section.contents.chapter .chapter-wrapper .image,
  main.history section.contents.chapter .chapter-wrapper .detail {
    width: 50%
  }

  main.history section.contents.chapter .chapter-wrapper .detail a.mod-btn:hover {
    background-color: #e0dbc5
  }

  main.group section.contents.group .infor {
    display: flex;
    justify-content: space-between;
    align-items: center
  }

  main.group section.contents.group .infor p {
    margin-right: 40px;
    font-size: 14px
  }

  main.group section.contents.group ul li {
    display: flex;
    min-height: 358px
  }

  main.group section.contents.group ul li .logo {
    flex-shrink: 0;
    width: 240px;
    margin-right: 40px
  }

  main.group section.contents.group ul li .detail {
    width: 680px
  }

  main.group section.contents.group ul li .detail address dd {
    width: 430px;
    padding-left: 80px
  }

  main.group section.contents.group ul li a.mod-btn {
    position: absolute;
    top: 286px;
    width: 240px;
    height: 32px;
    font-size: 13px
  }

  main.group section.contents.group ul li.children {
    display: block;
    min-height: auto
  }

  main.group section.contents.group ul li.children .child {
    display: flex;
    justify-content: space-between;
    margin-left: auto;
    min-height: 358px;
    width: 680px
  }

  main.group section.contents.group ul li.children .child .detail {
    width: auto
  }

  main.business section.contents.business-header .contents-inner .hero-image {
    border-radius: 12px
  }

  main.business section.contents.business-detail .contents-inner .container .news-list {
    width: 800px
  }

  main.business section.contents.business-detail .contents-inner .container .item-list li {
    height: 220px
  }

  main.business section.contents.business-detail .contents-inner .container .contact .text {
    display: inline-block;
    margin: 0 1rem;
    font-size: 16px;
    line-height: 2.6
  }

  main.business section.contents.service-list ul.service-list li.service-card a:hover .wrapper {
    box-shadow: 1.2rem 1.2rem 0 0 #c30d23
  }

  main.business section.contents.service-list ul.service-list li.service-card a .wrapper .title {
    height: 80px
  }

  main.page.recruit section.contents.header .contents-inner .hero-image {
    max-width: 1120px;
    height: 480px;
    border-radius: 24px
  }

  main.page.recruit section.contents.interview .interview-wrapper::after {
    content: "";
    display: block;
    width: 290px
  }

  main.page.recruit section.contents.interview .interview-wrapper .staff-interview:hover {
    box-shadow: 2rem 2rem 0 0 #c30d23
  }

  main.page.recruit section.contents.interview .interview-wrapper .staff-interview:nth-child(3n) {
    margin-top: 8rem
  }

  main.page.workshop section.contents.diary a:hover {
    background-color: #e0dbc5
  }

  main.page.workshop section.contents.partner .partner-wrapper .partner-block .desc-box p a.external-link:hover svg {
    fill: #c30d23
  }
}

@media (min-width:769px) and (max-width:1099px) {
  .gfooter .totop {
    right: 70px
  }
}

@media (max-width:768px) and (max-width:768px) {
  main.bland-introduction section.contents.recipe h2 {
    margin-bottom: 4rem
  }
}

@media (min-width:769px) and (max-width:768px) {
  main.bland-introduction .banner::after {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20.5rem;
    height: 4rem;
    font-size: 1.3rem;
    line-height: calc(4rem - 2px)
  }

  main.bland-introduction section.contents.brand-list .contents-inner .brand-card-wrapper .brand-card a::after {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20.5rem;
    height: 4rem;
    font-size: 1.3rem;
    line-height: calc(4rem - 2px)
  }
}
/*リプトン用 2025/04/10*/
.Yugothic{
  font-family: '游ゴシック体' !important;
}
main.bland-introduction section.contents.about .contents-inner .brand-points-wrapper .brand-points-inner .point-desc .lipton {
  font-size: 2rem;
  margin: 2rem 0;
  font-family: '游ゴシック体';
}