@charset "UTF-8";
/**
 * html5doctor.com Reset Stylesheet v1.6.1 (http://html5doctor.com/html-5-reset-stylesheet/)
 * Richard Clark (http://richclarkdesign.com)
 * http://cssreset.com
 */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

li {
  list-style: none;
}

input,
button,
textarea,
select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
}

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

a:link,
a:visited,
a:hover,
a:active {
  text-decoration: none;
}

*:focus {
  outline: none;
}

.sp {
  display: none !important;
}

.pc {
  display: block !important;
}

.sp-flex {
  display: none !important;
}

.pc-flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.sp-inlineblock {
  display: none !important;
}

.pc-inlineblock {
  display: inline-block !important;
}

.pc-inline {
  display: inline !important;
}

.sp-inline {
  display: inline !important;
}

@media screen and (max-width: 750px) {
  .sp {
    display: block !important;
  }
  .pc {
    display: none !important;
  }
  .sp-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  .pc-flex {
    display: none !important;
  }
  .sp-inlineblock {
    display: inline-block !important;
  }
  .pc-inlineblock {
    display: none !important;
  }
  .sp-inline {
    display: inline !important;
  }
  .pc-inline {
    display: none !important;
  }
}
.text_align_center {
  text-align: center;
}

.text_align_left {
  text-align: left;
}

.text_align_right {
  text-align: right;
}

.ank {
  margin: -80px 0 0 0;
  padding: 80px 0 0 0;
}
@media screen and (max-width: 750px) {
  .ank {
    margin: -55px 0 0 0;
    padding: 55px 0 0 0;
  }
}

.ank04 {
  margin: -50px 0 0 0;
  padding: 50px 0 0 0;
}
@media screen and (max-width: 750px) {
  .ank04 {
    margin: -20px 0 0 0;
    padding: 20px 0 0 0;
  }
}

.ank05 {
  margin: -100px 0 0 0;
  padding: 100px 0 0 0;
}
@media screen and (max-width: 750px) {
  .ank05 {
    margin: -55px 0 0 0;
    padding: 55px 0 0 0;
  }
}

.ank.ank_mg {
  margin: -180px 0 0 0;
  padding: 180px 0 0 0;
}
@media screen and (max-width: 750px) {
  .ank.ank_mg {
    margin: -100px 0 0 0;
    padding: 100px 0 0 0;
  }
}

.mgB_0 {
  margin-bottom: 0em !important;
}

.mgB_1 {
  margin-bottom: 0.1em !important;
}

.mgB_2 {
  margin-bottom: 0.2em !important;
}

.mgB_3 {
  margin-bottom: 0.3em !important;
}

.mgB_4 {
  margin-bottom: 0.4em !important;
}

.mgB_5 {
  margin-bottom: 0.5em !important;
}

.mgB_6 {
  margin-bottom: 0.6em !important;
}

.mgB_7 {
  margin-bottom: 0.7em !important;
}

.mgB_8 {
  margin-bottom: 0.8em !important;
}

.mgB_9 {
  margin-bottom: 0.9em !important;
}

.mgB_10 {
  margin-bottom: 1em !important;
}

.mgB_11 {
  margin-bottom: 1.1em !important;
}

.mgB_12 {
  margin-bottom: 1.2em !important;
}

.mgB_13 {
  margin-bottom: 1.3em !important;
}

.mgB_14 {
  margin-bottom: 1.4em !important;
}

.mgB_15 {
  margin-bottom: 1.5em !important;
}

.mgB_16 {
  margin-bottom: 1.6em !important;
}

.mgB_17 {
  margin-bottom: 1.7em !important;
}

.mgB_18 {
  margin-bottom: 1.8em !important;
}

.mgB_19 {
  margin-bottom: 1.9em !important;
}

.mgB_20 {
  margin-bottom: 2em !important;
}

.mgB_21 {
  margin-bottom: 2.1em !important;
}

.mgB_22 {
  margin-bottom: 2.2em !important;
}

.mgB_23 {
  margin-bottom: 2.3em !important;
}

.mgB_24 {
  margin-bottom: 2.4em !important;
}

.mgB_25 {
  margin-bottom: 2.5em !important;
}

.mgB_26 {
  margin-bottom: 2.6em !important;
}

.mgB_27 {
  margin-bottom: 2.7em !important;
}

.mgB_28 {
  margin-bottom: 2.8em !important;
}

.mgB_29 {
  margin-bottom: 2.9em !important;
}

.mgB_30 {
  margin-bottom: 3em !important;
}

.mgB_31 {
  margin-bottom: 3.1em !important;
}

.mgB_32 {
  margin-bottom: 3.2em !important;
}

.mgB_33 {
  margin-bottom: 3.3em !important;
}

.mgB_34 {
  margin-bottom: 3.4em !important;
}

.mgB_35 {
  margin-bottom: 3.5em !important;
}

.mgB_36 {
  margin-bottom: 3.6em !important;
}

.mgB_37 {
  margin-bottom: 3.7em !important;
}

.mgB_38 {
  margin-bottom: 3.8em !important;
}

.mgB_39 {
  margin-bottom: 3.9em !important;
}

.mgB_40 {
  margin-bottom: 4em !important;
}

.mgB_41 {
  margin-bottom: 4.1em !important;
}

.mgB_42 {
  margin-bottom: 4.2em !important;
}

.mgB_43 {
  margin-bottom: 4.3em !important;
}

.mgB_44 {
  margin-bottom: 4.4em !important;
}

.mgB_45 {
  margin-bottom: 4.5em !important;
}

.mgB_46 {
  margin-bottom: 4.6em !important;
}

.mgB_47 {
  margin-bottom: 4.7em !important;
}

.mgB_48 {
  margin-bottom: 4.8em !important;
}

.mgB_49 {
  margin-bottom: 4.9em !important;
}

.mgB_50 {
  margin-bottom: 5em !important;
}

.mgB_51 {
  margin-bottom: 5.1em !important;
}

.mgB_52 {
  margin-bottom: 5.2em !important;
}

.mgB_53 {
  margin-bottom: 5.3em !important;
}

.mgB_54 {
  margin-bottom: 5.4em !important;
}

.mgB_55 {
  margin-bottom: 5.5em !important;
}

.mgB_56 {
  margin-bottom: 5.6em !important;
}

.mgB_57 {
  margin-bottom: 5.7em !important;
}

.mgB_58 {
  margin-bottom: 5.8em !important;
}

.mgB_59 {
  margin-bottom: 5.9em !important;
}

.mgB_60 {
  margin-bottom: 6em !important;
}

.mgB_61 {
  margin-bottom: 6.1em !important;
}

.mgB_62 {
  margin-bottom: 6.2em !important;
}

.mgB_63 {
  margin-bottom: 6.3em !important;
}

.mgB_64 {
  margin-bottom: 6.4em !important;
}

.mgB_65 {
  margin-bottom: 6.5em !important;
}

.mgB_66 {
  margin-bottom: 6.6em !important;
}

.mgB_67 {
  margin-bottom: 6.7em !important;
}

.mgB_68 {
  margin-bottom: 6.8em !important;
}

.mgB_69 {
  margin-bottom: 6.9em !important;
}

.mgB_70 {
  margin-bottom: 7em !important;
}

.mgB_71 {
  margin-bottom: 7.1em !important;
}

.mgB_72 {
  margin-bottom: 7.2em !important;
}

.mgB_73 {
  margin-bottom: 7.3em !important;
}

.mgB_74 {
  margin-bottom: 7.4em !important;
}

.mgB_75 {
  margin-bottom: 7.5em !important;
}

.mgB_76 {
  margin-bottom: 7.6em !important;
}

.mgB_77 {
  margin-bottom: 7.7em !important;
}

.mgB_78 {
  margin-bottom: 7.8em !important;
}

.mgB_79 {
  margin-bottom: 7.9em !important;
}

.mgB_80 {
  margin-bottom: 8em !important;
}

.mgB_81 {
  margin-bottom: 8.1em !important;
}

.mgB_82 {
  margin-bottom: 8.2em !important;
}

.mgB_83 {
  margin-bottom: 8.3em !important;
}

.mgB_84 {
  margin-bottom: 8.4em !important;
}

.mgB_85 {
  margin-bottom: 8.5em !important;
}

.mgB_86 {
  margin-bottom: 8.6em !important;
}

.mgB_87 {
  margin-bottom: 8.7em !important;
}

.mgB_88 {
  margin-bottom: 8.8em !important;
}

.mgB_89 {
  margin-bottom: 8.9em !important;
}

.mgB_90 {
  margin-bottom: 9em !important;
}

.mgB_91 {
  margin-bottom: 9.1em !important;
}

.mgB_92 {
  margin-bottom: 9.2em !important;
}

.mgB_93 {
  margin-bottom: 9.3em !important;
}

.mgB_94 {
  margin-bottom: 9.4em !important;
}

.mgB_95 {
  margin-bottom: 9.5em !important;
}

.mgB_96 {
  margin-bottom: 9.6em !important;
}

.mgB_97 {
  margin-bottom: 9.7em !important;
}

.mgB_98 {
  margin-bottom: 9.8em !important;
}

.mgB_99 {
  margin-bottom: 9.9em !important;
}

.mgB_100 {
  margin-bottom: 10em !important;
}

.mgB_101 {
  margin-bottom: 10.1em !important;
}

.mgB_102 {
  margin-bottom: 10.2em !important;
}

.mgB_103 {
  margin-bottom: 10.3em !important;
}

.mgB_104 {
  margin-bottom: 10.4em !important;
}

.mgB_105 {
  margin-bottom: 10.5em !important;
}

.mgB_106 {
  margin-bottom: 10.6em !important;
}

.mgB_107 {
  margin-bottom: 10.7em !important;
}

.mgB_108 {
  margin-bottom: 10.8em !important;
}

.mgB_109 {
  margin-bottom: 10.9em !important;
}

.mgB_110 {
  margin-bottom: 11em !important;
}

.mgB_111 {
  margin-bottom: 11.1em !important;
}

.mgB_112 {
  margin-bottom: 11.2em !important;
}

.mgB_113 {
  margin-bottom: 11.3em !important;
}

.mgB_114 {
  margin-bottom: 11.4em !important;
}

.mgB_115 {
  margin-bottom: 11.5em !important;
}

.mgB_116 {
  margin-bottom: 11.6em !important;
}

.mgB_117 {
  margin-bottom: 11.7em !important;
}

.mgB_118 {
  margin-bottom: 11.8em !important;
}

.mgB_119 {
  margin-bottom: 11.9em !important;
}

.mgB_120 {
  margin-bottom: 12em !important;
}

.mgB_121 {
  margin-bottom: 12.1em !important;
}

.mgB_122 {
  margin-bottom: 12.2em !important;
}

.mgB_123 {
  margin-bottom: 12.3em !important;
}

.mgB_124 {
  margin-bottom: 12.4em !important;
}

.mgB_125 {
  margin-bottom: 12.5em !important;
}

.mgB_126 {
  margin-bottom: 12.6em !important;
}

.mgB_127 {
  margin-bottom: 12.7em !important;
}

.mgB_128 {
  margin-bottom: 12.8em !important;
}

.mgB_129 {
  margin-bottom: 12.9em !important;
}

.mgB_130 {
  margin-bottom: 13em !important;
}

.mgB_131 {
  margin-bottom: 13.1em !important;
}

.mgB_132 {
  margin-bottom: 13.2em !important;
}

.mgB_133 {
  margin-bottom: 13.3em !important;
}

.mgB_134 {
  margin-bottom: 13.4em !important;
}

.mgB_135 {
  margin-bottom: 13.5em !important;
}

.mgB_136 {
  margin-bottom: 13.6em !important;
}

.mgB_137 {
  margin-bottom: 13.7em !important;
}

.mgB_138 {
  margin-bottom: 13.8em !important;
}

.mgB_139 {
  margin-bottom: 13.9em !important;
}

.mgB_140 {
  margin-bottom: 14em !important;
}

.mgB_141 {
  margin-bottom: 14.1em !important;
}

.mgB_142 {
  margin-bottom: 14.2em !important;
}

.mgB_143 {
  margin-bottom: 14.3em !important;
}

.mgB_144 {
  margin-bottom: 14.4em !important;
}

.mgB_145 {
  margin-bottom: 14.5em !important;
}

.mgB_146 {
  margin-bottom: 14.6em !important;
}

.mgB_147 {
  margin-bottom: 14.7em !important;
}

.mgB_148 {
  margin-bottom: 14.8em !important;
}

.mgB_149 {
  margin-bottom: 14.9em !important;
}

.mgB_150 {
  margin-bottom: 15em !important;
}

@media screen and (max-width: 750px) {
  .mgB_sp_0 {
    margin-bottom: 0em !important;
  }
  .mgB_sp_1 {
    margin-bottom: 0.1em !important;
  }
  .mgB_sp_2 {
    margin-bottom: 0.2em !important;
  }
  .mgB_sp_3 {
    margin-bottom: 0.3em !important;
  }
  .mgB_sp_4 {
    margin-bottom: 0.4em !important;
  }
  .mgB_sp_5 {
    margin-bottom: 0.5em !important;
  }
  .mgB_sp_6 {
    margin-bottom: 0.6em !important;
  }
  .mgB_sp_7 {
    margin-bottom: 0.7em !important;
  }
  .mgB_sp_8 {
    margin-bottom: 0.8em !important;
  }
  .mgB_sp_9 {
    margin-bottom: 0.9em !important;
  }
  .mgB_sp_10 {
    margin-bottom: 1em !important;
  }
  .mgB_sp_11 {
    margin-bottom: 1.1em !important;
  }
  .mgB_sp_12 {
    margin-bottom: 1.2em !important;
  }
  .mgB_sp_13 {
    margin-bottom: 1.3em !important;
  }
  .mgB_sp_14 {
    margin-bottom: 1.4em !important;
  }
  .mgB_sp_15 {
    margin-bottom: 1.5em !important;
  }
  .mgB_sp_16 {
    margin-bottom: 1.6em !important;
  }
  .mgB_sp_17 {
    margin-bottom: 1.7em !important;
  }
  .mgB_sp_18 {
    margin-bottom: 1.8em !important;
  }
  .mgB_sp_19 {
    margin-bottom: 1.9em !important;
  }
  .mgB_sp_20 {
    margin-bottom: 2em !important;
  }
  .mgB_sp_21 {
    margin-bottom: 2.1em !important;
  }
  .mgB_sp_22 {
    margin-bottom: 2.2em !important;
  }
  .mgB_sp_23 {
    margin-bottom: 2.3em !important;
  }
  .mgB_sp_24 {
    margin-bottom: 2.4em !important;
  }
  .mgB_sp_25 {
    margin-bottom: 2.5em !important;
  }
  .mgB_sp_26 {
    margin-bottom: 2.6em !important;
  }
  .mgB_sp_27 {
    margin-bottom: 2.7em !important;
  }
  .mgB_sp_28 {
    margin-bottom: 2.8em !important;
  }
  .mgB_sp_29 {
    margin-bottom: 2.9em !important;
  }
  .mgB_sp_30 {
    margin-bottom: 3em !important;
  }
  .mgB_sp_31 {
    margin-bottom: 3.1em !important;
  }
  .mgB_sp_32 {
    margin-bottom: 3.2em !important;
  }
  .mgB_sp_33 {
    margin-bottom: 3.3em !important;
  }
  .mgB_sp_34 {
    margin-bottom: 3.4em !important;
  }
  .mgB_sp_35 {
    margin-bottom: 3.5em !important;
  }
  .mgB_sp_36 {
    margin-bottom: 3.6em !important;
  }
  .mgB_sp_37 {
    margin-bottom: 3.7em !important;
  }
  .mgB_sp_38 {
    margin-bottom: 3.8em !important;
  }
  .mgB_sp_39 {
    margin-bottom: 3.9em !important;
  }
  .mgB_sp_40 {
    margin-bottom: 4em !important;
  }
  .mgB_sp_41 {
    margin-bottom: 4.1em !important;
  }
  .mgB_sp_42 {
    margin-bottom: 4.2em !important;
  }
  .mgB_sp_43 {
    margin-bottom: 4.3em !important;
  }
  .mgB_sp_44 {
    margin-bottom: 4.4em !important;
  }
  .mgB_sp_45 {
    margin-bottom: 4.5em !important;
  }
  .mgB_sp_46 {
    margin-bottom: 4.6em !important;
  }
  .mgB_sp_47 {
    margin-bottom: 4.7em !important;
  }
  .mgB_sp_48 {
    margin-bottom: 4.8em !important;
  }
  .mgB_sp_49 {
    margin-bottom: 4.9em !important;
  }
  .mgB_sp_50 {
    margin-bottom: 5em !important;
  }
  .mgB_sp_51 {
    margin-bottom: 5.1em !important;
  }
  .mgB_sp_52 {
    margin-bottom: 5.2em !important;
  }
  .mgB_sp_53 {
    margin-bottom: 5.3em !important;
  }
  .mgB_sp_54 {
    margin-bottom: 5.4em !important;
  }
  .mgB_sp_55 {
    margin-bottom: 5.5em !important;
  }
  .mgB_sp_56 {
    margin-bottom: 5.6em !important;
  }
  .mgB_sp_57 {
    margin-bottom: 5.7em !important;
  }
  .mgB_sp_58 {
    margin-bottom: 5.8em !important;
  }
  .mgB_sp_59 {
    margin-bottom: 5.9em !important;
  }
  .mgB_sp_60 {
    margin-bottom: 6em !important;
  }
  .mgB_sp_61 {
    margin-bottom: 6.1em !important;
  }
  .mgB_sp_62 {
    margin-bottom: 6.2em !important;
  }
  .mgB_sp_63 {
    margin-bottom: 6.3em !important;
  }
  .mgB_sp_64 {
    margin-bottom: 6.4em !important;
  }
  .mgB_sp_65 {
    margin-bottom: 6.5em !important;
  }
  .mgB_sp_66 {
    margin-bottom: 6.6em !important;
  }
  .mgB_sp_67 {
    margin-bottom: 6.7em !important;
  }
  .mgB_sp_68 {
    margin-bottom: 6.8em !important;
  }
  .mgB_sp_69 {
    margin-bottom: 6.9em !important;
  }
  .mgB_sp_70 {
    margin-bottom: 7em !important;
  }
  .mgB_sp_71 {
    margin-bottom: 7.1em !important;
  }
  .mgB_sp_72 {
    margin-bottom: 7.2em !important;
  }
  .mgB_sp_73 {
    margin-bottom: 7.3em !important;
  }
  .mgB_sp_74 {
    margin-bottom: 7.4em !important;
  }
  .mgB_sp_75 {
    margin-bottom: 7.5em !important;
  }
  .mgB_sp_76 {
    margin-bottom: 7.6em !important;
  }
  .mgB_sp_77 {
    margin-bottom: 7.7em !important;
  }
  .mgB_sp_78 {
    margin-bottom: 7.8em !important;
  }
  .mgB_sp_79 {
    margin-bottom: 7.9em !important;
  }
  .mgB_sp_80 {
    margin-bottom: 8em !important;
  }
  .mgB_sp_81 {
    margin-bottom: 8.1em !important;
  }
  .mgB_sp_82 {
    margin-bottom: 8.2em !important;
  }
  .mgB_sp_83 {
    margin-bottom: 8.3em !important;
  }
  .mgB_sp_84 {
    margin-bottom: 8.4em !important;
  }
  .mgB_sp_85 {
    margin-bottom: 8.5em !important;
  }
  .mgB_sp_86 {
    margin-bottom: 8.6em !important;
  }
  .mgB_sp_87 {
    margin-bottom: 8.7em !important;
  }
  .mgB_sp_88 {
    margin-bottom: 8.8em !important;
  }
  .mgB_sp_89 {
    margin-bottom: 8.9em !important;
  }
  .mgB_sp_90 {
    margin-bottom: 9em !important;
  }
  .mgB_sp_91 {
    margin-bottom: 9.1em !important;
  }
  .mgB_sp_92 {
    margin-bottom: 9.2em !important;
  }
  .mgB_sp_93 {
    margin-bottom: 9.3em !important;
  }
  .mgB_sp_94 {
    margin-bottom: 9.4em !important;
  }
  .mgB_sp_95 {
    margin-bottom: 9.5em !important;
  }
  .mgB_sp_96 {
    margin-bottom: 9.6em !important;
  }
  .mgB_sp_97 {
    margin-bottom: 9.7em !important;
  }
  .mgB_sp_98 {
    margin-bottom: 9.8em !important;
  }
  .mgB_sp_99 {
    margin-bottom: 9.9em !important;
  }
  .mgB_sp_100 {
    margin-bottom: 10em !important;
  }
  .mgB_sp_101 {
    margin-bottom: 10.1em !important;
  }
  .mgB_sp_102 {
    margin-bottom: 10.2em !important;
  }
  .mgB_sp_103 {
    margin-bottom: 10.3em !important;
  }
  .mgB_sp_104 {
    margin-bottom: 10.4em !important;
  }
  .mgB_sp_105 {
    margin-bottom: 10.5em !important;
  }
  .mgB_sp_106 {
    margin-bottom: 10.6em !important;
  }
  .mgB_sp_107 {
    margin-bottom: 10.7em !important;
  }
  .mgB_sp_108 {
    margin-bottom: 10.8em !important;
  }
  .mgB_sp_109 {
    margin-bottom: 10.9em !important;
  }
  .mgB_sp_110 {
    margin-bottom: 11em !important;
  }
  .mgB_sp_111 {
    margin-bottom: 11.1em !important;
  }
  .mgB_sp_112 {
    margin-bottom: 11.2em !important;
  }
  .mgB_sp_113 {
    margin-bottom: 11.3em !important;
  }
  .mgB_sp_114 {
    margin-bottom: 11.4em !important;
  }
  .mgB_sp_115 {
    margin-bottom: 11.5em !important;
  }
  .mgB_sp_116 {
    margin-bottom: 11.6em !important;
  }
  .mgB_sp_117 {
    margin-bottom: 11.7em !important;
  }
  .mgB_sp_118 {
    margin-bottom: 11.8em !important;
  }
  .mgB_sp_119 {
    margin-bottom: 11.9em !important;
  }
  .mgB_sp_120 {
    margin-bottom: 12em !important;
  }
  .mgB_sp_121 {
    margin-bottom: 12.1em !important;
  }
  .mgB_sp_122 {
    margin-bottom: 12.2em !important;
  }
  .mgB_sp_123 {
    margin-bottom: 12.3em !important;
  }
  .mgB_sp_124 {
    margin-bottom: 12.4em !important;
  }
  .mgB_sp_125 {
    margin-bottom: 12.5em !important;
  }
  .mgB_sp_126 {
    margin-bottom: 12.6em !important;
  }
  .mgB_sp_127 {
    margin-bottom: 12.7em !important;
  }
  .mgB_sp_128 {
    margin-bottom: 12.8em !important;
  }
  .mgB_sp_129 {
    margin-bottom: 12.9em !important;
  }
  .mgB_sp_130 {
    margin-bottom: 13em !important;
  }
  .mgB_sp_131 {
    margin-bottom: 13.1em !important;
  }
  .mgB_sp_132 {
    margin-bottom: 13.2em !important;
  }
  .mgB_sp_133 {
    margin-bottom: 13.3em !important;
  }
  .mgB_sp_134 {
    margin-bottom: 13.4em !important;
  }
  .mgB_sp_135 {
    margin-bottom: 13.5em !important;
  }
  .mgB_sp_136 {
    margin-bottom: 13.6em !important;
  }
  .mgB_sp_137 {
    margin-bottom: 13.7em !important;
  }
  .mgB_sp_138 {
    margin-bottom: 13.8em !important;
  }
  .mgB_sp_139 {
    margin-bottom: 13.9em !important;
  }
  .mgB_sp_140 {
    margin-bottom: 14em !important;
  }
  .mgB_sp_141 {
    margin-bottom: 14.1em !important;
  }
  .mgB_sp_142 {
    margin-bottom: 14.2em !important;
  }
  .mgB_sp_143 {
    margin-bottom: 14.3em !important;
  }
  .mgB_sp_144 {
    margin-bottom: 14.4em !important;
  }
  .mgB_sp_145 {
    margin-bottom: 14.5em !important;
  }
  .mgB_sp_146 {
    margin-bottom: 14.6em !important;
  }
  .mgB_sp_147 {
    margin-bottom: 14.7em !important;
  }
  .mgB_sp_148 {
    margin-bottom: 14.8em !important;
  }
  .mgB_sp_149 {
    margin-bottom: 14.9em !important;
  }
  .mgB_sp_150 {
    margin-bottom: 15em !important;
  }
}
.header {
  height: 80px;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
  background-color: #fff;
}
@media screen and (max-width: 750px) {
  .header {
    height: 65px;
    right: 0;
  }
}
.header .inner {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 30px;
}
@media screen and (max-width: 750px) {
  .header .inner {
    padding: 0;
  }
}
.header .inner .logo_wrap {
  width: 223px;
  height: 26px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 30px;
  z-index: 2;
}
@media screen and (max-width: 1000px) {
  .header .inner .logo_wrap {
    width: 140px;
  }
}
@media screen and (max-width: 750px) {
  .header .inner .logo_wrap {
    width: 130px;
    height: 17px;
    left: 16px;
  }
}
@media screen and (max-width: 750px) {
  .header .inner .nav-wrap {
    position: fixed;
    top: 65px;
    right: -100vw;
    width: 100%;
    height: 100vh;
    background-color: #333;
    z-index: 100;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    overflow-y: scroll;
    padding: 3.2em 0 3em 0;
  }
}
@media screen and (max-width: 750px) {
  .header .inner .nav-wrap .nav {
    padding: 0 0 6em;
  }
}
.header .inner .nav-wrap .nav .lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 421px;
  z-index: 5;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 0 0;
}
@media screen and (max-width: 900px) {
  .header .inner .nav-wrap .nav .lists {
    width: 360px;
  }
}
@media screen and (max-width: 750px) {
  .header .inner .nav-wrap .nav .lists {
    display: block;
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    left: 0;
    -webkit-transform: none;
            transform: none;
  }
}
.header .inner .nav-wrap .nav .lists .list {
  padding-left: 0;
}
@media screen and (max-width: 750px) {
  .header .inner .nav-wrap .nav .lists .list {
    padding: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  }
}
.header .inner .nav-wrap .nav .lists .list .link {
  font-size: 12px;
  letter-spacing: 0.05em;
  font-weight: normal;
  padding: 13px 16px 30px;
  position: relative;
  border-radius: 8px 8px 0 0;
}
@media screen and (max-width: 1000px) {
  .header .inner .nav-wrap .nav .lists .list .link {
    padding: 13px 10px 30px;
  }
}
@media screen and (max-width: 900px) {
  .header .inner .nav-wrap .nav .lists .list .link {
    padding: 13px 6px 30px;
  }
}
.header .inner .nav-wrap .nav .lists .list .link .letter {
  position: relative;
}
.header .inner .nav-wrap .nav .lists .list .link .letter:after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #e6001a;
  position: absolute;
  bottom: -10px;
  left: 0;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform-origin: left;
          transform-origin: left;
}
@media screen and (max-width: 750px) {
  .header .inner .nav-wrap .nav .lists .list .link .letter:after {
    display: none;
  }
}
.header .inner .nav-wrap .nav .lists .list .link.on {
  background-color: #f2f2f2;
}
.header .inner .nav-wrap .nav .lists .list .link.on .letter {
  opacity: 1;
  font-weight: 500;
}
.header .inner .nav-wrap .nav .lists .list .link.on .letter:after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
@media screen and (max-width: 750px) {
  .header .inner .nav-wrap .nav .lists .list .link {
    display: block;
    padding: 1.5em 1em 1.5em 40px;
    color: #fff;
    line-height: 1;
    font-size: 15px;
  }
}
.header .inner .nav-wrap .nav .submenu {
  position: absolute;
  top: 33px;
  right: 289px;
  z-index: 5;
}
@media screen and (max-width: 900px) {
  .header .inner .nav-wrap .nav .submenu {
    display: none;
  }
}
@media screen and (max-width: 750px) {
  .header .inner .nav-wrap .nav .submenu {
    display: block;
    position: relative;
    top: auto;
    right: auto;
  }
}
.header .inner .nav-wrap .nav .submenu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 750px) {
  .header .inner .nav-wrap .nav .submenu ul {
    display: block;
  }
}
.header .inner .nav-wrap .nav .submenu ul > li {
  margin-left: 1.6em;
}
@media screen and (max-width: 750px) {
  .header .inner .nav-wrap .nav .submenu ul > li {
    padding: 0;
    margin: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  }
}
.header .inner .nav-wrap .nav .submenu ul > li .link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header .inner .nav-wrap .nav .submenu ul > li .link:hover {
  opacity: 0.6;
}
.header .inner .nav-wrap .nav .submenu ul > li .link .i_blank {
  width: 13px;
  height: 13px;
  margin-left: 4px;
}
@media screen and (max-width: 750px) {
  .header .inner .nav-wrap .nav .submenu ul > li .link .i_blank {
    width: 12px;
    height: 12px;
    margin-left: 3px;
  }
}
@media screen and (max-width: 750px) {
  .header .inner .nav-wrap .nav .submenu ul > li .link {
    display: block;
    padding: 1.5em 1em 1.5em 40px;
    color: #fff;
    line-height: 1;
    font-size: 15px;
    font-weight: bold;
  }
}
@media screen and (max-width: 750px) {
  .header .inner .nav-wrap .nav .submenu ul > li .sp-submenu ul li {
    border: none;
  }
}
.header .inner .nav-wrap .nav .submenu ul li:last-child a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.header .inner .toggle {
  display: none;
  width: 44px;
  height: 44px;
  position: relative;
  margin-left: 28px;
  position: fixed;
  top: 10px;
  right: 0;
}
@media screen and (max-width: 750px) {
  .header .inner .toggle {
    display: block;
    z-index: 101;
  }
}
.header .inner .toggle span {
  display: block;
  height: 1px;
  width: 18px;
  background-color: #000;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  -webkit-transition: 0.15s;
  transition: 0.15s;
}
.header .inner .toggle span:nth-child(1) {
  top: 12px;
}
.header .inner .toggle span:nth-child(3) {
  top: -12px;
}
.header .contact {
  width: 140px;
  height: 48px;
  background-color: #e6001a;
  border-radius: 3px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 30px;
  z-index: 2;
}
@media screen and (max-width: 900px) {
  .header .contact {
    width: 100px;
    right: 20px;
  }
}
.header .contact .i_send {
  width: 16px;
  height: 14px;
  margin: 0 8px 0 0;
}
@media screen and (max-width: 750px) {
  .header .contact .i_send {
    width: 13px;
    height: 12px;
    margin: 0 5px 0 0;
  }
}
@media screen and (max-width: 750px) {
  .header .contact {
    font-size: 11px;
    width: 111px;
    height: 28px;
    right: 50px;
    border-radius: 3px;
    top: 18px;
    -webkit-transform: none;
            transform: none;
  }
}
.header .insta {
  display: block;
  width: 30px;
  height: auto;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 202px;
}
@media screen and (max-width: 1000px) {
  .header .insta {
    right: 190px;
  }
}
@media screen and (max-width: 900px) {
  .header .insta {
    right: 140px;
  }
}
@media screen and (max-width: 750px) {
  .header .insta {
    display: none;
  }
}

.head-search {
  width: 450px;
  height: 102px;
  position: absolute;
  top: 24px;
  right: 229px;
  z-index: 4;
}
@media screen and (max-width: 750px) {
  .head-search {
    right: 163px;
    top: 19px;
    width: 100%;
    height: 200px;
  }
}
@media screen and (max-width: 750px) {
  .head-search .searchform .searchbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 65px;
  }
}
.head-search .searchform .searchbox .input_area {
  width: 350px;
  height: 40px;
  position: absolute;
  right: 50px;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
}
@media screen and (max-width: 750px) {
  .head-search .searchform .searchbox .input_area {
    width: 280px;
    position: relative;
    top: auto;
    right: auto;
  }
}
.head-search .searchform .searchbox .input_area input {
  font-size: 16px;
  padding: 0.3em 1.5em;
  height: 40px;
  width: 100%;
  background-color: #fff;
  border-radius: 100px;
}
.head-search .searchform .searchbox .input_area input::-webkit-input-placeholder {
  color: #ccc;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.head-search .searchform .searchbox .input_area input::-moz-placeholder {
  color: #ccc;
  -moz-transition: 0.3s;
  transition: 0.3s;
}
.head-search .searchform .searchbox .input_area input:-ms-input-placeholder {
  color: #ccc;
  -ms-transition: 0.3s;
  transition: 0.3s;
}
.head-search .searchform .searchbox .input_area input::-ms-input-placeholder {
  color: #ccc;
  -ms-transition: 0.3s;
  transition: 0.3s;
}
.head-search .searchform .searchbox .input_area input::placeholder {
  color: #ccc;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.head-search .searchform .searchbox .search_button {
  position: relative;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 750px) {
  .head-search .searchform .searchbox .search_button {
    width: 28px !important;
    height: 28px !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
  }
}
.head-search .searchform .searchbox .search_button input {
  cursor: pointer;
  width: 40px;
  height: 40px;
  border-radius: 5px;
  background-color: #bebebe;
  position: relative;
  text-indent: -200px;
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 750px) {
  .head-search .searchform .searchbox .search_button input {
    width: 28px;
    height: 28px;
    border-radius: 3px;
  }
}
.head-search .searchform .searchbox .search_button:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 15px;
  height: 15px;
  margin: auto;
  background-image: url(../img/common/i_glass.png);
  background-repeat: no-repeat;
  background-size: 15px 15px;
  pointer-events: none;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .head-search .searchform .searchbox .search_button:before {
    background-size: 18px 18px;
    background-position: center;
    width: 18px;
    height: 18px;
  }
}
@media screen and (max-width: 750px) {
  .head-search .searchform .searchbox .search_button {
    position: relative;
    top: auto;
    right: auto;
    margin-left: 10px;
  }
  .head-search .searchform .searchbox .search_button:before {
    width: 15px;
    height: 15px;
    background-size: cover;
  }
  .head-search .searchform .searchbox .search_button input {
    width: 100%;
    height: 100%;
  }
}

#head-search-open-base {
  width: 100%;
  height: 126px;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgb(0, 0, 0);
  z-index: 1;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
@media screen and (max-width: 750px) {
  #head-search-open-base {
    height: 65px;
  }
}

body.search-open .header .inner #head-search-open-base {
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 3;
  visibility: visible;
  opacity: 1;
}
body.search-open .header .inner .head-search {
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 750px) {
  body.search-open .header .inner .head-search {
    width: 100%;
    top: 0;
    right: 0;
    height: 65px;
  }
}
body.search-open .header .inner .head-search .searchform .searchbox .input_area {
  visibility: visible;
  opacity: 1;
}
body.search-open .header .inner .nav-wrap .nav .submenu {
  z-index: 2;
}
body.search-open .header .inner .nav-wrap .nav .lists {
  z-index: 2;
}

.search-open-btn {
  width: 28px;
  height: 28px;
  position: fixed;
  top: 19px;
  right: 163px;
  border-radius: 5px;
  background-color: #bebebe;
  opacity: 1;
  pointer-events: none;
}
.search-open-btn:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 12px;
  height: 12px;
  margin: auto;
  background-image: url(../img/common/i_glass.png);
  background-repeat: no-repeat;
  background-size: 12px 12px;
  background-position: center;
  pointer-events: none;
  z-index: 1;
}

.header.open .inner .toggle span:nth-child(1) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 0;
}
.header.open .inner .toggle span:nth-child(2) {
  display: none;
}
.header.open .inner .toggle span:nth-child(3) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 0;
}
@media screen and (max-width: 750px) {
  .header.open .inner .nav-wrap {
    right: 0;
  }
}

.sub-menus {
  display: block;
  margin: auto;
  background-color: #f2f2f2;
  padding: 30px 0;
  width: 100%;
}
.sub-menus .sub-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}
.sub-menus .sub-menu .name {
  padding: 6px 36px 0 20px;
  position: relative;
  white-space: nowrap;
}
.sub-menus .sub-menu .name:before {
  content: "";
  display: block;
  position: absolute;
  top: 9px;
  left: 0;
  width: 2px;
  height: 48px;
  margin: auto;
  background-color: #e6001a;
}
.sub-menus .sub-menu .name .en {
  font-size: 10px;
  color: #e6001a;
  font-family: "Lato", sans-serif;
  font-weight: 500;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1300px) {
  .sub-menus .sub-menu .name .en {
    font-size: 1.0769230769vw;
    min-height: 0vw;
  }
}
.sub-menus .sub-menu .name .jp {
  letter-spacing: 0.02em;
  font-size: 28px;
  font-weight: normal;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 1300px) {
  .sub-menus .sub-menu .name .jp {
    font-size: 2.8461538462vw;
    min-height: 0vw;
  }
}
.sub-menus .sub-menu .name .top {
  font-size: 14px;
  position: absolute;
  left: 0;
  bottom: 10px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  white-space: nowrap;
}
.sub-menus .sub-menu .name .top img {
  width: 20px;
  height: 20px;
  margin-left: 12px;
}
.sub-menus .sub-menu .links-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
.sub-menus .sub-menu .links-area .block01 {
  width: 83%;
}
.sub-menus .sub-menu .links-area .block01 .links {
  display: grid;
  gap: 11px 11px;
}
.sub-menus .sub-menu .links-area .block01 .links li {
  border-radius: 3px;
  overflow: hidden;
}
.sub-menus .sub-menu .links-area .block01 .links li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  font-weight: 600;
  color: #fff;
  font-size: 14px;
  padding: 0 0 0 0;
}
.sub-menus .sub-menu .links-area .block01 .links li a .menu-name {
  position: absolute;
  left: 20px;
}
.sub-menus .sub-menu .links-area .block01 .links li a:after {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  position: absolute;
  bottom: 8px;
  right: 8px;
  background-image: url(../img/common/i_link.png);
  background-repeat: no-repeat;
  background-size: 18px 18px;
}
.sub-menus .sub-menu .links-area .block01 .links li a:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
}
.sub-menus .sub-menu .links-area .block01 .links li img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.sub-menus .sub-menu .links-area .block01 .links .area01 {
  grid-area: area01;
}
.sub-menus .sub-menu .links-area .block01 .links .area02 {
  grid-area: area02;
}
.sub-menus .sub-menu .links-area .block01 .links .area03 {
  grid-area: area03;
}
.sub-menus .sub-menu .links-area .block01 .links .area04 {
  grid-area: area04;
}
.sub-menus .sub-menu .links-area .block01 .links .area05 {
  grid-area: area05;
}

#sub-menu-01 .links-area .block01 .links {
  grid-template-columns: 0.8fr 0.8fr 1fr;
  grid-template-rows: 70px 70px;
  grid-template-areas: "area02 area03 area01" "area04 area05 area01";
}

#sub-menu-02 .links-area .block01 .links {
  grid-template-columns: 1fr 0.8fr 0.8fr;
  grid-template-rows: 70px 70px;
  grid-template-areas: "area01 area02 area03" "area01 area04 area05";
}

#sub-menu-03 .links-area .block01 .links {
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 70px 70px;
  grid-template-areas: "area01 area02 area03" "area01 area02 area04";
}

#sub-menu-04 .links-area .block01 .links {
  grid-template-columns: 1fr 0.8fr 0.8fr;
  grid-template-rows: 70px 70px;
  grid-template-areas: "area01 area02 area03" "area01 area04 area05";
}

#sub-menu-05 .links-area .block01 .links {
  grid-template-columns: 1fr 0.8fr 0.8fr;
  grid-template-rows: 70px 70px;
  grid-template-areas: "area01 area02 area03" "area01 area04 area05";
}

.sub-menus .sub-menu .links-area .block02 {
  width: 14.5%;
  border-left: 1px dashed #ddd;
  padding: 0 0 0 20px;
}
.sub-menus .sub-menu .links-area .block02 .links a {
  font-size: 14px;
  letter-spacing: 0.08em;
  position: relative;
  padding: 0 0 0 1.7em;
  white-space: nowrap;
}
.sub-menus .sub-menu .links-area .block02 .links a:before {
  content: "";
  display: block;
  position: absolute;
  top: 8px;
  left: 5px;
  width: 6px;
  height: 6px;
  margin: auto;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.sub-menus.on {
  display: block;
}

.sub-menus-back {
  width: 100%;
  height: 211px;
  position: absolute;
  top: 80px;
  left: 0;
  z-index: 300;
  display: block;
  display: none;
}

.sub-menus-back.on {
  display: block;
}

.sp-submenu {
  display: none;
}
@media screen and (max-width: 750px) {
  .sp-submenu {
    padding: 0 0 1.6em;
    margin: -0.4px 0 0 0;
  }
  .sp-submenu ul li {
    margin: 0 0 0.3em 0;
  }
  .sp-submenu ul li a {
    padding: 0.3em 0 0.3em 40px;
    display: block;
    color: #fff;
    font-size: 15px;
    background-image: url(../img/common/i_ar_white.png);
    background-size: 14px 12px;
    background-position: right 40px center;
    background-repeat: no-repeat;
  }
}

@media screen and (max-width: 750px) {
  .header .letter {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .header .letter .cross {
    width: 13px;
    height: 13px;
    position: relative;
    display: block;
    margin-left: 11px;
  }
  .header .letter .cross:after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
  }
  .header .letter .cross:before {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background-color: #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
  }
  .header .sp-sub-open .letter .cross:before {
    display: none;
  }
}

@media screen and (max-width: 750px) {
  body.search-open .header .inner .head-search {
    z-index: 1000;
  }
  body.search-open .head-search .searchform .searchbox .search_button {
    z-index: 1000;
    width: 40px !important;
    height: 40px !important;
    top: auto !important;
    position: relative !important;
  }
}
.footer {
  position: relative;
  margin: 30px 0 0 0;
}
.footer .inner {
  background-color: #393939;
  padding: 46px 0 42px;
}
@media screen and (max-width: 1000px) {
  .footer .inner {
    padding: 40px 0;
  }
}
.footer .inner .ft-main {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(0px, 4vw, 80px);
}
@media screen and (max-width: 1000px) {
  .footer .inner .ft-main {
    display: block;
    padding: 0 20px;
  }
}
.footer .inner .ft-info {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 320px;
  padding-top: 20px;
}
@media screen and (max-width: 1000px) {
  .footer .inner .ft-info {
    width: 100%;
    text-align: center;
    padding-top: 0;
    margin: 0 0 30px;
    padding-bottom: 24px;
    position: relative;
  }
  .footer .inner .ft-info:after {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: calc(100vw - 90px);
    height: 1px;
    background-color: rgba(255, 255, 255, 0.3);
  }
}
.footer .inner .ft-info .logo {
  display: block;
  width: 247px;
  height: auto;
  margin: 0 0 20px;
}
@media screen and (max-width: 1000px) {
  .footer .inner .ft-info .logo {
    margin: 0 auto 20px;
  }
}
.footer .inner .ft-info .txt {
  color: #fff;
  font-weight: 300;
}
.footer .inner .ft-info .txt p {
  font-size: 14px;
  line-height: 1.6;
  white-space: nowrap;
}
@media screen and (max-width: 1000px) {
  .footer .inner .ft-info .txt p {
    white-space: normal;
  }
}
.footer .inner .ft-info .txt p.num {
  font-size: 12px;
  margin-top: 4px;
}
.footer .inner .ft-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
@media screen and (max-width: 1000px) {
  .footer .inner .ft-nav {
    display: block;
  }
}
.footer .inner .ft-nav .col, .footer .inner .ft-nav .col-recruit {
  padding: 10px clamp(8px, 3vw, 40px) 10px clamp(6px, 2vw, 25px);
  margin-left: clamp(0px, 6vw, 100px);
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}
.footer .inner .ft-nav .col:first-child, .footer .inner .ft-nav .col-recruit:first-child {
  margin-left: 0;
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}
@media screen and (max-width: 1000px) {
  .footer .inner .ft-nav .col, .footer .inner .ft-nav .col-recruit {
    margin-left: 0;
    border-left: none;
    padding: 0 0 25px;
    text-align: center;
  }
  .footer .inner .ft-nav .col:first-child, .footer .inner .ft-nav .col-recruit:first-child {
    border-left: none;
  }
}
@media screen and (max-width: 1000px) {
  .footer .inner .ft-nav .col:not(.col-info), .footer .inner .ft-nav .col-recruit {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  }
}
.footer .inner .ft-nav ul {
  margin: 0;
  padding: 0;
}
.footer .inner .ft-nav li, .footer .inner .ft-nav .head {
  list-style: none;
}
.footer .inner .ft-nav a, .footer .inner .ft-nav .head a {
  display: block;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 2.5;
  white-space: nowrap;
}
@media screen and (max-width: 1000px) {
  .footer .inner .ft-nav a, .footer .inner .ft-nav .head a {
    white-space: normal;
  }
}
.footer .inner .ft-nav .head {
  margin: 0 0 4px;
}
.footer .inner .ft-nav .col-recruit .head a {
  font-weight: 600;
  margin-bottom: 0;
}
.footer .inner .ft-nav .col-recruit ul li a {
  font-size: 13px;
}
.footer .inner .ft-nav .col-recruit ul li a::before {
  content: "- ";
}
.footer .inner .ft-nav .col-info {
  margin-left: auto;
  border-left: none;
  padding-left: 0;
  text-align: right;
}
@media screen and (max-width: 1000px) {
  .footer .inner .ft-nav .col-info {
    text-align: center;
  }
}
.footer .inner .ft-nav .col-info .sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 16px;
  margin-top: 16px;
}
@media screen and (max-width: 1000px) {
  .footer .inner .ft-nav .col-info .sns {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.footer .inner .ft-nav .col-info .sns img {
  display: block;
  width: 22px;
  height: 22px;
  -o-object-fit: contain;
     object-fit: contain;
}
.footer .bottom {
  background-color: #1a1a1a;
  padding: 32px 0;
}
.footer .bottom .bottom-inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .footer .bottom .bottom-inner {
    display: block;
    padding: 0 20px;
    text-align: center;
  }
}
.footer .bottom .legal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.footer .bottom .legal li {
  display: inline-block;
  list-style: none;
}
.footer .bottom .legal li:not(:last-child)::after {
  content: "｜";
  margin: 0 0.6em;
  color: #fff;
}
.footer .bottom .legal a {
  color: #fff;
  font-size: 12px;
  font-weight: 300;
}
@media screen and (max-width: 750px) {
  .footer .bottom .legal {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 12px;
  }
}
.footer .bottom .copyright {
  font-size: 10px;
  color: #fff;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 750px) {
  .footer .bottom .copyright {
    text-align: center;
  }
}
.footer #totop.top {
  width: 54px;
  height: 54px;
  border-radius: 27px;
  border: 1px solid #ccc;
  position: fixed;
  right: 20px;
  bottom: 30px;
  z-index: 299;
}
.footer #totop.top:after {
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  right: 0;
  left: 0;
  bottom: 0;
  width: 12px;
  height: 12px;
  margin: auto;
  border-right: 2px solid #ccc;
  border-bottom: 2px solid #ccc;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
@media screen and (max-width: 750px) {
  .footer #totop.top {
    bottom: 20px;
    width: 40px;
    height: 40px;
    right: 10px;
  }
}
.footer #totop.top.po-absolute {
  position: absolute;
  top: auto;
  bottom: 110px;
}
@media screen and (max-width: 1200px) {
  .footer #totop.top.po-absolute {
    bottom: 14px;
  }
}
@media screen and (max-width: 750px) {
  .footer #totop.top.po-absolute {
    bottom: 20px;
    width: 40px;
    height: 40px;
    right: 10px;
  }
}

a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer;
  color: #000;
}

a:hover {
  opacity: 0.7;
  -webkit-transition: 0.15s;
  transition: 0.15s;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

:root {
  --green: #00644f;
}

body {
  color: #1a1a1a;
  line-height: 1.5;
  padding: 80px 0 0 !important;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-family: "Noto Sans JP", sans-serif;
}

body.recruit-top {
  padding-top: 0 !important;
}

.wrap {
  overflow-x: hidden;
}

@media screen and (max-width: 750px) {
  body {
    padding: 65px 0 0;
  }
  body.recruit-top {
    padding: 65px 0 0;
  }
}
p {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.12em;
  margin: 0 0 1.5em;
}
@media screen and (max-width: 1000px) {
  p {
    font-size: 1.6vw;
    min-height: 0vw;
  }
}
@media screen and (max-width: 750px) {
  p {
    font-size: 14px;
  }
}

input:focus {
  outline: none;
}

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 999px #fff inset;
          box-shadow: 0 0 0px 999px #fff inset;
}

.article_head_slide-scrollbar.swiper-scrollbar-horizontal {
  height: 7px;
  width: 90%;
  border-radius: 0;
  padding: 0;
  margin: 0 auto;
  background-color: rgba(80, 80, 80, 0.1);
}
@media screen and (max-width: 750px) {
  .article_head_slide-scrollbar.swiper-scrollbar-horizontal {
    height: 5px;
  }
}

.swiper-scrollbar-drag {
  background: #505050;
  border-radius: 0;
}

.slide_scrollbar {
  height: 5px;
  width: 100%;
  background: #fff;
  max-width: 1044px;
  margin: 40px auto 0;
}
@media screen and (max-width: 750px) {
  .slide_scrollbar {
    width: 90%;
    margin: 25px auto 0;
  }
}

.swiper-scrollbar-drag {
  background: #000;
}

.btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 200px;
  height: 52px;
  border-radius: 5px;
  background-color: #fff;
  border: 1px solid #cccccc;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  font-size: 14px;
  color: #333;
  text-align: center;
  background-image: url(../img/common/i_link.png);
  background-repeat: no-repeat;
  background-size: 18px 18px;
  background-position: right 19px center;
  letter-spacing: 0.13em;
  padding-right: 2em;
}
@media screen and (max-width: 1000px) {
  .btn {
    width: 300px;
    font-size: 14px;
  }
}
@media screen and (max-width: 750px) {
  .btn {
    width: 60%;
    margin: 0 0 3em 1em;
    height: 45px;
    padding-left: 1em;
  }
}

.slide-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 7px;
  position: absolute;
  bottom: 23px;
  right: 210px;
  z-index: 11;
}
.slide-nav_2 {
  right: 130px;
}
@media screen and (max-width: 750px) {
  .slide-nav {
    right: 16px;
    gap: 5px;
    bottom: 17px;
  }
}
.slide-nav .btn-prev, .slide-nav .btn-next {
  width: 40px;
  height: 40px;
  border-radius: 5px;
  background-color: var(--green);
  position: relative;
  cursor: pointer;
  -webkit-transition: 0.15s;
  transition: 0.15s;
}
@media screen and (max-width: 750px) {
  .slide-nav .btn-prev, .slide-nav .btn-next {
    width: 28px;
    height: 29px;
    border-radius: 3px;
  }
}
.slide-nav .btn-prev:before, .slide-nav .btn-next:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -4px;
  left: 0;
  bottom: 0;
  width: 10px;
  height: 10px;
  margin: auto;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
@media screen and (max-width: 750px) {
  .slide-nav .btn-prev:before, .slide-nav .btn-next:before {
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    width: 7px;
    height: 7px;
  }
}
.slide-nav .btn-prev:hover, .slide-nav .btn-next:hover {
  opacity: 0.6;
}
.slide-nav .btn-next {
  right: auto;
}
.slide-nav .btn-next:before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  right: 0;
  left: -3px;
}
.slide-nav .btn-stop {
  width: 28px;
  height: 28px;
  border-radius: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  background-size: 28px auto;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(../img/common/i_play.png);
  -webkit-transition: 0.15s;
  transition: 0.15s;
}
@media screen and (max-width: 750px) {
  .slide-nav .btn-stop {
    width: 30px;
    height: 30px;
    border-radius: 3px;
    background-size: 30px auto;
  }
}
.slide-nav .btn-stop.playing {
  background-image: url(../img/common/i_stop.png);
  background-size: 28px auto;
}
.slide-nav .btn-stop:hover {
  opacity: 0.6;
}

.swiper-pagination {
  text-align: right;
  left: auto;
  right: 180px;
  bottom: 45px;
}
.swiper-pagination .swiper-pagination-bullet {
  height: 4px;
  width: 40px;
  border-radius: 0;
  background-color: rgba(255, 255, 255, 0.3);
  opacity: 1;
  margin: 0 !important;
}
@media screen and (max-width: 750px) {
  .swiper-pagination .swiper-pagination-bullet {
    height: 2px;
    width: 38px;
    margin: 0 !important;
  }
}
.swiper-pagination .swiper-pagination-bullet-active {
  background-color: #fff;
}

.title-top {
  font-size: 33px;
  font-weight: bold;
  text-align: center;
  margin-top: 1em;
  color: #0b2115;
  margin-bottom: 0.7em;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 750px) {
  .title-top {
    font-size: 21px;
    letter-spacing: 0.05em;
  }
}
.title-top .en {
  color: var(--green);
  font-size: 12px;
  display: block;
}
@media screen and (max-width: 750px) {
  .title-top .en {
    font-size: 10px;
  }
}

.top-main {
  padding: 0;
}
.top-main .top-main-movie {
  width: 100%;
  aspect-ratio: 1481/812;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.top-main .top-main-movie img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.top-main .top-main-movie:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  background-color: rgba(0, 0, 0, 0.3);
}
.top-main .top-main-movie video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-main .top-main-movie .detail {
  position: absolute;
  top: 100px;
  left: 11.5%;
  z-index: 10;
}
.top-main .top-main-movie .detail_left {
  left: 10%;
}
@media screen and (max-width: 750px) {
  .top-main .top-main-movie .detail {
    top: auto;
    left: 6.4%;
    width: 90%;
    bottom: 73px;
  }
}
.top-main .top-main-movie .detail .pretitle {
  display: inline-block;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 500;
  font-size: 27.09px;
  line-height: 47.4px;
  letter-spacing: 6.77px;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 750px) {
  .top-main .top-main-movie .detail .pretitle {
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 2px;
  }
}
.top-main .top-main-movie .detail .line {
  width: 446.31px;
  height: 1.13px;
  background-color: rgba(255, 255, 255, 0.5);
  opacity: 1;
}
@media screen and (max-width: 750px) {
  .top-main .top-main-movie .detail .line {
    width: 140px;
  }
}
.top-main .top-main-movie .detail .title {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 59px;
  line-height: 1.5;
  margin-bottom: 0.2em;
  color: #fff;
  padding-bottom: 0.3em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  letter-spacing: 0.16em;
}
@media screen and (max-width: 750px) {
  .top-main .top-main-movie .detail .title {
    font-size: 28px;
    margin-bottom: 0.07em;
  }
}
.top-main .top-main-movie .detail .title_noline {
  border-bottom: none;
}
.top-main .top-main-movie .detail .lead {
  font-size: 24px;
  line-height: 1.75;
  margin-bottom: 0.3em;
  color: #fff;
  letter-spacing: 0.25em;
  font-weight: 300;
}
@media screen and (max-width: 750px) {
  .top-main .top-main-movie .detail .lead {
    font-size: 13px;
    line-height: 1.8;
    margin-bottom: 1.3em;
  }
}
.top-main .top-main-movie .detail .btn {
  max-width: 306px;
  margin-bottom: 16px;
}
@media screen and (max-width: 750px) {
  .top-main .top-main-movie .detail .btn {
    width: 220px;
    height: 38px;
    border-radius: 3px;
    margin: 0;
    font-size: 13px;
    background-position: right 8px center;
    background-size: 12px auto;
  }
}
@media screen and (max-width: 750px) {
  .top-main .top-main-movie .detail .btn-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 98%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .top-main .top-main-movie .detail .btn-wrap .btn {
    width: 48%;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding: 0 0 0 1em;
    font-size: 13px;
  }
}
.top-main .top-slide-wrap-over {
  width: 100%;
  margin: 0 auto;
  position: relative;
  border-radius: 0;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .top-main .top-slide-wrap-over {
    width: 100%;
    margin: 0;
  }
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child {
  position: relative;
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail {
  position: absolute;
  top: 100px;
  left: 11.5%;
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail_left {
  left: 10%;
}
@media screen and (max-width: 750px) {
  .top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail {
    top: auto;
    left: 6.4%;
    width: 90%;
    bottom: 73px;
  }
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .pretitle {
  display: inline-block;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 500;
  font-size: 27.09px;
  line-height: 47.4px;
  letter-spacing: 6.77px;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 750px) {
  .top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .pretitle {
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 2px;
  }
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .line {
  width: 446.31px;
  height: 1.13px;
  background-color: rgba(255, 255, 255, 0.5);
  opacity: 1;
}
@media screen and (max-width: 750px) {
  .top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .line {
    width: 140px;
  }
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .title {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 59px;
  line-height: 1.5;
  margin-bottom: 0.2em;
  color: #fff;
  padding-bottom: 0.3em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  letter-spacing: 0.16em;
}
@media screen and (max-width: 750px) {
  .top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .title {
    font-size: 28px;
    margin-bottom: 0.07em;
  }
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .title_noline {
  border-bottom: none;
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .lead {
  font-size: 24px;
  line-height: 1.75;
  margin-bottom: 0.3em;
  color: #fff;
  letter-spacing: 0.25em;
  font-weight: 300;
}
@media screen and (max-width: 750px) {
  .top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .lead {
    font-size: 13px;
    line-height: 1.8;
    margin-bottom: 1.3em;
  }
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .btn {
  max-width: 306px;
  margin-bottom: 16px;
}
@media screen and (max-width: 750px) {
  .top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .btn {
    width: 220px;
    height: 38px;
    border-radius: 3px;
    margin: 0;
    font-size: 13px;
    background-position: right 8px center;
    background-size: 12px auto;
  }
}
@media screen and (max-width: 750px) {
  .top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .btn-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 98%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .btn-wrap .btn {
    width: 48%;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding: 0 0 0 1em;
    font-size: 13px;
  }
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .support {
  padding: 45px 0 0 0;
  width: 100%;
  color: #fff;
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .support__inner {
  width: 520px;
  max-width: 100%;
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail {
  /* =========================
    01 Support
  ========================= */
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .support__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 12px;
  margin: 0;
  padding: 0 7px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0.08em;
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .support__heading .inner {
  display: inline-block;
  position: relative;
  font-weight: 500;
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .support__heading .inner:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -13px;
  left: -6px;
  width: 106%;
  height: 1px;
  margin: auto;
  background-color: rgb(255, 255, 255);
}
@media screen and (max-width: 750px) {
  .top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .support__heading .inner:after {
    bottom: -11px;
    left: -4px;
  }
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .support__num {
  font-size: 30px;
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .support__en {
  font-size: 29px;
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail {
  /* =========================
    下段
  ========================= */
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .support__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 31px;
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail {
  /* 支援 */
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .support__title {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 36px;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
  font-size: 70px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail {
  /* コピー */
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .support__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 11px;
  margin: 0;
  font-size: 26px;
  font-weight: 300;
  line-height: 1.15;
  letter-spacing: 0.33em;
  white-space: nowrap;
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .support__text span {
  display: block;
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail {
  /* =========================
    SP
  ========================= */
}
@media screen and (max-width: 600px) {
  .top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .support__inner {
    width: 100%;
  }
  .top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .support__heading {
    gap: 8px;
    padding: 0 4px 10px;
  }
  .top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .support__num {
    font-size: 22px;
  }
  .top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .support__en {
    font-size: 21px;
  }
  .top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .support__content {
    padding-top: 22px;
  }
  .top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .support__title {
    margin-right: 20px;
    font-size: 40px;
  }
  .top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .support__text {
    gap: 8px;
    font-size: 13px;
    letter-spacing: 0.1em;
  }
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail.detail_kaguya {
  bottom: 84px;
  top: auto;
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail.detail_kaguya .pretitle {
  margin-bottom: 0.2em;
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail.detail_kaguya .title {
  font-size: 65px;
  margin: 0;
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 691px;
}
@media screen and (max-width: 750px) {
  .top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .img {
    height: 440px;
    -o-object-position: right top;
       object-position: right top;
  }
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .collage {
  position: relative;
  width: 100%;
  aspect-ratio: 1500/822;
  background-color: #fff;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .collage {
    aspect-ratio: auto;
    height: 440px;
  }
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .collage img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.top-main .top-slide-wrap-over .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .collage .overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.3);
}
.top-main .top-slide-wrap-over .swiper-pagination {
  right: 31px;
  bottom: 29px;
  left: auto;
}
@media screen and (max-width: 750px) {
  .top-main .top-slide-wrap-over .swiper-pagination {
    right: auto;
    bottom: 23px;
    text-align: left;
    left: 14px;
  }
}

.top-titleset {
  margin-bottom: 35px;
}
@media screen and (max-width: 750px) {
  .top-titleset {
    margin-bottom: 20px;
  }
}
.top-titleset .title-en {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  color: #e6001a;
  letter-spacing: 0.15em;
  font-weight: 600;
  margin-bottom: 0.2em;
}
@media screen and (max-width: 750px) {
  .top-titleset .title-en {
    font-size: 12px;
    letter-spacing: 0.1em;
  }
}
.top-titleset .title-jp {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 34px;
  letter-spacing: 0.12em;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .top-titleset .title-jp {
    font-size: 20px;
  }
}

.top-aboutus {
  background-color: #f2f2f2;
  padding: 90px 0;
  margin: 0 0 5.5em;
}
@media screen and (max-width: 750px) {
  .top-aboutus {
    padding: 50px 0;
    margin: 0 0 80px;
  }
}
.top-aboutus .inner {
  max-width: 1400px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 1000px) {
  .top-aboutus .inner {
    display: block;
    width: 90%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 750px) {
  .top-aboutus .inner {
    overflow: hidden;
  }
}
.top-aboutus .inner .picts {
  width: 57%;
  overflow: hidden;
  padding: 5px 0 0 0;
}
@media screen and (max-width: 1000px) {
  .top-aboutus .inner .picts {
    width: 100%;
    margin-bottom: 50px;
  }
}
.top-aboutus .inner .picts .top-aboutus-wrap .swiper-wrapper .swiper-slide {
  border-radius: 15px;
  border: 3px solid rgb(255, 255, 255);
  overflow: hidden;
  -webkit-filter: blur(3px) brightness(1.2) contrast(0.5) saturate(0.3);
          filter: blur(3px) brightness(1.2) contrast(0.5) saturate(0.3);
}
.top-aboutus .inner .picts .top-aboutus-wrap .swiper-wrapper .swiper-slide.swiper-slide-active {
  -webkit-filter: blur(0);
          filter: blur(0);
}
.top-aboutus .inner .picts-anime-wrap {
  width: 623px;
  height: 425px;
  position: relative;
}
@media screen and (max-width: 1000px) {
  .top-aboutus .inner .picts-anime-wrap {
    margin: 0 auto 50px;
    overflow: hidden;
  }
}
@media screen and (max-width: 750px) {
  .top-aboutus .inner .picts-anime-wrap {
    width: 100%;
    height: auto;
    aspect-ratio: 623/425;
    position: relative;
    margin: 0 auto 10px;
  }
}
.top-aboutus .inner .picts-anime-wrap .picts-photo {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border-radius: 15px;
  border: 3px solid #fff;
}
.top-aboutus .inner .picts-anime {
  width: 780px;
  height: 380px;
  position: relative;
}
@media screen and (max-width: 1000px) {
  .top-aboutus .inner .picts-anime {
    overflow: hidden;
    margin: 0 auto 0;
  }
}
@media screen and (max-width: 750px) {
  .top-aboutus .inner .picts-anime {
    -webkit-transform: scale(0.4);
            transform: scale(0.4);
    position: absolute;
    left: -70%;
    margin: 0 auto 0;
    right: -70%;
    -webkit-transform-origin: center 0;
            transform-origin: center 0;
  }
}
.top-aboutus .inner .picts-anime .picts-anime-state01 {
  position: absolute;
  top: auto;
  bottom: 24px;
  left: auto;
  right: 0;
  width: 444px;
  aspect-ratio: 552/377;
  margin: auto;
  border-radius: 14px;
  border: 3px solid #fff;
  z-index: 1;
  -webkit-filter: blur(4px);
          filter: blur(4px);
  opacity: 0.3;
}
.top-aboutus .inner .picts-anime .picts-anime-state02 {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 552px;
  aspect-ratio: 552/377;
  margin: auto;
  border-radius: 14px;
  border: 3px solid #fff;
  z-index: 3;
  opacity: 1;
}
.top-aboutus .inner .picts-anime .picts-anime-03 {
  position: absolute;
  top: auto;
  bottom: 24px;
  left: 0;
  right: auto;
  width: 444px;
  aspect-ratio: 552/377;
  margin: auto;
  border-radius: 14px;
  border: 3px solid #fff;
  z-index: 2;
  -webkit-filter: blur(4px);
          filter: blur(4px);
  opacity: 0.3;
}
.top-aboutus .inner .picts-anime .picts-anime-state01,
.top-aboutus .inner .picts-anime .picts-anime-state02,
.top-aboutus .inner .picts-anime .picts-anime-03 {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-animation-duration: 10s;
          animation-duration: 10s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  will-change: transform, width, filter, opacity;
}
.top-aboutus .inner .picts-anime .picts-anime-state01 {
  -webkit-animation-name: pictsAnimeLoop01;
          animation-name: pictsAnimeLoop01;
}
.top-aboutus .inner .picts-anime .picts-anime-state02 {
  -webkit-animation-name: pictsAnimeLoop02;
          animation-name: pictsAnimeLoop02;
}
.top-aboutus .inner .picts-anime .picts-anime-03 {
  -webkit-animation-name: pictsAnimeLoop03;
          animation-name: pictsAnimeLoop03;
}
@-webkit-keyframes pictsAnimeLoop01 {
  0%, 30% {
    width: 444px;
    -webkit-transform: translate(168px, 12px) scale(1);
            transform: translate(168px, 12px) scale(1);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0.3;
    z-index: 1;
  }
  33.333%, 63.333% {
    width: 552px;
    -webkit-transform: translate(0, 0) scale(1);
            transform: translate(0, 0) scale(1);
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    z-index: 3;
  }
  66.666%, 96.666% {
    width: 444px;
    -webkit-transform: translate(-168px, 12px) scale(1);
            transform: translate(-168px, 12px) scale(1);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0.3;
    z-index: 2;
  }
  100% {
    width: 444px;
    -webkit-transform: translate(168px, 12px) scale(1);
            transform: translate(168px, 12px) scale(1);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0.3;
    z-index: 1;
  }
}
@keyframes pictsAnimeLoop01 {
  0%, 30% {
    width: 444px;
    -webkit-transform: translate(168px, 12px) scale(1);
            transform: translate(168px, 12px) scale(1);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0.3;
    z-index: 1;
  }
  33.333%, 63.333% {
    width: 552px;
    -webkit-transform: translate(0, 0) scale(1);
            transform: translate(0, 0) scale(1);
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    z-index: 3;
  }
  66.666%, 96.666% {
    width: 444px;
    -webkit-transform: translate(-168px, 12px) scale(1);
            transform: translate(-168px, 12px) scale(1);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0.3;
    z-index: 2;
  }
  100% {
    width: 444px;
    -webkit-transform: translate(168px, 12px) scale(1);
            transform: translate(168px, 12px) scale(1);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0.3;
    z-index: 1;
  }
}
@-webkit-keyframes pictsAnimeLoop02 {
  0%, 30% {
    width: 552px;
    -webkit-transform: translate(0, 0) scale(1);
            transform: translate(0, 0) scale(1);
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    z-index: 3;
  }
  33.333%, 63.333% {
    width: 444px;
    -webkit-transform: translate(-168px, 12px) scale(1);
            transform: translate(-168px, 12px) scale(1);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0.3;
    z-index: 2;
  }
  66.666%, 96.666% {
    width: 444px;
    -webkit-transform: translate(168px, 12px) scale(1);
            transform: translate(168px, 12px) scale(1);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0.3;
    z-index: 1;
  }
  100% {
    width: 552px;
    -webkit-transform: translate(0, 0) scale(1);
            transform: translate(0, 0) scale(1);
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    z-index: 3;
  }
}
@keyframes pictsAnimeLoop02 {
  0%, 30% {
    width: 552px;
    -webkit-transform: translate(0, 0) scale(1);
            transform: translate(0, 0) scale(1);
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    z-index: 3;
  }
  33.333%, 63.333% {
    width: 444px;
    -webkit-transform: translate(-168px, 12px) scale(1);
            transform: translate(-168px, 12px) scale(1);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0.3;
    z-index: 2;
  }
  66.666%, 96.666% {
    width: 444px;
    -webkit-transform: translate(168px, 12px) scale(1);
            transform: translate(168px, 12px) scale(1);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0.3;
    z-index: 1;
  }
  100% {
    width: 552px;
    -webkit-transform: translate(0, 0) scale(1);
            transform: translate(0, 0) scale(1);
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    z-index: 3;
  }
}
@-webkit-keyframes pictsAnimeLoop03 {
  0%, 30% {
    width: 444px;
    -webkit-transform: translate(-168px, 12px) scale(1);
            transform: translate(-168px, 12px) scale(1);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0.3;
    z-index: 2;
  }
  33.333%, 63.333% {
    width: 444px;
    -webkit-transform: translate(168px, 12px) scale(1);
            transform: translate(168px, 12px) scale(1);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0.3;
    z-index: 1;
  }
  66.666%, 96.666% {
    width: 552px;
    -webkit-transform: translate(0, 0) scale(1);
            transform: translate(0, 0) scale(1);
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    z-index: 3;
  }
  100% {
    width: 444px;
    -webkit-transform: translate(-168px, 12px) scale(1);
            transform: translate(-168px, 12px) scale(1);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0.3;
    z-index: 2;
  }
}
@keyframes pictsAnimeLoop03 {
  0%, 30% {
    width: 444px;
    -webkit-transform: translate(-168px, 12px) scale(1);
            transform: translate(-168px, 12px) scale(1);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0.3;
    z-index: 2;
  }
  33.333%, 63.333% {
    width: 444px;
    -webkit-transform: translate(168px, 12px) scale(1);
            transform: translate(168px, 12px) scale(1);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0.3;
    z-index: 1;
  }
  66.666%, 96.666% {
    width: 552px;
    -webkit-transform: translate(0, 0) scale(1);
            transform: translate(0, 0) scale(1);
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
    z-index: 3;
  }
  100% {
    width: 444px;
    -webkit-transform: translate(-168px, 12px) scale(1);
            transform: translate(-168px, 12px) scale(1);
    -webkit-filter: blur(4px);
            filter: blur(4px);
    opacity: 0.3;
    z-index: 2;
  }
}
.top-aboutus .inner .sentence {
  width: 43%;
  padding: 0 95px 0 90px;
}
@media screen and (max-width: 1300px) {
  .top-aboutus .inner .sentence {
    padding: 0 50px 0 50px;
  }
}
@media screen and (max-width: 1100px) {
  .top-aboutus .inner .sentence {
    padding: 0 50px 0 30px;
  }
}
@media screen and (max-width: 1000px) {
  .top-aboutus .inner .sentence {
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  .top-aboutus .inner .sentence {
    padding: 0;
  }
}
.top-aboutus .inner .sentence .txt {
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: 0.04em;
  margin-bottom: 2.6em;
}
@media screen and (max-width: 750px) {
  .top-aboutus .inner .sentence .txt {
    font-size: 14px;
    margin-bottom: 20px;
  }
}
.top-aboutus .inner .sentence .btn {
  margin: 0;
}

.top-headlines {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1280px;
  width: 90%;
  margin: 0 auto 5.5em;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 1000px) {
  .top-headlines {
    display: block;
  }
}
.top-headlines .block {
  width: 44%;
}
@media screen and (max-width: 1000px) {
  .top-headlines .block {
    width: 100%;
    margin-bottom: 70px;
  }
}
.top-headlines .block .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 2px;
}
.top-headlines .block .head .btn-wrap {
  margin-bottom: 35px;
}
@media screen and (max-width: 750px) {
  .top-headlines .block .head .btn-wrap {
    margin-bottom: 20px;
  }
}
.top-headlines .block .head .btn-wrap .btn {
  width: 170px;
  height: 42px;
  background-position: right 12px center;
}
@media screen and (max-width: 750px) {
  .top-headlines .block .head .btn-wrap .btn {
    margin: 0;
  }
}
.top-headlines .block .lists {
  border-top: 1px solid #f2f2f2;
}
.top-headlines .block .lists .list {
  border-bottom: 1px solid #f2f2f2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 14px;
  padding: 1.1em 0 0.8em;
}
.top-headlines .block .lists .list .thumb {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 106px;
  height: 60px;
  overflow: hidden;
  border-radius: 4px;
}
@media screen and (max-width: 750px) {
  .top-headlines .block .lists .list .thumb {
    width: 80px;
    height: 45px;
  }
}
.top-headlines .block .lists .list .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.top-headlines .block .lists .list .detail {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.top-headlines .block .lists .list .time {
  font-size: 14px;
  font-family: "Lato", sans-serif;
  color: #999;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 750px) {
  .top-headlines .block .lists .list .time {
    font-size: 12px;
  }
}
.top-headlines .block .lists .txt {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
@media screen and (max-width: 750px) {
  .top-headlines .block .lists .txt {
    font-size: 14px;
  }
}

@media screen and (max-width: 750px) {
  body#topics {
    padding: 65px 0 0;
  }
}
.topics-main {
  position: relative;
  padding: 0;
}
@media screen and (max-width: 750px) {
  .topics-main {
    padding: 0;
  }
}
.topics-main .img {
  max-width: unset;
  height: 268px;
  margin: 0 auto;
  border-radius: unset;
  overflow: hidden;
}
.topics-main .img img {
  width: 105%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  max-width: unset;
  -o-object-position: -10px center;
     object-position: -10px center;
}
@media screen and (max-width: 1300px) {
  .topics-main .img img {
    -o-object-position: center center;
       object-position: center center;
  }
}
@media screen and (max-width: 750px) {
  .topics-main .img {
    height: 160px;
    border-radius: unset;
  }
}
.topics-main .detail {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.topics-main .detail .title {
  display: inline-block;
  position: relative;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 42px;
  color: #fff;
  letter-spacing: 0.08em;
  margin-bottom: 0;
}
@media screen and (max-width: 750px) {
  .topics-main .detail .title {
    font-size: 20px;
    margin-bottom: 0;
  }
}
.topics-main .detail .title::after {
  content: "";
  position: absolute;
  left: -10px;
  right: -10px;
  top: calc(100% + 14px);
  height: 1px;
  background-color: rgba(255, 255, 255, 0.5);
}
.topics-main .detail .line {
  display: none;
}

.breadcrumb {
  padding: 20px 30px;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .breadcrumb {
    padding: 14px 16px;
  }
}
.breadcrumb ol {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 12px;
  position: relative;
}
.breadcrumb ol:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 1px;
  background-color: #ececec;
}
.breadcrumb li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 10px;
  letter-spacing: 0.05em;
  color: #1a1a1a;
}
.breadcrumb li a:hover {
  opacity: 0.7;
}
.breadcrumb li + li:before {
  content: "";
  display: block;
  width: 5px;
  height: 8px;
  margin: 0 13px;
  background-image: url(../img/topics/icon-breadcrumb-arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.topics-content {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding: 60px 0 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 30px;
}
@media screen and (max-width: 750px) {
  .topics-content {
    display: block;
    padding: 40px 0 60px;
  }
}
.topics-content .category {
  width: 220px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 750px) {
  .topics-content .category {
    width: 100%;
    margin-bottom: 30px;
  }
}
.topics-content .category .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
.topics-content .category .head .bar {
  display: block;
  width: 1px;
  height: 22px;
  background-color: #e6001a;
}
.topics-content .category .head .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  letter-spacing: 0.05em;
}
.topics-content .category .lists li a {
  display: block;
  padding: 10px 0;
  font-size: 16px;
  color: #1a1a1a;
}
.topics-content .category .lists li a:hover {
  opacity: 0.7;
}
.topics-content .category .lists li.is-active > a {
  color: #e6001a;
}
.topics-content .list-wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.topics-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 19px;
  margin-bottom: 50px;
}
.topics-list .list.is-hide {
  display: none;
}
.topics-list .list .link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 38px;
  padding: 30px;
  background-color: #f7f7f7;
  border: 1px solid transparent;
  border-radius: 15px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (max-width: 750px) {
  .topics-list .list .link {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 16px;
    padding: 16px;
  }
}
.topics-list .list .link:hover {
  opacity: 1;
  background-color: #fff;
  border-color: #e6001a;
}
.topics-list .list .link:hover .arrow {
  border-color: #e6001a;
  background-color: #e6001a;
}
.topics-list .list .link:hover .arrow img {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.topics-list .list .link .thumb {
  width: clamp(120px, 18vw, 190px);
  aspect-ratio: 190/108;
  height: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 14px;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .topics-list .list .link .thumb {
    width: 100%;
    aspect-ratio: auto;
    height: 45vw;
  }
}
.topics-list .list .link .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.topics-list .list .link .detail {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  min-height: 108px;
  height: auto;
  overflow: visible;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 750px) {
  .topics-list .list .link .detail {
    height: auto;
    overflow: visible;
  }
}
.topics-list .list .link .detail .meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  margin-bottom: 12px;
}
.topics-list .list .link .detail .meta .time {
  font-family: "Lato", sans-serif;
  font-size: 14px;
  letter-spacing: 0.05em;
  color: #999;
}
.topics-list .list .link .detail .meta .cate {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 3px 6px;
  background-color: #333;
  border-radius: 2px;
  font-size: 12px;
  color: #fff;
}
.topics-list .list .link .detail .txt {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
@media screen and (max-width: 750px) {
  .topics-list .list .link .detail .txt {
    font-size: 14px;
  }
}
.topics-list .list .link .arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 44px;
  height: 44px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border: 1px solid #ccc;
  border-radius: 5px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.topics-list .list .link .arrow img {
  width: 6px;
  height: 10px;
}
@media screen and (max-width: 750px) {
  .topics-list .list .link .arrow {
    display: none;
  }
}

.topics-more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 12px;
  width: 250px;
  height: 50px;
  margin: 0 auto;
  background-color: #ccc;
  border: none;
  border-radius: 35px;
  font-family: "Lato", sans-serif;
  font-size: 16px;
  color: #333;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.topics-more:hover {
  opacity: 0.7;
}
.topics-more.is-hide {
  display: none;
}
.topics-more img {
  width: 6px;
  height: 10px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.topics-quicklinks {
  padding: 97px 30px;
}
@media screen and (max-width: 750px) {
  .topics-quicklinks {
    padding: 24px 16px;
  }
}
.topics-quicklinks ul {
  max-width: 1200px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 24px;
}
@media screen and (max-width: 750px) {
  .topics-quicklinks ul {
    gap: 12px;
  }
}
.topics-quicklinks li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  width: 258px;
  padding: 14px 24px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 16px;
  letter-spacing: 0.05em;
  color: #333;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .topics-quicklinks li a {
    width: 100%;
  }
}
.topics-quicklinks li a:hover {
  opacity: 0.7;
}
.topics-quicklinks li a img {
  width: 20px;
  height: 20px;
}

.topics-article {
  max-width: 1000px;
  width: 90%;
  margin: 0 auto;
  padding: 60px 0 0;
}
@media screen and (max-width: 750px) {
  .topics-article {
    width: calc(100% - 32px);
    padding: 40px 0 0;
  }
}
.topics-article .head {
  margin-bottom: 50px;
}
@media screen and (max-width: 750px) {
  .topics-article .head {
    margin-bottom: 24px;
  }
}
.topics-article .head .meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.topics-article .head .meta .time {
  font-family: "Lato", sans-serif;
  font-size: 14px;
  letter-spacing: 0.05em;
  color: #999;
}
.topics-article .head .meta .cate {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 4px 6px;
  background-color: #ccc;
  border: 1px solid #fff;
  border-radius: 2px;
  font-size: 12px;
  font-weight: 500;
  color: #545454;
}
.topics-article .head .title {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 28px;
  line-height: 1.6;
  color: #333;
}
@media screen and (max-width: 750px) {
  .topics-article .head .title {
    font-size: 20px;
  }
}
.topics-article .thumb {
  width: 100%;
  height: 530px;
  background-color: #f4f4f4;
  border-radius: 15px;
  overflow: hidden;
  margin-bottom: 50px;
}
@media screen and (max-width: 750px) {
  .topics-article .thumb {
    height: 50vw;
    border-radius: 8px;
    margin-bottom: 30px;
  }
}
.topics-article .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.topics-article .body p {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
.topics-article .subtitle {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  color: #333;
  margin: 50px 0 30px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e6001a;
}
@media screen and (max-width: 750px) {
  .topics-article .subtitle {
    font-size: 18px;
    margin: 30px 0 20px;
    padding-bottom: 14px;
  }
}

.topics-back {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 12px;
  width: 258px;
  margin: 60px auto;
  padding: 14px 22px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 16px;
  letter-spacing: 0.05em;
  color: #333;
}
@media screen and (max-width: 750px) {
  .topics-back {
    width: calc(100% - 32px);
    margin: 40px auto;
  }
}
.topics-back img {
  width: 20px;
  height: 20px;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.topics-cta {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .topics-cta {
    display: block;
  }
}
.topics-cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  background-color: #e6e6e6;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.topics-cta::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  background-color: #e6e6e6;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.topics-cta .banner {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 50px 20px;
  border-right: 1px solid #e6e6e6;
  text-align: center;
}
.topics-cta .banner:last-child {
  border-right: none;
}
@media screen and (max-width: 750px) {
  .topics-cta .banner {
    padding: 30px 20px;
    border-right: none;
    border-bottom: 1px solid #e6e6e6;
  }
  .topics-cta .banner:last-child {
    border-bottom: none;
  }
}
.topics-cta .banner:hover {
  opacity: 0.7;
}
.topics-cta .banner .icon {
  width: 34px;
  height: 34px;
  margin-bottom: 20px;
}
.topics-cta .banner .icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.topics-cta .banner .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
  color: #E6001A;
}
.topics-cta .banner .txt {
  font-size: 14px;
  line-height: 2;
  color: #1a1a1a;
}

@media screen and (max-width: 750px) {
  body#contact {
    padding: 65px 0 0;
  }
}
.contact-content {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding: 60px 0 100px;
}
@media screen and (max-width: 750px) {
  .contact-content {
    padding: 40px 0 60px;
  }
}
.contact-content .entry-link-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-bottom: 40px;
}
@media screen and (max-width: 750px) {
  .contact-content .entry-link-wrap {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 30px;
  }
}
.contact-content .entry-link-wrap.is-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 60px;
  margin-bottom: -40px;
}
@media screen and (max-width: 750px) {
  .contact-content .entry-link-wrap.is-center {
    margin-top: 40px;
  }
}
.contact-content .entry-link-wrap.is-center .entry-link {
  width: 258px;
}
@media screen and (max-width: 750px) {
  .contact-content .entry-link-wrap.is-center .entry-link {
    width: 100%;
    max-width: 258px;
  }
}
.contact-content .entry-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
  width: 340px;
  padding: 14px 24px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 16px;
  letter-spacing: 0.05em;
  color: #333;
}
@media screen and (max-width: 750px) {
  .contact-content .entry-link {
    width: 100%;
  }
}
.contact-content .entry-link:hover {
  opacity: 0.7;
}
.contact-content .entry-link img {
  width: 20px;
  height: 20px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.contact-content .form-wrap {
  max-width: 730px;
  margin: 0 auto;
}
.contact-content .page-ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 28px;
  color: #333;
  text-align: center;
  margin-top: 4px;
  margin-bottom: 70px;
}
@media screen and (max-width: 750px) {
  .contact-content .page-ttl {
    font-size: 20px;
    margin-top: 0;
    margin-bottom: 20px;
  }
}
.contact-content .lead {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 50px;
}
@media screen and (max-width: 750px) {
  .contact-content .lead {
    font-size: 14px;
    margin-bottom: 30px;
  }
}

.contact-form .form-row {
  margin-bottom: 40px;
}
@media screen and (max-width: 750px) {
  .contact-form .form-row {
    margin-bottom: 30px;
  }
}
.contact-form .form-row dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  font-size: 16px;
  color: #333;
  margin-bottom: 15px;
}
.contact-form .form-row dd {
  width: 100%;
}
.contact-form .form-row .select {
  width: 100%;
  height: 50px;
  padding: 0 20px;
  border-radius: 8px;
  font-size: 16px;
  color: #333;
  font-family: inherit;
}
.contact-form .form-row .select-wrap {
  width: 100%;
  height: 50px;
  padding: 0 20px 0 0;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 16px;
  color: #333;
  font-family: inherit;
}
.contact-form .form-row .select-wrap + .radio-list {
  margin-top: 20px;
}
.contact-form .form-row .value {
  display: block;
  font-size: 16px;
  line-height: 1.8;
  color: #999;
}
.contact-form .form-row input[type=text],
.contact-form .form-row input[type=email],
.contact-form .form-row input[type=tel],
.contact-form .form-row textarea {
  width: 100%;
  height: 50px;
  padding: 0 20px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 16px;
  color: #333;
  font-family: inherit;
}
.contact-form .form-row input[type=text]::-webkit-input-placeholder, .contact-form .form-row input[type=email]::-webkit-input-placeholder, .contact-form .form-row input[type=tel]::-webkit-input-placeholder, .contact-form .form-row textarea::-webkit-input-placeholder {
  color: #ccc;
}
.contact-form .form-row input[type=text]::-moz-placeholder, .contact-form .form-row input[type=email]::-moz-placeholder, .contact-form .form-row input[type=tel]::-moz-placeholder, .contact-form .form-row textarea::-moz-placeholder {
  color: #ccc;
}
.contact-form .form-row input[type=text]:-ms-input-placeholder, .contact-form .form-row input[type=email]:-ms-input-placeholder, .contact-form .form-row input[type=tel]:-ms-input-placeholder, .contact-form .form-row textarea:-ms-input-placeholder {
  color: #ccc;
}
.contact-form .form-row input[type=text]::-ms-input-placeholder, .contact-form .form-row input[type=email]::-ms-input-placeholder, .contact-form .form-row input[type=tel]::-ms-input-placeholder, .contact-form .form-row textarea::-ms-input-placeholder {
  color: #ccc;
}
.contact-form .form-row input[type=text]::placeholder,
.contact-form .form-row input[type=email]::placeholder,
.contact-form .form-row input[type=tel]::placeholder,
.contact-form .form-row textarea::placeholder {
  color: #ccc;
}
.contact-form .form-row textarea {
  height: 150px;
  padding: 15px 20px;
  resize: vertical;
}
.contact-form .required {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 2px 6px;
  background-color: #e6001a;
  border: 1px solid #fff;
  border-radius: 2px;
  font-size: 12px;
  font-weight: 500;
  color: #fff;
}
.contact-form .radio-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px 30px;
}
.contact-form .radio {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  cursor: pointer;
}
.contact-form .radio input {
  display: none;
}
.contact-form .radio .mark {
  display: block;
  width: 18px;
  height: 18px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border: 1px solid #ccc;
  border-radius: 50%;
  position: relative;
}
.contact-form .radio input:checked + .mark {
  border-color: #e6001a;
}
.contact-form .radio input:checked + .mark:after {
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  right: 3px;
  bottom: 3px;
  left: 3px;
  background-color: #e6001a;
  border-radius: 50%;
}
.contact-form .radio .txt {
  font-size: 16px;
  color: #333;
}
.contact-form .captcha .captcha-img {
  width: 178px;
  height: 38px;
  margin-bottom: 12px;
  background-color: #d9d9d9;
  border-radius: 4px;
}
.contact-form .form-agree {
  text-align: center;
  margin: 50px 0 30px;
}
@media screen and (max-width: 750px) {
  .contact-form .form-agree {
    margin: 30px 0 20px;
  }
}
.contact-form .form-agree > .txt {
  font-size: 16px;
  line-height: 1.875;
  color: #333;
  margin-bottom: 20px;
}
@media screen and (max-width: 750px) {
  .contact-form .form-agree > .txt {
    font-size: 14px;
  }
}
.contact-form .form-agree .privacy-link {
  color: #e6001a;
  text-decoration: underline;
}
.contact-form .checkbox {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  cursor: pointer;
}
.contact-form .checkbox input {
  display: none;
}
.contact-form .checkbox .mark {
  display: block;
  width: 20px;
  height: 20px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 2px;
  position: relative;
}
.contact-form .checkbox input:checked + .mark {
  border-color: #e6001a;
}
.contact-form .checkbox input:checked + .mark:after {
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 6px;
  width: 5px;
  height: 9px;
  border: solid #e6001a;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.contact-form .checkbox .txt {
  font-size: 16px;
  color: #333;
}
.contact-form .form-submit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: -1px;
}
.contact-form .submit-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  width: 250px;
  height: 50px;
  background-color: #ccc;
  border: none;
  border-radius: 35px;
  font-size: 16px;
  color: #333;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.contact-form .submit-btn:hover {
  opacity: 0.7;
}
.contact-form .submit-btn img {
  position: absolute;
  right: 22px;
  top: 50%;
  width: 6px;
  height: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.contact-form .submit-btn.is-red {
  background-color: #e6001a;
  color: #fff;
}
.contact-form .confirm-submit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  margin-bottom: -1px;
}
.contact-form .back-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  width: 250px;
  height: 50px;
  background-color: #ccc;
  border-radius: 35px;
  font-size: 16px;
  color: #333;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.contact-form .back-btn:hover {
  opacity: 0.7;
}
.contact-form .back-btn img {
  position: absolute;
  left: 22px;
  top: 50%;
  width: 6px;
  height: 10px;
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}

@media screen and (max-width: 750px) {
  body#privacy {
    padding: 65px 0 0;
  }
}
.privacy-content {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding: 60px 0 0;
}
@media screen and (max-width: 750px) {
  .privacy-content {
    padding: 40px 0 0;
  }
}
.privacy-content .page-ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 28px;
  color: #333;
  text-align: center;
  margin-top: 4px;
  margin-bottom: 78px;
}
@media screen and (max-width: 750px) {
  .privacy-content .page-ttl {
    font-size: 20px;
    margin-top: 0;
    margin-bottom: 20px;
  }
}
.privacy-content .lead {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 50px;
}
@media screen and (max-width: 750px) {
  .privacy-content .lead {
    font-size: 14px;
    margin-bottom: 30px;
  }
}
.privacy-content .block {
  margin-bottom: 50px;
}
@media screen and (max-width: 750px) {
  .privacy-content .block {
    margin-bottom: 30px;
  }
}
.privacy-content .block .ttl {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  color: #333;
  margin-bottom: 24px;
}
@media screen and (max-width: 750px) {
  .privacy-content .block .ttl {
    font-size: 17px;
    margin-bottom: 16px;
  }
}
.privacy-content .block p {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
@media screen and (max-width: 750px) {
  .privacy-content .block p {
    font-size: 14px;
  }
}
.privacy-content .block .sub {
  margin-top: 30px;
}
.privacy-content .block .sub:first-of-type {
  margin-top: 20px;
}
.privacy-content .block .sub .sub-ttl {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 4px;
}
@media screen and (max-width: 750px) {
  .privacy-content .block .sub .sub-ttl {
    font-size: 14px;
  }
}
.privacy-content .block .sub ul {
  margin-top: 4px;
}
.privacy-content .block .sub ul li {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
@media screen and (max-width: 750px) {
  .privacy-content .block .sub ul li {
    font-size: 14px;
  }
}
.privacy-content .box {
  background-color: #f4f4f4;
  padding: 40px 50px;
  margin-top: 30px;
}
@media screen and (max-width: 750px) {
  .privacy-content .box {
    padding: 24px 20px;
  }
}
.privacy-content .box .group {
  margin-bottom: 30px;
}
.privacy-content .box .group:last-child {
  margin-bottom: 0;
}
.privacy-content .box .group .head {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  color: #333;
  margin-bottom: 4px;
}
@media screen and (max-width: 750px) {
  .privacy-content .box .group .head {
    font-size: 14px;
  }
}
.privacy-content .box .group p {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
@media screen and (max-width: 750px) {
  .privacy-content .box .group p {
    font-size: 14px;
  }
}
.privacy-content .divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 60px 0;
}
@media screen and (max-width: 750px) {
  .privacy-content .divider {
    padding: 40px 0;
  }
}
.privacy-content .divider span {
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #333;
}

@media screen and (max-width: 750px) {
  body#product {
    padding: 65px 0 0;
  }
}
.category .lists .sublist {
  margin: 0 0 4px 16px;
}
.category .lists .sublist li a {
  padding: 6px 0;
  font-size: 13px;
  color: #999;
}
.category .category-online {
  margin-top: 30px;
}
.category .category-online .btn-line {
  width: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px 30px;
}
@media screen and (max-width: 1000px) {
  .product-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 20px;
  }
}
@media screen and (max-width: 750px) {
  .product-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.product-grid .card,
.product-related .swiper-slide .card {
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 15px;
  overflow: hidden;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.product-grid .card:hover,
.product-related .swiper-slide .card:hover {
  border-color: #e6001a;
}
.product-grid .card .link,
.product-related .swiper-slide .card .link {
  display: block;
}
.product-grid .card .thumb,
.product-related .swiper-slide .card .thumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 199px;
  padding: 20px;
  background-color: #fff;
}
@media screen and (max-width: 750px) {
  .product-grid .card .thumb,
  .product-related .swiper-slide .card .thumb {
    height: 45vw;
  }
}
.product-grid .card .thumb img,
.product-related .swiper-slide .card .thumb img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.product-grid .card .body,
.product-related .swiper-slide .card .body {
  padding: 30px 24px 30px;
  background-color: #f4f4f4;
  height: 164px;
}
@media screen and (max-width: 750px) {
  .product-grid .card .body,
  .product-related .swiper-slide .card .body {
    height: auto;
  }
}
.product-grid .card .cate,
.product-related .swiper-slide .card .cate {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 4px 8px;
  margin-bottom: 14px;
  background-color: #333;
  border-radius: 2px;
  font-size: 12px;
  font-weight: 500;
  color: #fff;
}
.product-grid .card .ttl,
.product-related .swiper-slide .card .ttl {
  font-size: 16px;
  line-height: 1.79;
  color: #333;
  margin-bottom: 0;
}

.product-detail {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding: 60px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 84px;
}
@media screen and (max-width: 750px) {
  .product-detail {
    display: block;
    width: calc(100% - 32px);
    padding: 40px 0 0;
  }
}
.product-detail .gallery {
  width: 500px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 750px) {
  .product-detail .gallery {
    width: 100%;
  }
}
.product-detail .gallery .main-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 400px;
  margin-bottom: 20px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 15px;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .product-detail .gallery .main-img {
    height: 70vw;
  }
}
.product-detail .gallery .main-img img {
  max-width: 65%;
  max-height: 65%;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.product-detail .gallery .thumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 14px;
}
@media screen and (max-width: 750px) {
  .product-detail .gallery .thumbs {
    gap: 8px;
  }
}
.product-detail .gallery .thumbs li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  aspect-ratio: 1/1;
  background-color: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.product-detail .gallery .thumbs li.is-active, .product-detail .gallery .thumbs li:hover {
  border-color: #e6001a;
}
.product-detail .gallery .thumbs li img {
  max-width: 60%;
  max-height: 60%;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.product-detail .info {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding-top: 34px;
}
@media screen and (max-width: 750px) {
  .product-detail .info {
    padding-top: 24px;
  }
}
.product-detail .info .cate {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 4px 8px;
  margin-bottom: 20px;
  background-color: #333;
  border-radius: 2px;
  font-size: 12px;
  font-weight: 500;
  color: #fff;
}
.product-detail .info .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 28px;
  color: #333;
  margin-bottom: 30px;
}
@media screen and (max-width: 750px) {
  .product-detail .info .ttl {
    font-size: 22px;
    margin-bottom: 20px;
  }
}
.product-detail .info .txt p {
  font-size: 16px;
  line-height: 1.79;
  color: #333;
  margin-bottom: 0;
}
@media screen and (max-width: 750px) {
  .product-detail .info .txt p {
    font-size: 14px;
  }
}
.product-detail .info .txt p .note {
  font-size: 12px;
}

.product-table {
  max-width: 1200px;
  width: 90%;
  margin: 81px auto 0;
  padding: 30px 60px;
  background-color: #f4f4f4;
  border-radius: 15px;
}
@media screen and (max-width: 750px) {
  .product-table {
    width: calc(100% - 32px);
    margin-top: 24px;
    padding: 10px 20px;
  }
}
.product-table .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 14px 0;
}
.product-table .row + .row {
  border-top: 1px solid #e6e6e6;
}
@media screen and (max-width: 750px) {
  .product-table .row {
    padding: 12px 0;
  }
}
.product-table .col {
  font-size: 16px;
  color: #333;
}
@media screen and (max-width: 750px) {
  .product-table .col {
    font-size: 13px;
  }
}
.product-table .col-name {
  width: 20%;
}
.product-table .col-capacity {
  width: 14%;
}
.product-table .col-weight {
  width: 16%;
}
.product-table .col-price {
  width: 14%;
}
.product-table .col-note {
  width: 36%;
}
@media screen and (max-width: 750px) {
  .product-table .col-name {
    width: 50%;
  }
  .product-table .col-capacity {
    width: 25%;
  }
  .product-table .col-weight {
    width: 25%;
  }
  .product-table .col-price {
    width: 50%;
    margin-top: 6px;
  }
  .product-table .col-note {
    width: 50%;
    margin-top: 6px;
  }
}

.section-ttl {
  position: relative;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 700;
  font-size: 28px;
  color: #333;
  text-align: center;
  margin: 80px 0 40px;
  padding-bottom: 12px;
}
@media screen and (max-width: 750px) {
  .section-ttl {
    font-size: 20px;
    margin: 50px 0 24px;
    padding-bottom: 16px;
  }
}
.section-ttl:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 134px;
  height: 1px;
  background-color: #e6001a;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.product-related {
  position: relative;
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding: 0 60px;
}
@media screen and (max-width: 750px) {
  .product-related {
    width: calc(100% - 32px);
    padding: 0 36px;
  }
}
.product-related .product-related-wrap {
  overflow: hidden;
}
.product-related .case-card {
  border-radius: 15px;
}
.product-related .case-card .thumb {
  aspect-ratio: 500/400;
  height: auto;
}
.product-related .btn-prev,
.product-related .btn-next {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.product-related .btn-prev:hover,
.product-related .btn-next:hover {
  opacity: 0.7;
}
.product-related .btn-prev img,
.product-related .btn-next img {
  width: 40px;
  height: 40px;
}
.product-related .btn-prev {
  left: 0;
}
.product-related .btn-next {
  right: 0;
}
.product-related .btn-next img {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 12px;
  margin-top: 50px;
}
@media screen and (max-width: 750px) {
  .pagination {
    margin-top: 30px;
    gap: 8px;
  }
}
.pagination li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-family: "Lato", sans-serif;
  font-size: 14px;
  color: #e6001a;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.pagination li a:hover {
  opacity: 0.7;
}
.pagination li.is-active a {
  background-color: #e6001a;
  border-color: #e6001a;
  color: #fff;
}
.pagination li.prev a, .pagination li.next a {
  border: none;
}
.pagination li.prev a img, .pagination li.next a img {
  width: 6px;
  height: 10px;
}
.pagination li.next a img {
  width: 32px;
  height: 32px;
}
.pagination li.prev a img {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.pagination li.is-disabled a {
  opacity: 0.3;
  cursor: default;
  pointer-events: none;
}

.kanryu-online-link {
  width: 182px;
  border: 1px solid #ccc;
  border-radius: 8px;
  text-align: center;
  display: block;
  padding: 21px 0 0 0;
}
.kanryu-online-link .logo {
  width: 79%;
  margin: 0 auto 10px;
}
.kanryu-online-link .let {
  font-size: 11px;
  margin-bottom: 21px;
  letter-spacing: 2.3px;
}
.kanryu-online-link .red {
  background-color: #e6001a;
  padding: 10px 13px;
  color: #fff;
  font-size: 12px;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  letter-spacing: 1.5px;
}
.kanryu-online-link .red .ar {
  width: 20px;
  height: 20px;
  background-color: #fff;
  border-radius: 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.kanryu-online-link .red .ar img {
  width: 4px;
  height: 8px;
}

.btn-line {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  padding: 14px 24px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 16px;
  letter-spacing: 0.05em;
  color: #333;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.btn-line:hover {
  opacity: 0.7;
}
.btn-line img {
  width: 20px;
  height: 20px;
}

.catalog-intro {
  padding: 100px 30px;
}
@media screen and (max-width: 750px) {
  .catalog-intro {
    padding: 50px 16px;
  }
}
.catalog-intro .inner {
  max-width: 1200px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 80px;
}
@media screen and (max-width: 750px) {
  .catalog-intro .inner {
    display: block;
  }
}
.catalog-intro .thumb {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 500px;
  height: 522px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 40px 70px;
  border-radius: 15px;
}
@media screen and (max-width: 750px) {
  .catalog-intro .thumb {
    width: 100%;
    height: 60vw;
    padding: 10% 16%;
    margin-bottom: 30px;
  }
}
.catalog-intro .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.catalog-intro .detail {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.catalog-intro .detail .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 32px;
  color: #333;
  margin-bottom: 0;
}
@media screen and (max-width: 750px) {
  .catalog-intro .detail .ttl {
    font-size: 24px;
  }
}
.catalog-intro .detail .ttl-line {
  height: 1px;
  background-color: #e6e6e6;
  margin: 31px 0 44px;
}
@media screen and (max-width: 750px) {
  .catalog-intro .detail .ttl-line {
    margin: 16px 0 20px;
  }
}
.catalog-intro .detail .subttl {
  font-size: 20px;
  font-weight: 500;
  color: #333;
  margin-bottom: 12px;
}
@media screen and (max-width: 750px) {
  .catalog-intro .detail .subttl {
    font-size: 16px;
  }
}
.catalog-intro .detail .txt {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 70px;
}

.catalog-online {
  padding: 100px 30px;
  background-color: #f4f4f4;
}
@media screen and (max-width: 750px) {
  .catalog-online {
    padding: 50px 16px;
  }
}
.catalog-online .inner {
  max-width: 1200px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 77px;
}
@media screen and (max-width: 750px) {
  .catalog-online .inner {
    display: block;
  }
}
.catalog-online .thumb {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 520px;
  border-radius: 8px;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .catalog-online .thumb {
    width: 100%;
    margin-bottom: 30px;
  }
}
.catalog-online .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.catalog-online .detail {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding: 0 50px 0 0;
}
.catalog-online .detail .en {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: #e6001a;
  margin-bottom: 5px;
}
.catalog-online .detail .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 32px;
  color: #333;
  margin-bottom: 28px;
  font-weight: 600;
}
@media screen and (max-width: 750px) {
  .catalog-online .detail .ttl {
    font-size: 24px;
    margin-bottom: 16px;
  }
}
.catalog-online .detail .txt {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 32px;
}
.catalog-online .btn-line {
  width: 308px;
  margin: 0 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 750px) {
  body#faq {
    padding: 65px 0 0;
  }
}
.faq-content {
  padding: 60px 0 80px;
}
@media screen and (max-width: 750px) {
  .faq-content {
    padding: 40px 0 50px;
  }
}
.faq-content .inner {
  max-width: 1180px;
  width: 90%;
  margin: 0 auto;
}
.faq-content .faq-group {
  margin-bottom: 70px;
}
@media screen and (max-width: 750px) {
  .faq-content .faq-group {
    margin-bottom: 40px;
  }
}
.faq-content .faq-group:last-child {
  margin-bottom: 0;
}
.faq-content .faq-group .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-bottom: 43px;
}
@media screen and (max-width: 750px) {
  .faq-content .faq-group .head {
    margin-bottom: 20px;
  }
}
.faq-content .faq-group .head .bar {
  display: block;
  width: 1px;
  height: 22px;
  background-color: #e6001a;
}
.faq-content .faq-group .head .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  color: #1a1a1a;
  letter-spacing: 0.05em;
  margin-bottom: 0;
  font-weight: normal;
  padding-left: 10px;
}
@media screen and (max-width: 750px) {
  .faq-content .faq-group .head .ttl {
    font-size: 18px;
  }
}
.faq-content .faq_block {
  border-bottom: 1px solid #e6e6e6;
}
.faq-content .faq_block dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  padding: 24px 17px;
  border-top: 1px solid #e6e6e6;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (max-width: 750px) {
  .faq-content .faq_block dt {
    gap: 12px;
    padding: 16px 0;
  }
}
.faq-content .faq_block dt.open {
  background-color: #f4f4f4;
}
.faq-content .faq_block dt.open .icon .ico-add {
  display: none;
}
.faq-content .faq_block dt.open .icon .ico-remove {
  display: block;
}
.faq-content .faq_block dt.open + dd {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
.faq-content .faq_block dt .mark {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 24px;
  font-size: 20px;
  color: #333;
}
.faq-content .faq_block dt .txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 0;
}
@media screen and (max-width: 750px) {
  .faq-content .faq_block dt .txt {
    font-size: 14px;
  }
}
.faq-content .faq_block dt .icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 28px;
  height: 28px;
}
@media screen and (max-width: 750px) {
  .faq-content .faq_block dt .icon {
    width: 22px;
    height: 22px;
  }
}
.faq-content .faq_block dt .icon img {
  width: 100%;
  height: 100%;
}
.faq-content .faq_block dt .icon .ico-remove {
  display: none;
}
.faq-content .faq_block dd {
  display: none;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 20px;
  padding: 30px 17px 32px;
}
@media screen and (max-width: 750px) {
  .faq-content .faq_block dd {
    gap: 12px;
    padding: 30px 0 20px;
  }
}
.faq-content .faq_block dd .mark {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 24px;
  font-size: 20px;
  color: #333;
}
.faq-content .faq_block dd .txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 0;
}
@media screen and (max-width: 750px) {
  .faq-content .faq_block dd .txt {
    font-size: 14px;
  }
}
.faq-content .faq_block dd .txt-wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.faq-content .faq_block dd .txt-wrap .txt {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}

@media screen and (max-width: 750px) {
  body#disaster-prevention {
    padding: 65px 0 0;
  }
  body#disaster-prevention-service {
    padding: 65px 0 0;
  }
}
body#disaster-prevention .top-titleset .title-en {
  font-family: "Avenir", sans-serif;
  font-weight: 800;
  font-size: 16px;
  line-height: 27.1px;
  letter-spacing: 1.5px;
}

body#disaster-prevention .top-titleset .title-jp {
  font-weight: 800;
  font-size: 32px;
  line-height: 52px;
  letter-spacing: 0;
}

body#disaster-prevention .dept-main .top-slide-wrap .swiper-slide_child .detail {
  top: 150.71px;
  left: 153px;
  height: auto;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 750px) {
  body#disaster-prevention .dept-main .top-slide-wrap .swiper-slide_child .detail {
    top: 0;
    left: 6.4%;
  }
}
body#disaster-prevention .dept-main .top-slide-wrap .swiper-slide_child .detail .pretitle {
  display: inline-block;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 500;
  font-size: 27.09px;
  line-height: 47.4px;
  letter-spacing: 6.77px;
}
@media screen and (max-width: 750px) {
  body#disaster-prevention .dept-main .top-slide-wrap .swiper-slide_child .detail .pretitle {
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 2px;
  }
}
body#disaster-prevention .dept-main .top-slide-wrap .swiper-slide_child .detail .line {
  width: 446.31px;
  height: 1.13px;
  background-color: rgba(255, 255, 255, 0.5);
  opacity: 1;
}
@media screen and (max-width: 750px) {
  body#disaster-prevention .dept-main .top-slide-wrap .swiper-slide_child .detail .line {
    width: 140px;
  }
}
body#disaster-prevention .dept-main .top-slide-wrap .swiper-slide_child .detail .title {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 600;
  font-size: 66.59px;
  letter-spacing: 10.65px;
  color: #fff;
}
@media screen and (max-width: 750px) {
  body#disaster-prevention .dept-main .top-slide-wrap .swiper-slide_child .detail .title {
    font-size: 30px;
    letter-spacing: 3px;
  }
}
body#disaster-prevention .dept-main .top-slide-wrap .swiper-slide_child .detail .lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: 25px;
  line-height: 44px;
  letter-spacing: 6.77px;
  color: #fff;
}
@media screen and (max-width: 750px) {
  body#disaster-prevention .dept-main .top-slide-wrap .swiper-slide_child .detail .lead {
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: 1px;
  }
}

body#disaster-prevention .dept-recruit {
  position: relative;
  margin-bottom: 63px;
  display: none;
}
body#disaster-prevention .dept-recruit:before, body#disaster-prevention .dept-recruit:after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #e5e5e5;
}
body#disaster-prevention .dept-recruit:before {
  top: 0;
}
body#disaster-prevention .dept-recruit:after {
  bottom: 0;
}
body#disaster-prevention .dept-recruit .thumb {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 756px;
          flex: 0 0 756px;
  width: 756px;
  height: 366px;
}
@media screen and (max-width: 750px) {
  body#disaster-prevention .dept-recruit .thumb {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    width: 100%;
    height: 60vw;
  }
}

.dept-main .top-slide-wrap-over {
  position: relative;
  overflow: hidden;
}
.dept-main .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child {
  position: relative;
}
.dept-main .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 856px;
}
@media screen and (max-width: 750px) {
  .dept-main .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .img {
    height: 480px;
    -o-object-position: right top;
       object-position: right top;
  }
}
.dept-main .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child:after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.3);
}
.dept-main .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 10%;
  width: 80%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 750px) {
  .dept-main .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail {
    left: 6.4%;
    width: 87%;
  }
}
.dept-main .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .pretitle {
  font-size: 42px;
  color: #fff;
  letter-spacing: 0.1em;
  margin-bottom: 12px;
}
@media screen and (max-width: 750px) {
  .dept-main .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .pretitle {
    font-size: 18px;
    margin-bottom: 8px;
  }
}
.dept-main .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .line {
  display: block;
  width: 280px;
  height: 2px;
  background-color: #fff;
  opacity: 0.6;
  margin-bottom: 28px;
}
@media screen and (max-width: 750px) {
  .dept-main .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .line {
    width: 140px;
    margin-bottom: 16px;
  }
}
.dept-main .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .title {
  font-size: 60px;
  line-height: 1.45;
  color: #fff;
  letter-spacing: 0.08em;
  margin-bottom: 32px;
}
@media screen and (max-width: 750px) {
  .dept-main .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .title {
    font-size: 28px;
    margin-bottom: 16px;
  }
}
.dept-main .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .lead {
  font-size: 24px;
  line-height: 1.7;
  color: #fff;
  letter-spacing: 0.05em;
  font-weight: 300;
}
@media screen and (max-width: 750px) {
  .dept-main .top-slide-wrap .swiper-wrapper .swiper-slide .swiper-slide_child .detail .lead {
    font-size: 13px;
    line-height: 1.8;
  }
}
.dept-main .slide-nav {
  right: 60px;
  bottom: 40px;
}
@media screen and (max-width: 750px) {
  .dept-main .slide-nav {
    right: 16px;
    bottom: 17px;
  }
}
.dept-main .swiper-pagination {
  right: 110px;
  bottom: 55px;
}
@media screen and (max-width: 750px) {
  .dept-main .swiper-pagination {
    right: auto;
    left: 14px;
    bottom: 23px;
  }
}

.dept-division {
  background-color: #f2f2f2;
  padding: 90px 30px;
}
@media screen and (max-width: 750px) {
  .dept-division {
    padding: 50px 16px;
  }
}
.dept-division .inner {
  max-width: 1200px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 60px;
}
@media screen and (max-width: 750px) {
  .dept-division .inner {
    display: block;
  }
}
.dept-division .photo {
  -webkit-box-flex: 1.1;
      -ms-flex: 1.1;
          flex: 1.1;
  min-width: 0;
  aspect-ratio: 623/425.5;
  border-radius: 15px;
  border: 3px solid #fff;
  overflow: hidden;
}
.dept-division .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (max-width: 750px) {
  .dept-division .photo {
    aspect-ratio: 623/425.5;
    margin-bottom: 30px;
  }
}
.dept-division .detail {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.dept-division .detail .txt {
  font-size: 16px;
  line-height: 1.9;
  color: #333;
  margin-bottom: 32px;
}

.dept-products {
  padding: 60px 0 120px;
}
@media screen and (max-width: 750px) {
  .dept-products {
    padding: 40px 16px 60px;
  }
}
.dept-products .inner {
  max-width: 1400px;
  margin: 0 auto;
}
.dept-products .top-titleset {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.dept-products-carousel-wrap {
  padding: 0 0 0 100px;
  overflow: hidden;
  margin: 0 0 20px 0;
  position: relative;
}
.dept-products-carousel-wrap .btn-prev,
.dept-products-carousel-wrap .btn-next {
  position: absolute;
  bottom: 0;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 28px;
  height: 28px;
  margin-top: -20px;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.dept-products-carousel-wrap .btn-prev:hover,
.dept-products-carousel-wrap .btn-next:hover {
  opacity: 0.7;
}
.dept-products-carousel-wrap .btn-prev {
  left: 0;
  background-image: url("../../assets/img/disaster-prevention/cal-btn-prev.png");
  background-repeat: no-repeat;
}
.dept-products-carousel-wrap .btn-next {
  left: 43px;
  background-image: url("../../assets/img/disaster-prevention/cal-btn-next.png");
  background-repeat: no-repeat;
}
.dept-products-carousel-wrap .btn-next img {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.dept-products-carousel {
  position: relative;
  width: 1350px;
  margin: 0 0 0 auto;
  padding: 0 0 65px;
  overflow: visible;
}
@media screen and (max-width: 750px) {
  .dept-products-carousel {
    padding: 0 30px;
    margin-bottom: 30px;
  }
}
.dept-products-carousel .card {
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 15px;
  overflow: hidden;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.dept-products-carousel .card:hover {
  border-color: #e6001a;
}
.dept-products-carousel .card .thumb {
  height: 174px;
  padding: 10px 10px 0;
  margin: 0 0 10px;
}
.dept-products-carousel .card .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.dept-products-carousel .card .body {
  padding: 0 10px 20px;
}
.dept-products-carousel .card .body .cate {
  color: #fff;
  background-color: #333;
  padding: 6px 19px 8px;
  line-height: 1;
  border-radius: 2px;
  margin-bottom: 20px;
  display: inline-block;
  font-size: 15px;
}
.dept-products-carousel .card .body .ttl {
  margin-bottom: 10px;
  line-height: 1.5;
  height: 45px;
}
.dept-products-carousel .card .body .sub {
  font-size: 12px;
  color: #777;
  margin-top: 6px;
  letter-spacing: 0.5px;
}

.btn-line.center {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.dept-products-carousel-btn-wrap {
  text-align: center;
  padding: 0 0 0 100px;
}
.dept-products-carousel-btn-wrap .btn-line {
  width: 258px;
}

.catalog-online.is-warm {
  background: #F2F2F2;
}
.catalog-online.is-warm .btn-line {
  width: 308px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 0 auto;
}

.dept-faq {
  padding: 100px 30px;
}
@media screen and (max-width: 750px) {
  .dept-faq {
    padding: 50px 16px;
  }
}
.dept-faq .inner {
  max-width: 1000px;
  margin: 0 auto;
  text-align: left;
}
.dept-faq .top-titleset {
  margin-bottom: 40px;
}
.dept-faq .faq_block {
  border-bottom: 1px solid #e6e6e6;
  margin-bottom: 40px;
}
.dept-faq .faq_block dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 16px;
  padding: 24px 44px 7px 0;
  border-top: 1px solid #e6e6e6;
  position: relative;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.dept-faq .faq_block dt:before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 8px;
  height: 8px;
  margin-top: 6px;
  background-color: #e6001a;
}
.dept-faq .faq_block dt.open {
  background-color: #f4f4f4;
}
.dept-faq .faq_block dt.open .icon .ico-add {
  display: none;
}
.dept-faq .faq_block dt.open .icon .ico-remove {
  display: block;
}
.dept-faq .faq_block dt .txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin: 0 0 1.1em;
  position: relative;
}
@media screen and (max-width: 750px) {
  .dept-faq .faq_block dt .txt {
    font-size: 14px;
  }
}
.dept-faq .faq_block dt .icon {
  position: absolute;
  right: 0;
  top: 24px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 28px;
  height: 28px;
}
@media screen and (max-width: 750px) {
  .dept-faq .faq_block dt .icon {
    width: 22px;
    height: 22px;
  }
}
.dept-faq .faq_block dt .icon img {
  width: 100%;
  height: 100%;
}
.dept-faq .faq_block dt .icon .ico-remove {
  display: none;
}
.dept-faq .faq_block dd {
  display: none;
  padding: 0 44px 32px 24px;
}
.dept-faq .faq_block dd .txt {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
@media screen and (max-width: 750px) {
  .dept-faq .faq_block dd .txt {
    font-size: 14px;
  }
}
.dept-faq {
  text-align: center;
}

.dept-recruit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 750px) {
  .dept-recruit {
    display: block;
  }
}
.dept-recruit .thumb {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 480px;
}
@media screen and (max-width: 750px) {
  .dept-recruit .thumb {
    height: 60vw;
  }
}
.dept-recruit .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.dept-recruit .detail {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding: 0 8% 0 100px;
}
@media screen and (max-width: 750px) {
  .dept-recruit .detail {
    padding: 30px 16px;
  }
}
.dept-recruit .detail .txt {
  font-size: 16px;
  line-height: 1.9;
  color: #333;
  margin-bottom: 32px;
}

body#disaster-prevention-service .top-titleset .title-en {
  font-family: "Avenir", sans-serif;
  font-weight: 800;
  font-size: 16px;
  line-height: 27.1px;
  letter-spacing: 1.5px;
}

body#disaster-prevention-service .top-titleset .title-jp {
  font-weight: 800;
  font-size: 32px;
  line-height: 52px;
  letter-spacing: 0;
}

body#disaster-prevention-service .dept-intro .inner {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

body#disaster-prevention-service .info-grid .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 600;
  font-size: 24px;
  color: #1a1a1a;
}

body#disaster-prevention-service .info-grid .txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: 16px;
  line-height: 29px;
  letter-spacing: 0;
}

body#disaster-prevention .dept-faq .inner {
  max-width: 1400px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 110px;
}
body#disaster-prevention .dept-faq .inner .faq-left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 280px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
body#disaster-prevention .dept-faq .inner .faq_block {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  border-bottom: 1px solid #e6e6e6;
  margin-bottom: 40px;
}

@media screen and (max-width: 750px) {
  body#construction {
    padding: 65px 0 0;
  }
  body#construction-case {
    padding: 65px 0 0;
  }
  body#construction-product {
    padding: 65px 0 0;
  }
  body#construction-service {
    padding: 65px 0 0;
  }
}
body#construction-case .pagination,
body#construction-product .pagination {
  margin-bottom: -67px;
}

body#construction-product .product-detail .gallery .main-img.main-img_wide {
  border: none;
  height: auto;
}
body#construction-product .product-detail .gallery .main-img.main-img_wide img {
  max-width: unset;
  max-height: unset;
  -o-object-fit: unset;
     object-fit: unset;
  width: 100%;
}

body#construction-product .product-detail .info .ttl {
  font-weight: 700;
  margin-bottom: 34px;
}

body#construction-product .product-detail .info .divider {
  width: 100%;
  height: 1px;
  background-color: #e6e6e6;
  margin-bottom: 39px;
}

body#construction-case .product-detail .info .divider {
  width: 100%;
  height: 1px;
  background-color: #e6e6e6;
  margin-bottom: 39px;
}

body#construction-case .product-detail .gallery .main-img {
  border: none;
  height: auto;
}
body#construction-case .product-detail .gallery .main-img img {
  max-width: 500px;
  max-height: unset;
  -o-object-fit: unset;
     object-fit: unset;
}
@media screen and (max-width: 750px) {
  body#construction-case .product-detail .gallery .main-img img {
    width: 100%;
  }
}

body#construction .dept-recruit {
  display: none;
  position: relative;
  margin-bottom: 63px;
}
body#construction .dept-recruit:before, body#construction .dept-recruit:after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #e5e5e5;
}
body#construction .dept-recruit:before {
  top: 0;
}
body#construction .dept-recruit:after {
  bottom: 0;
}
body#construction .dept-recruit .thumb {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 756px;
          flex: 0 0 756px;
  width: 756px;
  height: 366px;
}
@media screen and (max-width: 750px) {
  body#construction .dept-recruit .thumb {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    width: 100%;
    height: 60vw;
  }
}

body#construction .dept-intro .inner {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

body#construction .dept-main .top-slide-wrap .swiper-slide_child .detail {
  top: 150.71px;
  left: 153px;
  height: auto;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 750px) {
  body#construction .dept-main .top-slide-wrap .swiper-slide_child .detail {
    top: 0;
    left: 6.4%;
  }
}
body#construction .dept-main .top-slide-wrap .swiper-slide_child .detail .pretitle {
  display: inline-block;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 500;
  font-size: 27.09px;
  line-height: 47.4px;
  letter-spacing: 6.77px;
}
@media screen and (max-width: 750px) {
  body#construction .dept-main .top-slide-wrap .swiper-slide_child .detail .pretitle {
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 2px;
  }
}
body#construction .dept-main .top-slide-wrap .swiper-slide_child .detail .line {
  width: 446.31px;
  height: 1.13px;
  background-color: rgba(255, 255, 255, 0.5);
  opacity: 1;
}
@media screen and (max-width: 750px) {
  body#construction .dept-main .top-slide-wrap .swiper-slide_child .detail .line {
    width: 140px;
  }
}
body#construction .dept-main .top-slide-wrap .swiper-slide_child .detail .title {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 600;
  font-size: 66.59px;
  letter-spacing: 10.65px;
  color: #fff;
}
@media screen and (max-width: 750px) {
  body#construction .dept-main .top-slide-wrap .swiper-slide_child .detail .title {
    font-size: 30px;
    letter-spacing: 3px;
  }
}
body#construction .dept-main .top-slide-wrap .swiper-slide_child .detail .lead {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: 25px;
  line-height: 44px;
  letter-spacing: 6.77px;
  color: #fff;
}
@media screen and (max-width: 750px) {
  body#construction .dept-main .top-slide-wrap .swiper-slide_child .detail .lead {
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: 1px;
  }
}

body#construction .top-titleset .title-en {
  font-family: "Avenir", sans-serif;
  font-weight: 800;
  font-size: 16px;
  line-height: 27.1px;
  letter-spacing: 1.5px;
}

body#construction .top-titleset .title-jp {
  font-weight: 800;
  font-size: 32px;
  line-height: 52px;
  letter-spacing: 0;
}

body#construction-case .product-detail .info .ttl {
  font-weight: 700;
  margin-bottom: 24px;
}

body#construction-case .case-detail-body .section-ttl2 {
  font-weight: 700;
  font-size: 24px;
}

body#construction-case .case-detail-body .txt {
  font-size: 16px;
  line-height: 28.6px;
}

body#construction-service .top-titleset .title-en {
  font-family: "Avenir", sans-serif;
  font-weight: 800;
  font-size: 16px;
  line-height: 27.1px;
  letter-spacing: 1.5px;
}

body#construction-service .top-titleset .title-jp {
  font-weight: 800;
  font-size: 32px;
  line-height: 52px;
  letter-spacing: 0;
}

body#construction-service .dept-intro .inner {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

body#construction-service .info-grid .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 600;
  font-size: 24px;
  color: #1a1a1a;
}

body#construction-service .info-grid .txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: 16px;
  line-height: 29px;
  letter-spacing: 0;
}

body#construction-service .dept-works .case-grid {
  grid-template-columns: repeat(4, 1fr);
  -webkit-column-gap: 31.88px;
     -moz-column-gap: 31.88px;
          column-gap: 31.88px;
  row-gap: 35px;
}
@media screen and (max-width: 750px) {
  body#construction-service .dept-works .case-grid {
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 16px;
       -moz-column-gap: 16px;
            column-gap: 16px;
    row-gap: 16px;
  }
}

body#construction-service .dept-works .case-card {
  height: auto;
}
@media screen and (max-width: 750px) {
  body#construction-service .dept-works .case-card {
    aspect-ratio: auto;
  }
}
body#construction-service .dept-works .case-card .link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
body#construction-service .dept-works .case-card .thumb {
  height: 195px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 10px 10px 0 0;
}
body#construction-service .dept-works .case-card .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body#construction-service .dept-works .case-card .body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-height: 0;
}

body#construction-case .product-table .col-capacity,
body#construction-case .product-table .col-weight,
body#construction-case .product-table .col-price,
body#construction-case .product-table .col-note,
body#construction-product .product-table .col-capacity,
body#construction-product .product-table .col-weight,
body#construction-product .product-table .col-price,
body#construction-product .product-table .col-note {
  width: 20%;
}

.dept-intro {
  background-color: #f2f2f2;
  padding: 90px 30px;
}
@media screen and (max-width: 750px) {
  .dept-intro {
    padding: 50px 16px;
  }
}
.dept-intro .inner {
  max-width: 1200px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 60px;
}
@media screen and (max-width: 750px) {
  .dept-intro .inner {
    display: block;
  }
}
.dept-intro .photo {
  -webkit-box-flex: 1.1;
      -ms-flex: 1.1;
          flex: 1.1;
  min-width: 0;
  aspect-ratio: 623/425.5;
  border-radius: 15px;
  border: 3px solid #fff;
  overflow: hidden;
}
.dept-intro .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (max-width: 750px) {
  .dept-intro .photo {
    margin-bottom: 30px;
  }
}
.dept-intro .detail {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.dept-intro .detail .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: bold;
  font-size: 32px;
  line-height: 1.5;
  color: #1a1a1a;
  margin-bottom: 24px;
}
@media screen and (max-width: 750px) {
  .dept-intro .detail .ttl {
    font-size: 22px;
    margin-bottom: 16px;
  }
}
.dept-intro .detail .txt {
  font-size: 16px;
  line-height: 1.9;
  color: #333;
  margin-bottom: 32px;
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px 60px;
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .info-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.info-grid .card {
  list-style: none;
}
.info-grid .photo {
  aspect-ratio: 570/300;
  border-radius: 15px;
  overflow: hidden;
  margin-bottom: 24px;
}
.info-grid .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.info-grid .ttl {
  font-size: 20px;
  font-weight: bold;
  color: #1a1a1a;
  margin-bottom: 12px;
}
@media screen and (max-width: 750px) {
  .info-grid .ttl {
    font-size: 17px;
  }
}
.info-grid .txt {
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 0;
}
@media screen and (max-width: 750px) {
  .info-grid .txt {
    font-size: 13px;
  }
}

.feature-tabs {
  max-width: 1200px;
  margin: 0 auto;
}
.feature-tabs .tab-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 750px) {
  .feature-tabs .tab-nav {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.feature-tabs .tab-nav li {
  list-style: none;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 130px;
  margin: 0 0 14px;
}
.feature-tabs .tab-nav button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 65px;
  padding: 0 0;
  background-color: #767676;
  border: none;
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  text-align: center;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  border-radius: 3px;
}
@media screen and (max-width: 750px) {
  .feature-tabs .tab-nav button {
    height: 56px;
    font-size: 13px;
  }
}
.feature-tabs .tab-nav button:hover {
  opacity: 0.8;
}
.feature-tabs .tab-nav li.is-active {
  margin-bottom: 0;
}
.feature-tabs .tab-nav li.is-active button {
  background-color: #f4f4f4;
  color: #1a1a1a;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  height: 80px;
}
.feature-tabs .tab-panel {
  display: none;
  background-color: #f4f4f4;
  padding: 65px 100px 45px;
  border-top-right-radius: 15px;
}
@media screen and (max-width: 750px) {
  .feature-tabs .tab-panel {
    padding: 24px 20px;
  }
}
.feature-tabs .tab-panel.is-active {
  display: block;
}
.feature-tabs .tab-panel .txt {
  font-size: 15px;
  line-height: 1.9;
  color: #333;
  margin-bottom: 0;
}
@media screen and (max-width: 750px) {
  .feature-tabs .tab-panel .txt {
    font-size: 13px;
  }
}
.feature-tabs .photo {
  overflow: hidden;
  padding: 0 100px 75px;
  background-color: #f4f4f4;
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
}
.feature-tabs .photo img {
  width: 100%;
  display: block;
}

.dept-services {
  padding: 60px 30px 120px;
}
@media screen and (max-width: 750px) {
  .dept-services {
    padding: 30px 16px 60px;
  }
}
.dept-services .inner {
  max-width: 1400px;
  margin: 0 auto;
}
.dept-services .top-titleset {
  max-width: 1200px;
  margin: 0 auto 40px;
}

.category-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto 55px;
}
@media screen and (max-width: 750px) {
  .category-cards {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 30px;
  }
}
.category-cards.category-cards--4 {
  grid-template-columns: repeat(2, 1fr);
  margin: 60px auto 0;
}
@media screen and (max-width: 750px) {
  .category-cards.category-cards--4 {
    grid-template-columns: 1fr;
    margin-top: 30px;
  }
}
.category-cards li {
  list-style: none;
}
.category-cards .card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 277px;
  max-width: 365px;
  width: 100%;
  margin: 0 auto;
  border-radius: 12px;
  overflow: hidden;
  background-color: #fff;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (max-width: 750px) {
  .category-cards .card {
    height: auto;
    max-width: none;
  }
}
.category-cards .card:hover {
  opacity: 1;
  -webkit-box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
          box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
.category-cards .card_border {
  border: 1px solid #D4D4D4;
}
.category-cards .thumb {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-height: 0;
}
@media screen and (max-width: 750px) {
  .category-cards .thumb {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    height: 55vw;
  }
}
.category-cards .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.category-cards .body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 20px 22.5px;
}
.category-cards .body .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 30px;
  letter-spacing: 2px;
  color: #1a1a1a;
}
.category-cards .body .arrow {
  width: 20px;
  height: 20px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.feature-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 60px;
  max-width: 1200px;
  margin: 0 auto 55px;
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .feature-card {
    display: block;
    gap: 0;
  }
}
.feature-card .thumb {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.feature-card .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.feature-card .body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.feature-card .body .ttl {
  font-size: 32px;
  font-weight: bold;
  color: #1a1a1a;
  margin-bottom: 20px;
}
@media screen and (max-width: 750px) {
  .feature-card .body .ttl {
    font-size: 24px;
  }
}
.feature-card .body .txt {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 32px;
}
.feature-card.feature-card--media {
  aspect-ratio: 1200/212;
  height: auto;
  gap: 42px;
}
@media screen and (max-width: 750px) {
  .feature-card.feature-card--media {
    aspect-ratio: auto;
  }
}
.feature-card.feature-card--media .thumb {
  width: 366px;
  border-radius: 10px 0 0 10px;
}
.feature-card.feature-card--media .body {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 48px;
  padding: 40px 30px 40px 0;
}
@media screen and (max-width: 750px) {
  .feature-card.feature-card--media .body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 24px 20px 30px;
  }
}
.feature-card.feature-card--media .body .text-block {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.feature-card.feature-card--media .body .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 500;
  font-size: 28px;
  line-height: 26px;
  letter-spacing: 2px;
  margin-bottom: 16px;
}
@media screen and (max-width: 750px) {
  .feature-card.feature-card--media .body .ttl {
    font-size: 22px;
  }
}
.feature-card.feature-card--media .body .txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: 16.67px;
  line-height: 29.2px;
  letter-spacing: 0;
  margin-bottom: 0;
}
.feature-card.feature-card--media .body .btn-line {
  width: 208.85px;
  height: 54.69px;
  border-radius: 8px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 0;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .feature-card.feature-card--media .body .btn-line {
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  .feature-card.feature-card--media .thumb {
    width: 100%;
    height: 55vw;
    border-radius: 0;
  }
}
.feature-card.feature-card--compact {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 32px 60px 32px 40px;
  gap: 40px;
}
@media screen and (max-width: 750px) {
  .feature-card.feature-card--compact {
    padding: 24px 20px;
    display: block;
  }
}
.feature-card.feature-card--compact .thumb {
  width: 200px;
  height: 140px;
}
@media screen and (max-width: 750px) {
  .feature-card.feature-card--compact .thumb {
    width: 100%;
    height: 40vw;
    margin-bottom: 20px;
  }
}
.feature-card.feature-card--compact .body .ttl {
  font-size: 24px;
  margin-bottom: 12px;
}
.feature-card.feature-card--compact .body .txt {
  margin-bottom: 0;
}
.feature-card.feature-card--compact .btn-line {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.dept-works {
  background-color: #f2f2f2;
  padding: 90px 0;
}
@media screen and (max-width: 750px) {
  .dept-works {
    padding: 50px 0;
  }
}
.dept-works .inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 30px;
}
@media screen and (max-width: 750px) {
  .dept-works .inner {
    padding: 0 16px;
  }
}
.dept-works > .inner > .top-titleset {
  margin-bottom: 40px;
}
.dept-works .btn-wrap {
  text-align: center;
  margin-top: 50px;
}
.dept-works .case-grid {
  grid-template-columns: repeat(4, 1fr);
  -webkit-column-gap: 31.88px;
     -moz-column-gap: 31.88px;
          column-gap: 31.88px;
  row-gap: 35px;
}
@media screen and (max-width: 750px) {
  .dept-works .case-grid {
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 16px;
       -moz-column-gap: 16px;
            column-gap: 16px;
    row-gap: 16px;
  }
}
.dept-works .case-card {
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 750px) {
  .dept-works .case-card {
    aspect-ratio: auto;
  }
}
.dept-works .case-card .thumb {
  height: 195px;
  border-radius: 10px 10px 0 0;
}
.dept-works .case-card .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.dept-works .case-card .body {
  background-color: #fff;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-height: 0;
}
.dept-works .case-card .ttl {
  margin-top: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: 15px;
  line-height: 29.2px;
  letter-spacing: 0;
  color: #1a1a1a;
}

.case-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 41px;
}
@media screen and (max-width: 750px) {
  .case-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

.case-card {
  list-style: none;
  background-color: #fff;
  border: 1px solid #e7e7e7;
  border-radius: 10px;
  overflow: hidden;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  min-width: 0;
}
.case-card .link {
  display: block;
}
.case-card .thumb {
  aspect-ratio: 289/210;
  height: auto;
}
.case-card .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.case-card .body {
  padding: 20px 20px 20px;
  height: auto;
  min-height: 145px;
  background-color: #f4f4f4;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.case-card .tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
@media screen and (max-width: 750px) {
  .case-card .tags {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.case-card .tag {
  background-color: #333333;
  color: #fff;
  font-size: 13px;
  padding: 5px 10px;
  border-radius: 2px;
}
@media screen and (max-width: 750px) {
  .case-card .tag {
    font-size: 12px;
  }
}
.case-card .ttl {
  font-size: 15px;
  line-height: 1.7;
  color: #333;
  margin-bottom: 0;
}

.case-card.case-card_nolink {
  pointer-events: none;
}
.case-card.case-card_nolink:hover {
  border-color: #e7e7e7;
}

.case-filter .all-link {
  display: block;
  margin-bottom: 24px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  color: #e6001a;
}
.case-filter .filter-group + .filter-group {
  margin-top: 32px;
}

.case-compare {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
  max-width: 1200px;
  width: 90%;
  margin: 40px auto 0;
}
@media screen and (max-width: 750px) {
  .case-compare {
    display: block;
    width: calc(100% - 32px);
  }
}
.case-compare .item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  position: relative;
}
@media screen and (max-width: 750px) {
  .case-compare .item + .item {
    margin-top: 40px;
  }
}
.case-compare .item .label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 121px;
  height: 35px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #333333;
  border-radius: 15px 0 0 0;
  font-family: "Avenir", sans-serif;
  font-weight: 800;
  font-size: 16px;
  letter-spacing: 2.71px;
  color: #fff;
}
.case-compare .item:last-child .label {
  background-color: #e6001a;
}
.case-compare .item .photo {
  aspect-ratio: 500/340;
  border-radius: 15px;
  overflow: hidden;
}
.case-compare .item .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.case-compare .item .tag {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 4px 8px;
  margin-top: 30px;
  margin-bottom: 20px;
  background-color: #333;
  border-radius: 2px;
  font-size: 12px;
  font-weight: 500;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .case-compare .item .tag {
    margin-top: 0;
    margin-bottom: 15px;
  }
}
.case-compare .item .title {
  font-size: 28px;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 500;
  border-bottom: 1px solid #E6E6E6;
  padding-bottom: 0.9em;
  margin-bottom: 1.3em;
}
@media screen and (max-width: 750px) {
  .case-compare .item .title {
    padding-bottom: 0.5em;
    margin-bottom: 0.6em;
    font-size: 22px;
  }
}
.case-compare_align-start {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.case-compare_align-start .item:nth-child(1) {
  width: 42%;
  -webkit-box-flex: unset;
      -ms-flex: unset;
          flex: unset;
}
@media screen and (max-width: 750px) {
  .case-compare_align-start .item:nth-child(1) {
    width: 100%;
  }
}
.case-compare_align-start .item:nth-child(2) {
  width: 51%;
  -webkit-box-flex: unset;
      -ms-flex: unset;
          flex: unset;
}
@media screen and (max-width: 750px) {
  .case-compare_align-start .item:nth-child(2) {
    width: 100%;
    margin-top: 20px;
  }
}
.case-compare .arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 60px;
  height: 60px;
}
@media screen and (max-width: 750px) {
  .case-compare .arrow {
    width: 44px;
    height: 44px;
    margin: 16px auto;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}
.case-compare .arrow img {
  width: 60px;
  height: 60px;
  -webkit-filter: none;
          filter: none;
}
@media screen and (max-width: 750px) {
  .case-compare .arrow img {
    width: 44px;
    height: 44px;
  }
}

.product-detail .info .cate + .cate {
  margin-left: 8px;
}

.case-detail-body {
  max-width: 1200px;
  width: 90%;
  margin: 60px auto 0;
}
@media screen and (max-width: 750px) {
  .case-detail-body {
    width: calc(100% - 32px);
    margin-top: 40px;
  }
}
.case-detail-body .section-ttl2 {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 22px;
  color: #1a1a1a;
  padding-bottom: 20px;
  margin-bottom: 24px;
  border-bottom: 1px solid #e6001a;
}
@media screen and (max-width: 750px) {
  .case-detail-body .section-ttl2 {
    font-size: 17px;
    padding-bottom: 14px;
    margin-bottom: 16px;
  }
}
.case-detail-body .txt {
  font-size: 15px;
  line-height: 1.9;
  color: #333;
}
@media screen and (max-width: 750px) {
  .case-detail-body .txt {
    font-size: 13px;
  }
}

body#construction .dept-faq .inner {
  max-width: 1400px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 110px;
}
@media screen and (max-width: 750px) {
  body#construction .dept-faq .inner {
    display: block;
  }
}

body#construction .dept-faq .faq-left {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 280px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 750px) {
  body#construction .dept-faq .faq-left {
    width: 100%;
    margin-bottom: 30px;
  }
}

body#construction .dept-faq .faq_block {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.dept-faq .faq_block.is-icon-panel dt {
  gap: 27.59px;
}
.dept-faq .faq_block.is-icon-panel dt:before {
  width: 19.27px;
  height: 19.27px;
  background-color: transparent;
  background-image: url(../img/construction/faq/icon-faq-chevron.png);
  background-size: contain;
  background-repeat: no-repeat;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.dept-faq .faq_block.is-icon-panel dt.open {
  background-color: transparent;
}
.dept-faq .faq_block.is-icon-panel dt.open:before {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}
.dept-faq .faq_block.is-icon-panel dt.open + dd {
  background-color: #f4f4f4;
  margin: 0 25px 32px;
  padding: 27px 24px 11px;
}
.dept-faq .faq_block.is-icon-panel dd .txt {
  max-width: 729px;
}

body#recruit {
  padding: 0;
  overflow-x: hidden;
}

.recruit-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 300;
  pointer-events: none;
}
.recruit-header .inner {
  max-width: 1560px;
  margin: 0 auto;
  padding: 25px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 750px) {
  .recruit-header .inner {
    padding: 10px 16px;
  }
}
.recruit-header .logo {
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  top: 1px;
  pointer-events: auto;
}
@media screen and (max-width: 750px) {
  .recruit-header .logo {
    width: 160px;
    height: auto;
    top: 40px;
  }
}
.recruit-header .logo img {
  display: block;
  height: 37px;
  width: auto;
}
@media screen and (max-width: 750px) {
  .recruit-header .logo img {
    height: auto;
  }
}
.recruit-header .site-label {
  margin-left: 25px;
  margin-top: 8px;
}
@media screen and (max-width: 750px) {
  .recruit-header .site-label {
    display: none;
  }
}
.recruit-header .site-label .en {
  font-family: "Lato", sans-serif;
  font-weight: 600;
  font-size: 15.3px;
  color: #e6001a;
  letter-spacing: 0.05em;
  margin: 0;
  line-height: 1;
}
.recruit-header .site-label .jp {
  font-size: 12px;
  color: #333;
  margin: 4px 0 0 0;
  line-height: 1;
  font-weight: 500;
}
.recruit-header .header-right {
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 8px;
}
.recruit-header .header-right-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 8px;
  pointer-events: auto;
}
.recruit-header .btn-entry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 96px;
  height: 96px;
  border-radius: 12px;
  background-color: #e6001a;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.recruit-header .btn-entry:hover {
  opacity: 0.8;
}
.recruit-header .btn-entry .en {
  font-family: "Lato", sans-serif;
  font-weight: 600;
  font-size: 15px;
  color: #fff;
  letter-spacing: 0.05em;
  line-height: 1;
}
.recruit-header .btn-entry .jp {
  font-size: 11px;
  color: #fff;
  margin-top: 2px;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .recruit-header .btn-entry {
    width: 64px;
    height: 64px;
    border-radius: 8px;
  }
  .recruit-header .btn-entry .en {
    font-size: 11px;
  }
  .recruit-header .btn-entry .jp {
    font-size: 8px;
  }
}
.recruit-header .btn-toggle {
  width: 96px;
  height: 96px;
  border-radius: 12px;
  border: 1px solid #e6e6e6;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 7px;
  cursor: pointer;
  z-index: 400;
}
.recruit-header .btn-toggle span {
  display: block;
  width: 28px;
  height: 3px;
  background-color: #333;
}
@media screen and (max-width: 750px) {
  .recruit-header .btn-toggle {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    gap: 4px;
  }
  .recruit-header .btn-toggle span {
    width: 20px;
  }
}
.recruit-header .btn-boshu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 40px;
  border-radius: 8px;
  border: 1px solid #e6e6e6;
  background-color: #fff;
  font-size: 13px;
  letter-spacing: 0.1em;
  color: #1a1a1a;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  font-weight: 500;
  pointer-events: auto;
}
.recruit-header .btn-boshu:hover {
  opacity: 0.7;
}
@media screen and (max-width: 750px) {
  .recruit-header .btn-boshu {
    height: 32px;
    font-size: 11px;
  }
}

.recruit-mainvisual {
  position: relative;
  width: 100%;
  height: 760px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 750px) {
  .recruit-mainvisual {
    height: 500px;
  }
}
.recruit-mainvisual .bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.recruit-mainvisual .bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 750px) {
  .recruit-mainvisual .bg img {
    height: 500px;
    -o-object-position: left bottom;
       object-position: left bottom;
  }
}
.recruit-mainvisual .inner {
  position: absolute;
  inset: 0;
  z-index: 1;
  margin: 0 auto;
}
.recruit-mainvisual .inner .copy-wrap {
  position: absolute;
  left: 0;
  bottom: 0;
}
.recruit-mainvisual .inner .copy-wrap .letter {
  display: inline-block;
  background-color: #fff;
  font-size: 41px;
  padding: 0.32em 0.4em;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.1;
}
@media screen and (max-width: 750px) {
  .recruit-mainvisual .inner .copy-wrap .letter {
    font-size: 26px;
  }
}
.recruit-mainvisual .inner .copy-wrap .letter .highlight {
  color: #e6001a;
}
.recruit-mainvisual .catchcopy {
  position: absolute;
  left: 16.07%;
  top: 17.3%;
  width: 57.53%;
}
@media screen and (max-width: 750px) {
  .recruit-mainvisual .catchcopy {
    width: 80%;
    top: 124px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}
.recruit-mainvisual .catchcopy img {
  display: block;
  width: 100%;
  height: auto;
}
.recruit-mainvisual .photos {
  width: 69%;
  max-width: 996px;
  position: absolute;
  bottom: 0;
  right: 0;
  height: 415px;
}
@media screen and (max-width: 750px) {
  .recruit-mainvisual .photos {
    height: 170px;
    width: 100%;
    display: none;
  }
}
.recruit-mainvisual .photo {
  position: absolute;
  overflow: hidden;
  -webkit-filter: drop-shadow(0 5px 8px rgba(0, 0, 0, 0.15));
          filter: drop-shadow(0 5px 8px rgba(0, 0, 0, 0.15));
}
.recruit-mainvisual .photo01 {
  right: 75.3%;
  bottom: 16px;
  width: 242px;
}
@media screen and (max-width: 750px) {
  .recruit-mainvisual .photo01 {
    width: 27%;
    right: auto;
    left: 8%;
    bottom: 5px;
  }
}
.recruit-mainvisual .photo02 {
  right: 34.7%;
  top: 33px;
  width: 383px;
}
@media screen and (max-width: 750px) {
  .recruit-mainvisual .photo02 {
    top: auto;
    width: 38%;
    right: auto;
    left: 37%;
    bottom: 10px;
  }
}
.recruit-mainvisual .photo03 {
  right: 5%;
  top: 80px;
  width: 277px;
}
@media screen and (max-width: 750px) {
  .recruit-mainvisual .photo03 {
    width: 22%;
    right: auto;
    left: 76.4%;
    top: 69px;
  }
}

.recruit-about {
  padding: 50px 30px 115px;
}
@media screen and (max-width: 750px) {
  .recruit-about {
    padding: 20px 16px 50px;
  }
}
.recruit-about .inner {
  max-width: 1140px;
  margin: 0 auto;
}
.recruit-about .about-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 60px;
  margin-bottom: 80px;
  max-width: 1070px;
  margin: 0 auto;
}
.recruit-about .about-row:last-child {
  margin-bottom: 0;
}
.recruit-about .about-row.is-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-top: -15px;
}
.recruit-about .about-row.is-reverse .about-text {
  padding-top: 48px;
}
@media screen and (max-width: 750px) {
  .recruit-about .about-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px;
    margin-bottom: 50px;
  }
  .recruit-about .about-row.is-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.recruit-about .about-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.recruit-about .about-text .btn-line {
  margin: 0 0 0 auto;
  width: 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.recruit-about .num {
  font-family: "Avenir", "Lato", sans-serif;
  font-weight: 400;
  font-size: 96px;
  color: #ffd5da;
  color: rgba(230, 0, 26, 0.1);
  line-height: 1;
  margin-bottom: 8px;
  font-style: italic;
  letter-spacing: 0;
  position: relative;
  left: -25px;
}
@media screen and (max-width: 750px) {
  .recruit-about .num {
    font-size: 65px;
    left: -17px;
  }
}
.recruit-about .ttl {
  font-family: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Noto Sans JP", sans-serif;
  font-size: 30px;
  letter-spacing: 0.08em;
  color: #1a1a1a;
  margin-bottom: 20px;
  margin-top: -47px;
  font-weight: 500;
}
@media screen and (max-width: 750px) {
  .recruit-about .ttl {
    font-size: 20px;
    margin-bottom: 14px;
    margin-top: -39px;
  }
}
.recruit-about .desc {
  font-size: 15px;
  line-height: 2;
  color: #333;
  margin-bottom: 24px;
}
@media screen and (max-width: 750px) {
  .recruit-about .desc {
    font-size: 13px;
    line-height: 1.9;
  }
}
.recruit-about .about-illust {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 44%;
}
.recruit-about .about-illust img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 750px) {
  .recruit-about .about-illust {
    width: 70%;
    margin: 0 auto;
  }
}

.recruit-section-label-wrap {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.recruit-section-label-wrap_inter01 {
  margin-top: 62px;
}
@media screen and (max-width: 750px) {
  .recruit-section-label-wrap_inter01 {
    margin-top: 30px;
  }
}
.recruit-section-label-wrap_inter02 {
  margin-top: 102px;
  margin-bottom: 44px;
}
@media screen and (max-width: 750px) {
  .recruit-section-label-wrap_inter02 {
    margin-top: 50px;
    margin-bottom: 0px;
  }
}
.recruit-section-label-wrap_requirements01 {
  margin-top: 105px;
}
@media screen and (max-width: 750px) {
  .recruit-section-label-wrap_requirements01 {
    margin-top: 60px;
  }
}
.recruit-section-label-wrap_career01 {
  margin: -99px 0 62px;
}
@media screen and (max-width: 750px) {
  .recruit-section-label-wrap_career01 {
    margin-top: 0px;
    margin-bottom: 20px;
  }
  .recruit-section-label-wrap_career01 .recruit-section-label {
    margin-left: 0;
  }
}
@media screen and (max-width: 750px) {
  .recruit-section-label-wrap {
    padding: 0 0;
    width: auto;
  }
}

.recruit-section-label {
  font-family: "Avenir", "Lato", sans-serif;
  font-weight: 600;
  font-size: 23px;
  color: #e6001a;
  letter-spacing: 0.05em;
  padding-bottom: 20px;
  margin-bottom: 6px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  line-height: 1;
  max-width: 1180px;
}
.recruit-section-label:after {
  content: "";
  display: block;
  position: absolute;
  top: 20px;
  right: 0;
  left: 0;
  width: 100vw;
  height: 1px;
  margin: auto;
  background-color: #fbd8dc;
}
@media screen and (max-width: 750px) {
  .recruit-section-label {
    font-size: 15px;
    margin-bottom: 0px;
    margin-left: 16px;
  }
}

@media screen and (max-width: 750px) {
  .recruit-about .inner .recruit-section-label {
    margin-left: 0;
  }
}

.recruit-grid-section {
  padding: 0 30px 100px;
}
@media screen and (max-width: 750px) {
  .recruit-grid-section {
    padding: 0 16px 50px;
  }
}
.recruit-grid-section .inner {
  max-width: 1140px;
  margin: 0 auto;
}
.recruit-grid-section .section-label {
  font-family: "Lato", sans-serif;
  font-weight: 600;
  font-size: 23px;
  color: #e6001a;
  letter-spacing: 0.05em;
  padding-bottom: 20px;
  margin-bottom: 6px;
  position: relative;
  line-height: 1;
}
.recruit-grid-section .section-label:after {
  content: "";
  display: block;
  position: absolute;
  top: 20px;
  right: 0;
  left: 0;
  width: 100vw;
  height: 1px;
  margin: auto;
  background-color: #fbd8dc;
}
@media screen and (max-width: 750px) {
  .recruit-grid-section .section-label {
    font-size: 15px;
  }
}
.recruit-grid-section .filter-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 18px;
  margin-bottom: 40px;
}
@media screen and (max-width: 750px) {
  .recruit-grid-section .filter-tabs {
    gap: 8px;
    margin-bottom: 24px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.recruit-grid-section .tab {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 14px 24px;
  border-radius: 8px;
  border: 1px solid #e6e6e6;
  background-color: #fff;
  font-size: 14px;
  color: #333;
  letter-spacing: 0.08em;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.recruit-grid-section .tab.is-active {
  border-color: #1a1a1a;
  font-weight: bold;
}
.recruit-grid-section .tab:hover {
  border-color: #1a1a1a;
}
@media screen and (max-width: 750px) {
  .recruit-grid-section .tab {
    padding: 10px 16px;
    font-size: 12px;
  }
}
.recruit-grid-section .tab img {
  width: 20px;
  height: 20px;
  margin-left: 45px;
}
.recruit-grid-section {
  /* =====================================
    Grid
  ===================================== */
}
.recruit-grid-section .recruit-grid {
  margin: 45px auto;
  display: grid;
  /* 4カラム */
  grid-template-columns: repeat(4, minmax(0, 1fr));
  /* 画像のように隙間を狭く */
  gap: 20px;
  /* 空いた場所を詰める */
  grid-auto-flow: dense;
}
.recruit-grid-section {
  /* =====================================
    Card
  ===================================== */
}
.recruit-grid-section .recruit-card {
  position: relative;
  display: block;
  min-width: 0;
  height: 310px;
  background: #bdbdbd;
  border-radius: 12px;
  text-decoration: none;
  color: #fff;
  overflow: visible;
}
.recruit-grid-section .recruit-card:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 12px;
}
.recruit-grid-section .recruit-card:nth-child(1) {
  background-image: url("../img/recruit/cards/know-kanryu.jpg");
  background-repeat: no-repeat;
}
.recruit-grid-section .recruit-card:nth-child(2) {
  background-image: url("../img/recruit/cards/company.jpg");
  background-repeat: no-repeat;
  background-position: center 0;
  background-position: 42% 0;
  background-size: 230%;
}
.recruit-grid-section .recruit-card:nth-child(3) {
  background-image: url("../img/recruit/cards/comingsoon.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
.recruit-grid-section .recruit-card:nth-child(4) {
  background-image: url("../img/recruit/cards/services.jpg");
  background-repeat: no-repeat;
  background-position: 52% 81%;
  background-size: auto 103%;
}
.recruit-grid-section .recruit-card:nth-child(5) {
  background-image: url("../img/recruit/cards/comingsoon.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
.recruit-grid-section .recruit-card:nth-child(6) {
  background-image: url("../img/recruit/cards/introduction.jpg");
  background-repeat: no-repeat;
  background-position: 0% 6%;
  background-size: auto 117%;
}
.recruit-grid-section .recruit-card:nth-child(7) {
  background-image: url("../img/recruit/cards/comingsoon.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
.recruit-grid-section .recruit-card:nth-child(8) {
  background-image: url("../img/recruit/cards/kanryu-philosophy.jpg");
  background-repeat: no-repeat;
  background-position: 57% 26%;
  background-size: auto 113%;
}
.recruit-grid-section .recruit-card:nth-child(9) {
  background-image: url("../img/recruit/cards/comingsoon.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
.recruit-grid-section .recruit-card:nth-child(10) {
  background-image: url("../img/recruit/cards/career.jpg");
  background-repeat: no-repeat;
  background-position: 43% 26%;
  background-size: auto 106%;
}
.recruit-grid-section .recruit-card:nth-child(11) {
  background-image: url("../img/recruit/cards/comingsoon.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
.recruit-grid-section .recruit-card:nth-child(12) {
  background-image: url("../img/recruit/cards/comingsoon.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
.recruit-grid-section .recruit-card:nth-child(13) {
  background-image: url("../img/recruit/cards/benefits.jpg");
  background-repeat: no-repeat;
  background-position: 8% 0%;
  background-size: auto 101%;
}
.recruit-grid-section .recruit-card:nth-child(14) {
  background-image: url("../img/recruit/cards/comingsoon.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
.recruit-grid-section .recruit-card:nth-child(15) {
  background-image: url("../img/recruit/cards/comingsoon.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
.recruit-grid-section .recruit-card:nth-child(16) {
  background-image: url("../img/recruit/cards/overview.jpg");
  background-repeat: no-repeat;
  background-position: 71% 7%;
  background-size: auto 109%;
}
.recruit-grid-section .recruit-card:nth-child(17) {
  background-image: url("../img/recruit/cards/comingsoon.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
.recruit-grid-section .recruit-card:nth-child(18) {
  background-image: url("../img/recruit/cards/comingsoon.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
.recruit-grid-section .recruit-card:nth-child(19) {
  background-image: url("../img/recruit/cards/process.jpg");
  background-repeat: no-repeat;
  background-position: 26% 41%;
  background-size: auto 104%;
}
.recruit-grid-section .recruit-card:nth-child(20) {
  background-image: url("../img/recruit/cards/comingsoon.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}
.recruit-grid-section .recruit-card:nth-child(21) {
  background-image: url("../img/recruit/cards/faq.jpg");
  background-repeat: no-repeat;
  background-position: 79% 60%;
  background-size: auto 107%;
}
.recruit-grid-section .recruit-card.invisible {
  opacity: 0.1;
  pointer-events: none;
}
.recruit-grid-section .recruit-card.recruit-card--interview:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  background-color: rgba(0, 0, 0, 0);
  border-radius: 12px;
}
.recruit-grid-section {
  /* 横2マス */
}
.recruit-grid-section .recruit-card--wide {
  grid-column: span 2;
}
.recruit-grid-section {
  /* =====================================
    上部の白い切り欠き
  ===================================== */
  /* カテゴリー */
}
.recruit-grid-section .recruit-card__category {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  color: #ed1b2f;
  font-size: 18px;
  font-family: "Avenir", "Lato", sans-serif;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  padding: 5px 5px 10px 17px;
  background: #fff;
  letter-spacing: 0.05em;
  border-bottom-left-radius: 8px;
}
.recruit-grid-section .recruit-card__category:before, .recruit-grid-section .recruit-card__category:after {
  content: "";
  position: absolute;
  top: 0;
  left: -10px;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  width: 10px;
  display: block;
  aspect-ratio: 1;
  background-color: white;
  clip-path: polygon(0 100%, 15.643446504% 98.7688340595%, 30.9016994375% 95.1056516295%, 45.399049974% 89.1006524188%, 58.7785252292% 80.9016994375%, 70.7106781187% 70.7106781187%, 80.9016994375% 58.7785252292%, 89.1006524188% 45.399049974%, 95.1056516295% 30.9016994375%, 98.7688340595% 15.643446504%, 100% 0%, 100% 0, 100% 100%);
}
.recruit-grid-section .recruit-card__category:after {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  top: auto;
  bottom: -10px;
  left: auto;
  right: 0;
}
.recruit-grid-section {
  /* =====================================
    通常カード中央文字
  ===================================== */
}
.recruit-grid-section .recruit-card__center {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 90%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
  font-size: 25px;
  font-weight: 500;
  line-height: 1.5;
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
  letter-spacing: 0.05em;
}
.recruit-grid-section .coming-soon {
  font-size: 25px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .recruit-grid-section .coming-soon {
    font-size: 16px;
  }
}
.recruit-grid-section {
  /* =====================================
    インタビューカード
  ===================================== */
}
.recruit-grid-section .recruit-card__person {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 18px;
  color: #fff;
}
.recruit-grid-section .recruit-card__person p {
  margin: 0 0 5px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
}
.recruit-grid-section .recruit-card__person strong {
  display: block;
  font-size: 34px;
  font-weight: 700;
  line-height: 1;
}
.recruit-grid-section .recruit-card__person strong small {
  margin-left: 3px;
  font-size: 16px;
  font-weight: 700;
}
.recruit-grid-section {
  /* =====================================
    Hover
  ===================================== */
}
.recruit-grid-section .recruit-card {
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}
.recruit-grid-section .recruit-card:hover {
  opacity: 0.85;
}
.recruit-grid-section {
  /* =====================================
    Tablet
  ===================================== */
}
@media screen and (max-width: 900px) {
  .recruit-grid-section .recruit-grid {
    width: calc(100% - 40px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
  }
  .recruit-grid-section .recruit-card {
    height: 280px;
  }
}
.recruit-grid-section {
  /* =====================================
    Smartphone
  ===================================== */
}
@media screen and (max-width: 600px) {
  .recruit-grid-section .recruit-grid {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .recruit-grid-section {
    /*
    スマホではwideも2カラム分を使用
    */
  }
  .recruit-grid-section .recruit-card--wide {
    grid-column: span 2;
  }
  .recruit-grid-section .recruit-card {
    height: 220px;
    border-radius: 8px;
  }
  .recruit-grid-section .recruit-card::before {
    border-radius: 6px;
  }
  .recruit-grid-section .recruit-card__category {
    font-size: 12px;
  }
  .recruit-grid-section .recruit-card__center {
    font-size: 19px;
  }
  .recruit-grid-section .recruit-card__person {
    left: 13px;
    right: 13px;
    bottom: 13px;
  }
  .recruit-grid-section .recruit-card__person p {
    font-size: 10px;
  }
  .recruit-grid-section .recruit-card__person strong {
    font-size: 26px;
  }
  .recruit-grid-section .recruit-card__person strong small {
    font-size: 12px;
  }
}

.recruit-entry {
  padding: 100px 30px 80px;
  background: linear-gradient(135deg, #fff0f0 0%, #ffffff 60%);
}
@media screen and (max-width: 750px) {
  .recruit-entry {
    padding: 50px 16px;
  }
}
.recruit-entry .inner {
  max-width: 1140px;
  margin: 0 auto;
}
.recruit-entry .section-label {
  font-family: "Lato", sans-serif;
  font-weight: 600;
  font-size: 23px;
  color: #e6001a;
  letter-spacing: 0.05em;
  padding-bottom: 20px;
  margin-bottom: 32px;
  position: relative;
  line-height: 1;
}
.recruit-entry .section-label:after {
  content: "";
  display: block;
  position: absolute;
  top: 20px;
  right: 0;
  left: 0;
  width: 100vw;
  height: 1px;
  margin: auto;
  background-color: #fbd8dc;
}
@media screen and (max-width: 750px) {
  .recruit-entry .section-label {
    font-size: 15px;
    margin-bottom: 24px;
  }
}
.recruit-entry .entry-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0;
}
@media screen and (max-width: 750px) {
  .recruit-entry .entry-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 20px;
  }
}
.recruit-entry .entry-text {
  padding-top: 20px;
}
@media screen and (max-width: 750px) {
  .recruit-entry .entry-text {
    padding-top: 0;
  }
}
.recruit-entry .entry-text .ttl {
  font-family: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Noto Sans JP", sans-serif;
  font-size: 32px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #1a1a1a;
  margin-bottom: 16px;
  font-weight: 500;
}
@media screen and (max-width: 750px) {
  .recruit-entry .entry-text .ttl {
    font-size: 22px;
  }
}
.recruit-entry .entry-text .desc {
  font-size: 14px;
  line-height: 1.9;
  color: #333;
  max-width: 420px;
}
.recruit-entry .entry-cols {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 33px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 750px) {
  .recruit-entry .entry-cols {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.recruit-entry .entry-col {
  width: 320px;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .recruit-entry .entry-col {
    width: 100%;
  }
}
.recruit-entry .entry-col > .ttl {
  font-size: 20px;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 7px;
  text-align: left;
}
@media screen and (max-width: 750px) {
  .recruit-entry .entry-col > .ttl {
    font-size: 16px;
  }
}
.recruit-entry .btn-entry-lg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 120px;
  border-radius: 8px;
  background-color: #e6001a;
  margin-bottom: 15px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.recruit-entry .btn-entry-lg:hover {
  opacity: 0.8;
}
.recruit-entry .btn-entry-lg .en {
  font-weight: 500;
  font-size: 24px;
  color: #fff;
  letter-spacing: 0.01em;
  line-height: 1.2;
}
.recruit-entry .btn-entry-lg .jp {
  letter-spacing: 0.02em;
  font-size: 15px;
  color: #fff;
  margin-top: 4px;
  line-height: 1;
  font-weight: 500;
}
.recruit-entry .btn-boshu-lg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 51px;
  border-radius: 8px;
  border: 1px solid #e6e6e6;
  background-color: #fff;
  font-size: 16px;
  letter-spacing: 0.05em;
  color: #1a1a1a;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-box-shadow: 0 0px 8px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0px 8px rgba(0, 0, 0, 0.1);
}
.recruit-entry .btn-boshu-lg:hover {
  opacity: 0.7;
}

.recruit-footer {
  position: relative;
  background-color: #1a1a1a;
  overflow: hidden;
}
.recruit-footer:before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/recruit/footer-bg.jpg");
  background-size: cover;
  background-position: center;
  opacity: 1;
}
.recruit-footer .inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 30px 40px;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .recruit-footer .inner {
    padding: 50px 16px 24px;
  }
}
.recruit-footer .logo {
  height: 32px;
  width: auto;
  margin: 0 auto 16px;
}
.recruit-footer .en {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 16px;
  color: #fff;
  letter-spacing: 0.1em;
}
.recruit-footer .jp {
  font-size: 12px;
  color: #fff;
  margin-top: 4px;
}
.recruit-footer .links {
  margin-top: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 24px;
}
@media screen and (max-width: 750px) {
  .recruit-footer .links {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px;
    margin-top: 20px;
  }
}
.recruit-footer .links a {
  font-size: 12px;
  color: #fff;
  letter-spacing: 0.05em;
}
.recruit-footer .links a:hover {
  opacity: 0.7;
}
.recruit-footer .bottom {
  position: relative;
  z-index: 1;
  padding: 20px 30px;
  background-color: #000;
  text-align: center;
}
.recruit-footer .bottom .copyright {
  font-size: 10px;
  color: #fff;
  letter-spacing: 0.1em;
}
.recruit-footer #totop.top {
  width: 54px;
  height: 54px;
  border-radius: 27px;
  border: 1px solid rgba(255, 255, 255, 0.4);
  position: fixed;
  right: 20px;
  bottom: 30px;
  z-index: 299;
}
.recruit-footer #totop.top:after {
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  right: 0;
  left: 0;
  bottom: 0;
  width: 12px;
  height: 12px;
  margin: auto;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (max-width: 750px) {
  .recruit-footer #totop.top {
    width: 40px;
    height: 40px;
    right: 10px;
    bottom: 20px;
  }
}

.recruit-open-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(255, 255, 255);
  z-index: 300;
  padding-top: 140px;
  overflow-y: scroll;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.15s ease, visibility 0.15s ease;
  transition: opacity 0.15s ease, visibility 0.15s ease;
}

.recruit-open-menu_active .recruit-open-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.recruit-open-menu_active .recruit-open-menu .recruit-open-menu-head {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.recruit-open-menu_active .recruit-open-menu .recruit-sitemap .btn-entry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.recruit-open-menu_active .recruit-open-menu .btn {
  position: absolute;
  top: 59px;
  left: 59px;
  width: 225px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-left: 25px;
}
@media screen and (max-width: 750px) {
  .recruit-open-menu_active .recruit-open-menu .btn {
    top: 100px;
    left: 0;
  }
}
.recruit-open-menu_active .btn-toggle {
  width: 96px;
  height: 96px;
  border-radius: 12px;
  border: 1px solid #e6e6e6;
  background-color: #d9d9d9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 7px;
  cursor: pointer;
  z-index: 400;
  position: relative;
}
.recruit-open-menu_active .btn-toggle:after {
  content: "CLOSE";
  color: #4d4d4d;
  font-size: 11px;
  position: absolute;
  text-align: center;
  top: 49px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 750px) {
  .recruit-open-menu_active .btn-toggle:after {
    font-size: 10px;
    top: 34px;
  }
}
.recruit-open-menu_active .btn-toggle span {
  display: block;
  width: 28px;
  height: 3px;
  background-color: #4d4d4d;
}
.recruit-open-menu_active .btn-toggle span:nth-child(1) {
  -webkit-transform: rotate(25deg);
          transform: rotate(25deg);
  height: 2px;
  width: 40px;
}
@media screen and (max-width: 750px) {
  .recruit-open-menu_active .btn-toggle span:nth-child(1) {
    width: 34px;
  }
}
.recruit-open-menu_active .btn-toggle span:nth-child(2) {
  opacity: 0;
}
.recruit-open-menu_active .btn-toggle span:nth-child(3) {
  -webkit-transform: rotate(-25deg);
          transform: rotate(-25deg);
  position: relative;
  height: 2px;
  width: 40px;
  top: -19px;
}
@media screen and (max-width: 750px) {
  .recruit-open-menu_active .btn-toggle span:nth-child(3) {
    top: -14px;
    width: 34px;
  }
}
@media screen and (max-width: 750px) {
  .recruit-open-menu_active .btn-toggle {
    width: 64px;
    height: 64px;
    border-radius: 8px;
    gap: 4px;
  }
  .recruit-open-menu_active .btn-toggle span {
    width: 20px;
  }
}

body.recruit-lower {
  padding-top: 187px;
}
@media screen and (max-width: 750px) {
  body.recruit-lower {
    padding-top: 124px;
  }
}

.recruit-lower-mv {
  height: 514px;
  background-color: #d9d9d9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.recruit-lower-mv img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 750px) {
  .recruit-lower-mv {
    height: 200px;
  }
}

.recruit-hidden-ttl {
  position: absolute;
  text-align: center;
  white-space: nowrap;
  color: #fff;
}
.recruit-hidden-ttl .en {
  font-size: 25px;
  color: rgba(255, 255, 255, 0.5);
  font-family: "Avenir", "Lato", sans-serif;
  font-weight: 500;
}
@media screen and (max-width: 750px) {
  .recruit-hidden-ttl .en {
    font-size: 11px;
  }
}
.recruit-hidden-ttl {
  font-size: 45px;
  font-family: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Noto Sans JP", sans-serif;
  font-weight: normal;
  padding: 80px 0 0 0;
}
@media screen and (max-width: 750px) {
  .recruit-hidden-ttl {
    font-size: 22px;
    padding: 115px 0 0 0;
  }
}

.recruit-breadcrumb {
  padding: 22px 40px 0;
}
@media screen and (max-width: 750px) {
  .recruit-breadcrumb {
    padding: 14px 16px 0;
  }
}
.recruit-breadcrumb ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.recruit-breadcrumb li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 12px;
  line-height: 1.7;
  letter-spacing: 0.2em;
  color: #333;
}
@media screen and (max-width: 750px) {
  .recruit-breadcrumb li {
    font-size: 10px;
  }
}
.recruit-breadcrumb li a {
  color: #333;
}
.recruit-breadcrumb li + li:before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  margin: 0 12px;
  background: url(../img/recruit/common/icon-breadcrumb-arrow.svg) no-repeat center/contain;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.recruit-lead {
  text-align: center;
  font-size: 16px;
  line-height: 1.7;
  color: #333;
  letter-spacing: 0.3em;
  margin: 3.2em 0 6em;
}
@media screen and (max-width: 750px) {
  .recruit-lead {
    margin: 2em 0 3em;
    font-size: 13px;
    padding: 0 16px;
    text-align: left;
  }
  .recruit-lead br {
    display: none;
  }
}

.recruit-sec-label {
  position: relative;
  font-family: "Avenir", "Lato", sans-serif;
  font-weight: 900;
  font-size: 25px;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #e6001a;
  padding-bottom: 20px;
}
@media screen and (max-width: 750px) {
  .recruit-sec-label {
    font-size: 18px;
    padding-bottom: 14px;
  }
}
.recruit-sec-label:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100vw;
  height: 1px;
  background-color: rgba(51, 51, 51, 0.3);
}

.recruit-link-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 258px;
  max-width: 100%;
  min-height: 62px;
  padding: 14px 22px 14px 24px;
  border: 1px solid #ccc;
  border-radius: 8px;
  background-color: #fff;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.06em;
  color: #333;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.recruit-link-btn:hover {
  opacity: 1;
  border-color: #e6001a;
}
.recruit-link-btn img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-left: 10px;
}
@media screen and (max-width: 750px) {
  .recruit-link-btn {
    font-size: 14px;
    min-height: 52px;
  }
}

.recruit-lower-inner {
  max-width: 1170px;
  width: 90%;
  margin: 0 auto;
}

.recruit-num {
  font-family: "Avenir", "Lato", sans-serif;
  font-style: italic;
  font-weight: 300;
  font-size: 70px;
  line-height: 100px;
  color: #fbd9dd;
}
@media screen and (max-width: 750px) {
  .recruit-num {
    font-size: 50px;
    line-height: 70px;
  }
}

.recruit-company {
  padding: 103px 0 102px;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .recruit-company {
    padding: 50px 0;
  }
}
.recruit-company .company-logo {
  width: 365px;
  max-width: 80%;
  margin: 57px auto 87px;
}
@media screen and (max-width: 750px) {
  .recruit-company .company-logo {
    margin: 40px auto;
  }
}
.recruit-company .company-logo img {
  width: 100%;
}
.recruit-company .company-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 86px;
}
@media screen and (max-width: 1000px) {
  .recruit-company .company-row {
    gap: 40px;
  }
}
@media screen and (max-width: 750px) {
  .recruit-company .company-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px;
  }
}
.recruit-company .company-photo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 515px;
  max-width: 44%;
  aspect-ratio: 515/336;
  border-radius: 15px;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .recruit-company .company-photo {
    width: 100%;
    max-width: none;
  }
}
.recruit-company .company-photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.recruit-company .company-data {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  max-width: 543px;
}
@media screen and (max-width: 750px) {
  .recruit-company .company-data {
    max-width: none;
    width: 100%;
  }
}
.recruit-company .company-table div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
  line-height: 42px;
  letter-spacing: 0.2em;
  color: #333;
  border-bottom: 1px solid #ccc;
  position: relative;
}
@media screen and (max-width: 750px) {
  .recruit-company .company-table div {
    font-size: 13px;
    line-height: 1.7;
    padding: 10px 0;
    letter-spacing: 0.1em;
  }
}
.recruit-company .company-table div:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 97px;
  height: 1px;
  background-color: #e6001a;
}
.recruit-company .company-table dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 151px;
  font-weight: bold;
}
@media screen and (max-width: 750px) {
  .recruit-company .company-table dt {
    width: 105px;
  }
}
.recruit-company .company-table dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.recruit-company .recruit-link-btn {
  margin: 45px 0 0 auto;
}
@media screen and (max-width: 750px) {
  .recruit-company .recruit-link-btn {
    margin-top: 30px;
  }
}

.recruit-lower-nav {
  padding: 82px 0 87px;
  background-color: rgba(217, 217, 217, 0.25);
}
@media screen and (max-width: 750px) {
  .recruit-lower-nav {
    padding: 40px 0;
  }
}
.recruit-lower-nav ul {
  display: grid;
  grid-template-columns: repeat(4, 258px);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 29px 45px;
}
@media screen and (max-width: 1200px) {
  .recruit-lower-nav ul {
    grid-template-columns: repeat(2, 258px);
  }
}
@media screen and (max-width: 750px) {
  .recruit-lower-nav ul {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}
.recruit-lower-nav .recruit-link-btn {
  width: 100%;
}

.challenge-intro {
  padding: 50px 0 145px;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .challenge-intro {
    padding: 10px 0 30px;
  }
}
.challenge-intro .intro-row {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 98px;
}
.challenge-intro .intro-row + .intro-row {
  margin-top: 98px;
}
.challenge-intro .intro-row.is-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 57px;
}
.challenge-intro .intro-row.is-reverse .intro-text {
  padding-left: 26px;
}
@media screen and (max-width: 1000px) {
  .challenge-intro .intro-row {
    gap: 50px;
  }
  .challenge-intro .intro-row.is-reverse {
    gap: 40px;
  }
}
@media screen and (max-width: 750px) {
  .challenge-intro .intro-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
  }
  .challenge-intro .intro-row.is-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
  }
  .challenge-intro .intro-row + .intro-row {
    margin-top: 30px;
  }
}
.challenge-intro .intro-img {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 515px;
  max-width: 44%;
  margin-top: 9px;
}
@media screen and (max-width: 750px) {
  .challenge-intro .intro-img {
    width: 100%;
    max-width: none;
    margin-top: 0;
  }
}
.challenge-intro .intro-img .img {
  aspect-ratio: 515/313;
  border-radius: 15px;
  overflow: hidden;
}
.challenge-intro .intro-img .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.challenge-intro .intro-img:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 91px;
  right: 95px;
  width: 100vw;
  height: 261px;
  background-color: #e6001a;
  border-radius: 0 15px 15px 0;
}
@media screen and (max-width: 750px) {
  .challenge-intro .intro-img:before {
    top: 20%;
    right: 40px;
    height: 90%;
  }
}
.challenge-intro .is-reverse .intro-img {
  margin-top: 24px;
}
@media screen and (max-width: 750px) {
  .challenge-intro .is-reverse .intro-img {
    margin-top: 0;
  }
}
.challenge-intro .is-reverse .intro-img:before {
  top: 96px;
  right: auto;
  left: 107px;
  border-radius: 15px 0 0 15px;
}
@media screen and (max-width: 750px) {
  .challenge-intro .is-reverse .intro-img:before {
    top: 20%;
    left: 40px;
  }
}
.challenge-intro .intro-text {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  max-width: 568px;
  padding-top: 41px;
}
@media screen and (max-width: 750px) {
  .challenge-intro .intro-text {
    max-width: none;
    padding-top: 30px;
  }
}
.challenge-intro .intro-text .recruit-num {
  position: absolute;
  top: 0;
  left: -26px;
  z-index: -1;
}
@media screen and (max-width: 750px) {
  .challenge-intro .intro-text .recruit-num {
    left: -10px;
  }
}
.challenge-intro .intro-text .ttl {
  font-family: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Noto Sans JP", sans-serif;
  font-size: 24px;
  line-height: 1.39;
  color: #333;
  max-width: 382px;
  margin-bottom: 26px;
  font-weight: normal;
}
@media screen and (max-width: 750px) {
  .challenge-intro .intro-text .ttl {
    font-size: 20px;
    max-width: none;
    margin-bottom: 16px;
  }
}
.challenge-intro .intro-text .desc {
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.2em;
  color: #333;
}
@media screen and (max-width: 750px) {
  .challenge-intro .intro-text .desc {
    font-size: 14px;
    letter-spacing: 0.1em;
  }
}

.challenge-work {
  padding: 103px 0 102px;
  background-color: rgba(217, 217, 217, 0.25);
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .challenge-work {
    padding: 50px 0;
  }
}
.challenge-work .work-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 49px 62px;
  margin-top: 60px;
}
@media screen and (max-width: 1000px) {
  .challenge-work .work-list {
    gap: 30px;
  }
}
@media screen and (max-width: 750px) {
  .challenge-work .work-list {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 20px;
  }
}
.challenge-work .work-card {
  min-height: 415px;
  background-color: #fff;
  border-radius: 15px;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .challenge-work .work-card {
    min-height: 0;
  }
}
.challenge-work .work-head {
  position: relative;
  height: 249px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 20px 0;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .challenge-work .work-head {
    height: 200px;
    padding-top: 0;
  }
}
.challenge-work .work-head > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.challenge-work .work-head:after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.2);
}
.challenge-work .work-head .recruit-num,
.challenge-work .work-head .ttl {
  position: relative;
  z-index: 1;
  color: #fff;
}
.challenge-work .work-head .recruit-num {
  font-size: 50px;
  line-height: 1;
  margin: 0;
  font-weight: normal;
}
@media screen and (max-width: 750px) {
  .challenge-work .work-head .recruit-num {
    font-size: 40px;
    line-height: 70px;
  }
}
.challenge-work .work-head .ttl {
  font-family: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Noto Sans JP", sans-serif;
  font-size: 24px;
  line-height: 1.39;
  margin-top: 0;
  font-weight: normal;
}
@media screen and (max-width: 750px) {
  .challenge-work .work-head .ttl {
    font-size: 18px;
    margin-top: -10px;
  }
}
.challenge-work .work-desc {
  padding: 38px 39px 40px;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.2em;
  color: #333;
}
@media screen and (max-width: 750px) {
  .challenge-work .work-desc {
    padding: 20px 20px 0;
    font-size: 14px;
    letter-spacing: 0.1em;
  }
}

.about-values {
  padding: 45px 0 135px;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .about-values {
    padding: 30px 0 60px;
  }
}
.about-values .value-row {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 86px;
}
.about-values .value-row + .value-row {
  margin-top: 88px;
}
@media screen and (max-width: 1000px) {
  .about-values .value-row {
    gap: 40px;
  }
}
@media screen and (max-width: 750px) {
  .about-values .value-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 30px;
  }
  .about-values .value-row + .value-row {
    margin-top: 30px;
  }
}
.about-values .value-text {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  max-width: 568px;
}
@media screen and (max-width: 750px) {
  .about-values .value-text {
    max-width: none;
    width: 100%;
  }
}
.about-values .value-text .recruit-num {
  position: absolute;
  top: 7px;
  right: 0;
  z-index: -1;
}
@media screen and (max-width: 750px) {
  .about-values .value-text .recruit-num {
    top: -10px;
  }
}
.about-values .value-text .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  margin-top: 41px;
  padding-bottom: 18px;
  border-bottom: 1px solid #ccc;
  max-width: 557px;
}
@media screen and (max-width: 750px) {
  .about-values .value-text .head {
    margin-top: 20px;
    gap: 12px;
  }
}
.about-values .value-text .badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 113px;
  height: 42px;
  border-radius: 6px;
  background-color: #e6001a;
  font-family: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: 30px;
  line-height: 1;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .about-values .value-text .badge {
    width: 84px;
    height: 34px;
    font-size: 22px;
  }
}
.about-values .value-text .en {
  font-family: "Avenir", "Lato", sans-serif;
  font-weight: 600;
  font-size: 31px;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #e6001a;
}
@media screen and (max-width: 750px) {
  .about-values .value-text .en {
    font-size: 22px;
  }
}
.about-values .value-text .ttl {
  font-family: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Noto Sans JP", sans-serif;
  font-size: 24px;
  line-height: 1.39;
  color: #333;
  margin-top: 34px;
  font-weight: normal;
}
@media screen and (max-width: 750px) {
  .about-values .value-text .ttl {
    font-size: 19px;
    margin-top: 20px;
  }
}
.about-values .value-text .desc {
  margin-top: 20px;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.2em;
  color: #333;
}
@media screen and (max-width: 750px) {
  .about-values .value-text .desc {
    margin-top: 14px;
    font-size: 14px;
    letter-spacing: 0.1em;
  }
}
.about-values .value-img {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 515px;
  max-width: 44%;
}
@media screen and (max-width: 750px) {
  .about-values .value-img {
    width: 100%;
    max-width: none;
  }
}
.about-values .value-img .img {
  aspect-ratio: 515/313;
  border-radius: 15px;
  overflow: hidden;
}
.about-values .value-img .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.about-values .value-img:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 96px;
  left: 107px;
  width: 100vw;
  height: 261px;
  background-color: rgba(26, 26, 26, 0.15);
  border-radius: 15px 0 0 15px;
}
@media screen and (max-width: 750px) {
  .about-values .value-img:before {
    top: 20%;
    left: 40px;
    height: 90%;
  }
}

.about-philosophy {
  position: relative;
  padding: 90px 0 102px;
  background: url(../img/recruit/about/philosophy-bg.jpg) no-repeat center/cover;
  text-align: center;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .about-philosophy {
    padding: 50px 0;
  }
}
.about-philosophy .bg-txt {
  font-family: "Avenir", "Lato", sans-serif;
  font-weight: 600;
  font-size: 100px;
  line-height: 1;
  letter-spacing: 0.006em;
  color: rgba(230, 0, 26, 0.1);
  white-space: nowrap;
  margin-bottom: 0.45em;
}
@media screen and (max-width: 1200px) {
  .about-philosophy .bg-txt {
    font-size: 8vw;
  }
}
@media screen and (max-width: 750px) {
  .about-philosophy .bg-txt {
    font-size: 30px;
  }
}
.about-philosophy .ttl {
  margin-top: 47px;
  font-family: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 1.04;
  color: #e6001a;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 750px) {
  .about-philosophy .ttl {
    margin-top: 24px;
    font-size: 18px;
    line-height: 1.5;
  }
}
.about-philosophy .desc {
  margin-top: 0;
  font-family: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 2.5;
  letter-spacing: 0.25em;
  color: #333;
  font-weight: 600;
}
@media screen and (max-width: 750px) {
  .about-philosophy .desc {
    margin-top: 24px;
    font-size: 14px;
    letter-spacing: 0.1em;
  }
}
.about-philosophy .recruit-link-btn {
  margin: 60px auto 0;
}
@media screen and (max-width: 750px) {
  .about-philosophy .recruit-link-btn {
    margin-top: 30px;
  }
}

.about-business {
  padding: 103px 0 102px;
  background-color: rgba(217, 217, 217, 0.25);
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .about-business {
    padding: 50px 0;
  }
}
.about-business .business-list {
  margin-top: 70px;
}
@media screen and (max-width: 750px) {
  .about-business .business-list {
    margin-top: 30px;
  }
}
.about-business .business-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 78px;
}
.about-business .business-row + .business-row {
  margin-top: 54px;
}
@media screen and (max-width: 1000px) {
  .about-business .business-row {
    gap: 40px;
  }
}
@media screen and (max-width: 750px) {
  .about-business .business-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
  .about-business .business-row + .business-row {
    margin-top: 40px;
  }
}
.about-business .business-img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 515px;
  max-width: 44%;
  aspect-ratio: 515/336;
  border-radius: 15px;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .about-business .business-img {
    width: 100%;
    max-width: none;
  }
}
.about-business .business-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.about-business .business-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  max-width: 568px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 39px;
}
@media screen and (max-width: 750px) {
  .about-business .business-text {
    max-width: none;
    padding-top: 0;
  }
}
.about-business .business-text .ttl {
  font-family: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Noto Sans JP", sans-serif;
  font-size: 24px;
  line-height: 1.39;
  font-weight: normal;
  color: #333;
  padding-bottom: 12px;
  border-bottom: 1px solid #ccc;
  max-width: 562px;
}
@media screen and (max-width: 750px) {
  .about-business .business-text .ttl {
    font-size: 20px;
  }
}
.about-business .business-text .desc {
  margin-top: 27px;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.2em;
  color: #333;
}
@media screen and (max-width: 750px) {
  .about-business .business-text .desc {
    margin-top: 16px;
    font-size: 14px;
    letter-spacing: 0.1em;
  }
}
.about-business .business-text .recruit-link-btn {
  margin: auto 0 0 auto;
}
@media screen and (max-width: 750px) {
  .about-business .business-text .recruit-link-btn {
    margin-top: 24px;
  }
}

.requirements-link-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #E6001A;
  margin-left: 41px;
}
@media screen and (max-width: 750px) {
  .requirements-link-btn {
    margin-top: 10px;
    margin-left: 0;
  }
}
.requirements-link-btn img {
  width: 20px;
  height: 20px;
  margin-left: 13px;
}

.recruit-faq-wrap {
  padding: 160px 0 0 20px;
}
@media screen and (max-width: 750px) {
  .recruit-faq-wrap {
    padding: 140px 0 0;
  }
}
.recruit-faq-wrap .recruit-section-label {
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
  padding-bottom: 0;
}
@media screen and (max-width: 750px) {
  .recruit-faq-wrap .recruit-section-label {
    margin-bottom: 10px;
    padding-bottom: 0;
    margin-left: 16px;
    width: auto;
  }
}

.recruit-faq {
  padding: 50px 0 100px;
}
@media screen and (max-width: 750px) {
  .recruit-faq {
    padding: 120px 0 100px;
  }
}
@media screen and (max-width: 750px) {
  .recruit-faq {
    padding: 30px 0 50px;
  }
}
.recruit-faq .faq-group {
  max-width: 995px;
  margin-bottom: 82px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 750px) {
  .recruit-faq .faq-group {
    margin-bottom: 40px;
  }
}

.recruit-sitemap-wrap {
  padding: 160px 0 0 20px;
}
@media screen and (max-width: 750px) {
  .recruit-sitemap-wrap {
    padding: 140px 0 0;
  }
}
.recruit-sitemap-wrap .recruit-section-label {
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
  padding-bottom: 0;
}
@media screen and (max-width: 750px) {
  .recruit-sitemap-wrap .recruit-section-label {
    margin-bottom: 10px;
    padding-bottom: 0;
    margin-left: 16px;
    width: auto;
  }
}

.recruit-sitemap {
  padding: 58px 0 104px;
}
@media screen and (max-width: 750px) {
  .recruit-sitemap {
    padding: 30px 0 50px;
  }
}
.recruit-sitemap .sitemap-cols {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 65px;
}
@media screen and (max-width: 750px) {
  .recruit-sitemap .sitemap-cols {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 0;
  }
}
.recruit-sitemap .sitemap-cols ul {
  width: 362px;
}
@media screen and (max-width: 750px) {
  .recruit-sitemap .sitemap-cols ul {
    width: 100%;
  }
}
.recruit-sitemap .sitemap-cols a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 60px;
  padding: 0 13px 0 3px;
  border-bottom: 1px solid #ccc;
  font-size: 16px;
  color: #333;
}
@media screen and (max-width: 750px) {
  .recruit-sitemap .sitemap-cols a {
    height: 54px;
    font-size: 14px;
  }
}
.recruit-sitemap .sitemap-cols a img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 20px;
  height: 20px;
}
.recruit-sitemap .sitemap-entry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 32px;
  margin-top: 81px;
}
@media screen and (max-width: 750px) {
  .recruit-sitemap .sitemap-entry {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
    margin-top: 50px;
  }
}
.recruit-sitemap .entry-col {
  width: 334px;
}
@media screen and (max-width: 750px) {
  .recruit-sitemap .entry-col {
    width: 100%;
  }
}
.recruit-sitemap .entry-col > .ttl {
  font-size: 21px;
  font-weight: bold;
  line-height: 1;
  color: #333;
  margin-bottom: 14px;
}
@media screen and (max-width: 750px) {
  .recruit-sitemap .entry-col > .ttl {
    font-size: 18px;
  }
}
.recruit-sitemap .btn-entry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 126px;
  border-radius: 8px;
  background-color: #e6001a;
  -webkit-box-shadow: 0 0 12px rgba(0, 0, 0, 0.15);
          box-shadow: 0 0 12px rgba(0, 0, 0, 0.15);
  -webkit-transition: 0.2s;
  transition: 0.2s;
  width: 100%;
}
@media screen and (max-width: 750px) {
  .recruit-sitemap .btn-entry {
    height: 100px;
  }
}
.recruit-sitemap .btn-entry .en {
  font-family: "Avenir", "Lato", sans-serif;
  font-weight: 600;
  font-size: 25px;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #fff;
}
.recruit-sitemap .btn-entry .jp {
  margin-top: 2px;
  font-size: 15px;
  font-weight: bold;
  color: #fff;
}
.recruit-sitemap .btn-boshu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 53px;
  margin-top: 16px;
  border-radius: 8px;
  background-color: #fff;
  -webkit-box-shadow: 0 0 12px rgba(0, 0, 0, 0.15);
          box-shadow: 0 0 12px rgba(0, 0, 0, 0.15);
  font-size: 17px;
  color: #333;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.recruit-sitemap .recruit-link-btn {
  margin: 84px auto 0;
}
@media screen and (max-width: 750px) {
  .recruit-sitemap .recruit-link-btn {
    margin-top: 50px;
  }
}

.interview-select p,
.interview-detail p,
.career-step p,
.career-job p,
.requirements-table p,
.requirements-flow p {
  margin-bottom: 0;
}

.interview-select {
  padding-top: 55px;
}
@media screen and (max-width: 750px) {
  .interview-select {
    padding-top: 20px;
  }
}
.interview-select .interview-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 33px;
}
@media screen and (max-width: 750px) {
  .interview-select .interview-tabs {
    gap: 8px;
  }
}
.interview-select .interview-tabs li {
  position: relative;
  width: 218px;
  padding-bottom: 53px;
}
@media screen and (max-width: 750px) {
  .interview-select .interview-tabs li {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    width: auto;
    padding-bottom: 30px;
  }
}
.interview-select .interview-tabs li.is-active button {
  border-color: #e6001a;
}
.interview-select .interview-tabs li.is-active:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 48px;
  height: 42px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: url(../img/recruit/interview/icon-tab-pointer.svg) no-repeat center bottom/contain;
}
@media screen and (max-width: 750px) {
  .interview-select .interview-tabs li.is-active:after {
    width: 28px;
    height: 24px;
  }
}
.interview-select .interview-tabs button {
  display: block;
  width: 100%;
  height: 49px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 10px;
  background-color: #fff;
  font-size: 16px;
  color: #333;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.interview-select .interview-tabs button:hover {
  border-color: #e6001a;
}
@media screen and (max-width: 750px) {
  .interview-select .interview-tabs button {
    height: 42px;
    font-size: 14px;
  }
}

.interview-member {
  position: relative;
  padding: 62px 0 59px;
  background-color: #f5f5f5;
}
@media screen and (max-width: 750px) {
  .interview-member {
    padding: 30px 0;
  }
}
.interview-member .member-wrap {
  margin-left: calc((100% - min(1170px, 90%)) / 2);
  overflow-x: auto;
  scrollbar-width: none;
}
.interview-member .member-wrap::-webkit-scrollbar {
  display: none;
}
.interview-member .member-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 8px 90px 8px 16px;
  margin-left: -8px;
}
@media screen and (max-width: 750px) {
  .interview-member .member-list {
    gap: 16px;
    padding-right: 60px;
  }
}
.interview-member .member-list li {
  width: 150px;
}
@media screen and (max-width: 750px) {
  .interview-member .member-list li {
    width: 110px;
  }
}
.interview-member .member-list button {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  text-align: left;
  cursor: pointer;
}
.interview-member .member-list .img {
  position: relative;
  display: block;
  aspect-ratio: 1/1;
  border-radius: 10px;
  background-color: rgba(191, 191, 191, 0.5);
}
.interview-member .member-list .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}
.interview-member .member-list .is-active .img:after {
  content: "";
  position: absolute;
  inset: -8px;
  border: 1px solid #e6001a;
  border-radius: 13px;
}
.interview-member .member-list .dept {
  display: block;
  margin-top: 22px;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 0.2em;
  white-space: nowrap;
  color: #000;
}
@media screen and (max-width: 750px) {
  .interview-member .member-list .dept {
    white-space: normal;
    margin-top: 14px;
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}
.interview-member .member-list .name {
  display: block;
  margin-top: 6px;
  font-size: 16px;
  font-weight: bold;
  color: #000;
}
@media screen and (max-width: 750px) {
  .interview-member .member-list .name {
    font-size: 13px;
  }
}
.interview-member .member-next {
  position: absolute;
  top: 123px;
  right: 26px;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 43px;
  height: 43px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: #3d3d3d;
  cursor: pointer;
}
@media screen and (max-width: 750px) {
  .interview-member .member-next {
    top: 58px;
    right: 10px;
    width: 36px;
    height: 36px;
  }
}
.interview-member .member-next img {
  width: 16px;
  height: 16px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.interview-detail {
  padding: 14px 0 90px;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .interview-detail {
    padding: 20px 0 50px;
  }
}
.interview-detail .detail-photo {
  width: 1228px;
  max-width: 90%;
  margin: 0 auto;
}
.interview-detail .detail-photo .img {
  height: 600px;
  border-radius: 15px;
  background-color: #d9d9d9;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .interview-detail .detail-photo .img {
    height: 240px;
  }
}
.interview-detail .detail-photo .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.interview-detail .detail-head {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-bottom: 72px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 750px) {
  .interview-detail .detail-head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding-bottom: 40px;
  }
}
.interview-detail .detail-role {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  max-width: 645px;
  padding-top: 38px;
}
@media screen and (max-width: 750px) {
  .interview-detail .detail-role {
    max-width: none;
    padding-top: 30px;
  }
}
.interview-detail .detail-role .ttl {
  font-family: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Noto Sans JP", sans-serif;
  font-size: 24px;
  line-height: 1.39;
  color: #333;
  font-weight: normal;
}
@media screen and (max-width: 750px) {
  .interview-detail .detail-role .ttl {
    font-size: 20px;
  }
}
.interview-detail .detail-role .desc {
  margin-top: 25px;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.2em;
  color: #333;
}
@media screen and (max-width: 750px) {
  .interview-detail .detail-role .desc {
    margin-top: 16px;
    font-size: 14px;
    letter-spacing: 0.1em;
  }
}
.interview-detail .detail-profile {
  position: relative;
  z-index: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 335px;
  margin-left: 40px;
  padding-top: 34px;
}
@media screen and (max-width: 750px) {
  .interview-detail .detail-profile {
    width: 100%;
    margin: -30px 0 0;
    padding: 50px 20px 20px;
  }
}
.interview-detail .detail-profile:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -113px;
  left: -69px;
  width: 100vw;
  height: 271px;
  background-color: #f5f5f5;
  border-radius: 15px 0 0 15px;
}
@media screen and (max-width: 750px) {
  .interview-detail .detail-profile:before {
    top: 0;
    left: 0;
    height: 100%;
    border-radius: 15px;
  }
}
.interview-detail .detail-profile .dept {
  width: 266px;
  max-width: 100%;
  padding: 10px;
  border-radius: 5px;
  background-color: #e6001a;
  font-size: 16px;
  line-height: 1.31;
  letter-spacing: 0.2em;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .interview-detail .detail-profile .dept {
    font-size: 14px;
  }
}
.interview-detail .detail-profile .name {
  margin-top: 17px;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.31;
  color: #333;
}
@media screen and (max-width: 750px) {
  .interview-detail .detail-profile .name {
    margin-top: 12px;
    font-size: 18px;
  }
}
.interview-detail .detail-profile .name span {
  font-size: 16px;
  font-weight: normal;
}
@media screen and (max-width: 750px) {
  .interview-detail .detail-profile .name span {
    font-size: 14px;
  }
}
.interview-detail .detail-head {
  margin-top: -144px;
  padding-top: 144px;
}
@media screen and (max-width: 750px) {
  .interview-detail .detail-head {
    margin-top: 0;
    padding-top: 0;
  }
}
.interview-detail .detail-qa .qa-item {
  margin-top: 90px;
}
.interview-detail .detail-qa .qa-item + .qa-item {
  margin-top: 68px;
}
@media screen and (max-width: 750px) {
  .interview-detail .detail-qa .qa-item {
    margin-top: 40px;
  }
  .interview-detail .detail-qa .qa-item + .qa-item {
    margin-top: 40px;
  }
}
.interview-detail .detail-qa .ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  font-family: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Noto Sans JP", sans-serif;
  font-size: 24px;
  line-height: 1.39;
  color: #e6001a;
  font-weight: normal;
}
@media screen and (max-width: 750px) {
  .interview-detail .detail-qa .ttl {
    gap: 10px;
    font-size: 18px;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.interview-detail .detail-qa .ttl:before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 37px;
  height: 1px;
  background-color: #e6001a;
}
@media screen and (max-width: 750px) {
  .interview-detail .detail-qa .ttl:before {
    width: 20px;
    margin-top: 0.7em;
  }
}
.interview-detail .detail-qa .desc {
  margin-top: 20px;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.2em;
  color: #333;
}
@media screen and (max-width: 750px) {
  .interview-detail .detail-qa .desc {
    margin-top: 14px;
    font-size: 14px;
    letter-spacing: 0.1em;
  }
}

.career-step {
  padding: 50px 0 96px;
}
@media screen and (max-width: 750px) {
  .career-step {
    padding: 20px 0 50px;
  }
}
.career-step .step-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1168px;
  margin: 0 auto;
}
@media screen and (max-width: 1000px) {
  .career-step .step-list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 40px 50px;
  }
}
@media screen and (max-width: 750px) {
  .career-step .step-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 40px;
  }
}
.career-step .step-card {
  position: relative;
  width: 261px;
  min-height: 262px;
  padding: 41px 20px 30px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 10px;
  background-color: #fff;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .career-step .step-card {
    width: 100%;
    max-width: 320px;
    min-height: 0;
    padding: 30px 20px 26px;
  }
}
.career-step .step-card + .step-card:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -21px;
  width: 16px;
  height: 26px;
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
  background: url(../img/recruit/career/icon-arrow-red.svg) no-repeat center top/16px 16px, url(../img/recruit/career/icon-arrow-red.svg) no-repeat center bottom/16px 16px;
}
@media screen and (max-width: 1000px) {
  .career-step .step-card + .step-card:before {
    display: none;
  }
}
@media screen and (max-width: 750px) {
  .career-step .step-card + .step-card:before {
    display: block;
    top: -20px;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(180deg);
            transform: translate(-50%, -50%) rotate(180deg);
  }
}
.career-step .step-card .year {
  width: 196px;
  height: 37px;
  margin: 0 auto;
  border-radius: 100px;
  background-color: #e6001a;
  font-size: 18px;
  font-weight: 500;
  line-height: 37px;
  color: #fff;
}
.career-step .step-card .ttl {
  width: 196px;
  margin: 22px auto 0;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  font-family: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: normal;
  line-height: 1.4;
  color: #000;
}
.career-step .step-card .desc {
  margin-top: 21px;
  font-size: 16px;
  line-height: 25px;
  color: #000;
}
@media screen and (max-width: 750px) {
  .career-step .step-card .desc {
    font-size: 14px;
    line-height: 1.7;
  }
}
.career-step .career-env {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  max-width: 1000px;
  margin: 97px auto 0;
  border-radius: 10px;
  background-color: #f5f5f5;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .career-step .career-env {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 50px;
  }
}
.career-step .env-img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 387px;
  max-width: 40%;
}
@media screen and (max-width: 750px) {
  .career-step .env-img {
    width: 100%;
    max-width: none;
  }
}
.career-step .env-img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.career-step .env-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 39px 41px 18px 51px;
}
@media screen and (max-width: 750px) {
  .career-step .env-text {
    padding: 24px 20px 16px;
  }
}
.career-step .env-text .ttl {
  font-family: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Noto Sans JP", sans-serif;
  font-size: 24px;
  line-height: 1.39;
  color: #333;
}
@media screen and (max-width: 750px) {
  .career-step .env-text .ttl {
    font-size: 20px;
  }
}
.career-step .env-text .desc {
  max-width: 498px;
  margin-top: 14px;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.2em;
  color: #333;
}
@media screen and (max-width: 750px) {
  .career-step .env-text .desc {
    font-size: 14px;
    letter-spacing: 0.1em;
  }
}
.career-step .env-text .more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin: auto 0 0 auto;
  padding-top: 10px;
  font-size: 14px;
  line-height: 32px;
  letter-spacing: 0.07em;
  color: #e6001a;
}
.career-step .env-text .more img {
  width: 20px;
  height: 20px;
}

.career-job {
  padding: 205px 0 14px;
  background-color: rgba(217, 217, 217, 0.25);
}
@media screen and (max-width: 750px) {
  .career-job {
    padding: 50px 0 10px;
  }
}
.career-job .job-group + .job-group {
  margin-top: 81px;
}
@media screen and (max-width: 750px) {
  .career-job .job-group + .job-group {
    margin-top: 50px;
  }
}
.career-job .group-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 25px;
}
@media screen and (max-width: 750px) {
  .career-job .group-head {
    gap: 14px;
  }
}
.career-job .group-head .badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 135px;
  height: 42px;
  border-radius: 6px;
  background-color: #e6001a;
  font-family: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: 30px;
  line-height: 1;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .career-job .group-head .badge {
    width: 100px;
    height: 34px;
    font-size: 22px;
  }
}
.career-job .group-head .ttl {
  font-family: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: 24px;
  line-height: 1.16;
  letter-spacing: 0.025em;
  color: #000;
}
@media screen and (max-width: 750px) {
  .career-job .group-head .ttl {
    font-size: 19px;
  }
}
.career-job .job-list {
  margin-top: 41px;
}
@media screen and (max-width: 750px) {
  .career-job .job-list {
    margin-top: 20px;
  }
}
.career-job .job-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 169px;
  padding: 32px 54px 32px 61px;
  border-radius: 10px;
  background-color: #fff;
}
.career-job .job-card + .job-card {
  margin-top: 24px;
}
@media screen and (max-width: 750px) {
  .career-job .job-card + .job-card {
    margin-top: 14px;
  }
}
@media screen and (max-width: 750px) {
  .career-job .job-card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    min-height: 0;
    padding: 24px 20px;
  }
}
.career-job .job-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  max-width: 786px;
  padding-right: 58px;
  border-right: 1px solid rgba(0, 0, 0, 0.15);
  -ms-flex-item-align: stretch;
      align-self: stretch;
}
@media screen and (max-width: 750px) {
  .career-job .job-text {
    max-width: none;
    padding-right: 0;
    border-right: 0;
  }
}
.career-job .job-text .ttl {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.67;
  color: #333;
}
@media screen and (max-width: 750px) {
  .career-job .job-text .ttl {
    font-size: 18px;
  }
}
.career-job .job-text .desc {
  margin-top: 2px;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.2em;
  color: #333;
}
@media screen and (max-width: 750px) {
  .career-job .job-text .desc {
    margin-top: 8px;
    font-size: 14px;
    letter-spacing: 0.1em;
  }
}
.career-job .job-btns {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 19px;
  width: 207px;
  margin-left: 57px;
}
@media screen and (max-width: 750px) {
  .career-job .job-btns {
    width: 100%;
    margin: 20px 0 0;
    gap: 10px;
  }
  .career-job .job-btns:empty {
    display: none;
  }
}
.career-job .job-btns a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 45px;
  border: 1px solid #e6001a;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 500;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.career-job .job-btns .btn-entry {
  background-color: #e6001a;
  color: #fff;
}
.career-job .job-btns .btn-interview {
  background-color: #fff;
  color: #e6001a;
}
.career-job_career01 {
  padding: 205px 0 90px;
}
@media screen and (max-width: 750px) {
  .career-job_career01 {
    padding: 50px 0 45px;
  }
}

.recruit-career .recruit-lower-nav {
  padding-top: 99px;
  background-color: #fff;
}
@media screen and (max-width: 750px) {
  .recruit-career .recruit-lower-nav {
    padding-top: 40px;
  }
}

.requirements-table {
  padding: 50px 0 0;
}
@media screen and (max-width: 750px) {
  .requirements-table {
    padding: 20px 0 0;
  }
}
.requirements-table .requirements-ttl {
  width: 394px;
  max-width: 100%;
  margin: 0 auto 60px;
  padding: 10px;
  border-radius: 5px;
  background-color: #3d3d3d;
  font-family: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: 24px;
  line-height: 1.31;
  letter-spacing: 0.2em;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .requirements-table .requirements-ttl {
    margin-bottom: 30px;
    font-size: 20px;
  }
}
.requirements-table .table {
  max-width: 1166px;
  margin: 0 auto;
  border-top: 1px solid #e5e5e5;
}
.requirements-table .table div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 25px 0 24px;
  border-bottom: 1px solid #e5e5e5;
  font-size: 16px;
  line-height: 27.75px;
  letter-spacing: 0.0375em;
  color: #000;
}
@media screen and (max-width: 750px) {
  .requirements-table .table div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 16px 0;
    font-size: 14px;
    line-height: 1.8;
  }
}
.requirements-table .table dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 244px;
  font-weight: bold;
}
@media screen and (max-width: 750px) {
  .requirements-table .table dt {
    width: auto;
    margin-bottom: 6px;
  }
}
.requirements-table .table dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  max-width: 796px;
}

.requirements-flow {
  padding: 50px 0 29px;
}
@media screen and (max-width: 750px) {
  .requirements-flow {
    padding: 20px 0 30px;
  }
}
.requirements-flow_mg {
  padding: 50px 0 90px;
}
@media screen and (max-width: 750px) {
  .requirements-flow_mg {
    padding: 20px 0 30px;
  }
}
.requirements-flow .title {
  width: 394px;
  background: #3D3D3D;
  margin: 0 auto 60px;
  font-size: 24px;
  color: #fff;
  line-height: 1;
  border-radius: 5px;
  padding: 0.55em 0;
  text-align: center;
  font-weight: normal;
  font-family: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Noto Sans JP", sans-serif;
  letter-spacing: 0.3em;
  font-weight: 500;
}
@media screen and (max-width: 750px) {
  .requirements-flow .title {
    width: 70%;
    margin-bottom: 20px;
    font-size: 16px;
  }
}
.requirements-flow .flow-list {
  max-width: 1000px;
  margin: 0 auto;
}
.requirements-flow .flow-list li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 101px;
}
.requirements-flow .flow-list li + li {
  margin-top: 29px;
}
@media screen and (max-width: 750px) {
  .requirements-flow .flow-list li + li {
    margin-top: 24px;
  }
}
.requirements-flow .flow-list li:not(.is-last):after {
  content: "";
  position: absolute;
  top: 100%;
  left: 150px;
  width: 88px;
  height: 19px;
  -webkit-transform: translateX(-50%) rotate(180deg);
          transform: translateX(-50%) rotate(180deg);
  background: url(../img/recruit/requirements/icon-flow-arrow.svg) no-repeat center/contain;
}
@media screen and (max-width: 750px) {
  .requirements-flow .flow-list li:not(.is-last):after {
    left: 50%;
    width: 60px;
    height: 14px;
  }
}
@media screen and (max-width: 750px) {
  .requirements-flow .flow-list li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 0;
  }
}
.requirements-flow .flow-list .step {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 300px;
  padding: 10px;
  border-radius: 10px 0 0 10px;
  background-color: #e6001a;
  font-family: "Tsukushi A Round Gothic", "筑紫A丸ゴシック", "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: 24px;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .requirements-flow .flow-list .step {
    width: 100%;
    min-height: 56px;
    border-radius: 10px 10px 0 0;
    font-size: 18px;
  }
}
.requirements-flow .flow-list .desc {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 20px 10px 57px;
  border-radius: 0 10px 10px 0;
  background-color: #f5f5f5;
  font-size: 16px;
  line-height: 25px;
  color: #000;
}
@media screen and (max-width: 750px) {
  .requirements-flow .flow-list .desc {
    display: block;
    padding: 16px 20px 20px;
    border-radius: 0 0 10px 10px;
    font-size: 14px;
    text-align: center;
  }
}
.requirements-flow .flow-list .desc a {
  color: #e6001a;
  text-decoration: underline;
  text-underline-offset: 6px;
}
.requirements-flow .flow-list .is-last {
  min-height: 75px;
  margin-top: 34px;
}
.requirements-flow .flow-list .is-last .step {
  width: 100%;
  border: 1px solid #e6001a;
  border-radius: 10px;
  background-color: #fff;
  color: #333;
}
@media screen and (max-width: 750px) {
  .requirements-flow .flow-list .is-last .step {
    min-height: 60px;
  }
}

.recruit-privacy-policy {
  max-width: 994px;
  margin: 0 auto;
  padding: 54px 0 100px;
}
@media screen and (max-width: 750px) {
  .recruit-privacy-policy {
    padding: 30px 16px 50px;
  }
}
.recruit-privacy-policy .lead {
  margin-bottom: 2.9em;
}
@media screen and (max-width: 750px) {
  .recruit-privacy-policy .lead {
    margin-bottom: 2em;
  }
}
.recruit-privacy-policy h2 {
  font-size: 20px;
  font-weight: 500;
  margin-top: 2em;
  margin-bottom: 1em;
}
@media screen and (max-width: 750px) {
  .recruit-privacy-policy h2 {
    font-size: 18px;
  }
}
.recruit-privacy-policy p {
  margin-bottom: 1.8em;
}
.recruit-privacy-policy .border {
  border: 1px solid #ccc;
  padding: 20px 20px 0 20px;
  margin: 60px 0 60px;
}

.recruit-page-content {
  max-width: 1170px;
  margin: 0 auto;
  width: 90%;
  padding: 120px 0 100px 0;
}
@media screen and (max-width: 750px) {
  .recruit-page-content {
    padding: 60px 0 50px 0;
  }
}
.recruit-page-content .recruit-section-label {
  margin-bottom: 20px;
}
@media screen and (max-width: 750px) {
  .recruit-page-content .recruit-section-label {
    margin-left: 0;
  }
}
.recruit-page-content .form-wrap {
  max-width: 730px;
  margin: 0 auto;
}

@media screen and (max-width: 750px) {
  body#kaguyaroad-about,
  body#kaguyaroad-process,
  body#kaguyaroad-patent-award {
    padding: 65px 0 0;
  }
}
.kr-hero-badges {
  position: absolute;
  z-index: 3;
  top: 46px;
  right: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 18px;
}
@media screen and (max-width: 750px) {
  .kr-hero-badges {
    top: 16px;
    right: 16px;
    gap: 6px;
  }
}
.kr-hero-badges img {
  width: 116px;
  height: 116px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 750px) {
  .kr-hero-badges img {
    width: 44px;
    height: 44px;
    border-width: 1px;
  }
}

.dept-intro.reverse .inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.kr-features {
  padding: 90px 30px;
}
@media screen and (max-width: 750px) {
  .kr-features {
    padding: 50px 16px;
  }
}
.kr-features .inner {
  max-width: 1000px;
  margin: 0 auto;
}
.kr-features .top-titleset {
  max-width: 1200px;
  margin: 0 auto 30px;
}
.kr-features .lead-txt {
  font-size: 18px;
  line-height: 1.9;
  color: #333;
  margin-bottom: 50px;
}
@media screen and (max-width: 750px) {
  .kr-features .lead-txt {
    font-size: 14px;
    margin-bottom: 30px;
  }
}

.kr-color-block {
  margin-bottom: 70px;
}
.kr-color-block:last-child {
  margin-bottom: 0;
}
.kr-color-block .photo {
  position: relative;
  aspect-ratio: 1000/420;
  border-radius: 15px;
  overflow: hidden;
  margin-bottom: 24px;
}
.kr-color-block .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.kr-color-block .color-pill {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 28px;
  border-radius: 30px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-bottom: 30px;
}
@media screen and (max-width: 750px) {
  .kr-color-block .color-pill {
    font-size: 13px;
    padding: 8px 20px;
    margin-bottom: 20px;
  }
}
.kr-color-block.pill--yellow .color-pill {
  background-color: #c9932f;
}
.kr-color-block.pill--charcoal .color-pill {
  background-color: #333333;
}
.kr-color-block.pill--beige .color-pill {
  background-color: #b9987a;
}
.kr-color-block .spot-cards {
  display: grid;
  grid-template-columns: 1fr 140px;
  gap: 24px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 750px) {
  .kr-color-block .spot-cards {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.kr-color-block .spot-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  background-color: #f7f7f7;
  border-radius: 15px;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .kr-color-block .spot-card {
    display: block;
  }
}
.kr-color-block .spot-card .photo {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 240px;
  aspect-ratio: 3/2;
  margin-bottom: 0;
  border-radius: 0;
}
@media screen and (max-width: 750px) {
  .kr-color-block .spot-card .photo {
    width: 100%;
  }
}
.kr-color-block .spot-card .body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding: 20px 30px 20px 0;
}
@media screen and (max-width: 750px) {
  .kr-color-block .spot-card .body {
    padding: 16px;
  }
}
.kr-color-block .spot-card .tag {
  display: inline-block;
  background-color: #e6001a;
  color: #fff;
  font-size: 12px;
  padding: 4px 12px;
  border-radius: 2px;
  margin-bottom: 12px;
}
.kr-color-block .spot-card .txt {
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 0;
}
@media screen and (max-width: 750px) {
  .kr-color-block .spot-card .txt {
    font-size: 13px;
  }
}
.kr-color-block .package {
  width: 140px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 750px) {
  .kr-color-block .package {
    width: 100px;
    margin: 0 auto;
  }
}
.kr-color-block .package img {
  width: 100%;
  display: block;
  border-radius: 10px;
}

.kr-video-section {
  max-width: 1000px;
  margin: 0 auto;
  padding: 60px 30px 30px;
}
@media screen and (max-width: 750px) {
  .kr-video-section {
    padding: 40px 16px 60px;
  }
}
.kr-video-section .head-ttl {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.6;
  color: #1a1a1a;
  margin-bottom: 1.3em;
  border-bottom: 1px solid #ccc;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 500;
  padding-bottom: 0.4em;
}
@media screen and (max-width: 750px) {
  .kr-video-section .head-ttl {
    font-size: 18px;
    margin-bottom: 16px;
  }
}
.kr-video-section .lead {
  font-size: 15px;
  line-height: 1.9;
  color: #333;
  margin-bottom: 5.3em;
}
@media screen and (max-width: 750px) {
  .kr-video-section .lead {
    font-size: 13px;
    margin-bottom: 30px;
  }
}

.kr-video-thumb {
  position: relative;
  max-width: 888px;
  aspect-ratio: 888/530;
  margin: 0 auto;
  border-radius: 27px;
}
.kr-video-thumb iframe {
  width: 100%;
  height: 100%;
  display: block;
}
.kr-video-thumb .thumb-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.kr-video-thumb .play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 85px;
  height: 85px;
}
@media screen and (max-width: 750px) {
  .kr-video-thumb .play-btn {
    width: 56px;
    height: 56px;
  }
}
.kr-video-thumb .play-btn .circle {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.kr-video-thumb .play-btn .triangle {
  position: absolute;
  top: 50%;
  left: 54%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 28px;
}
@media screen and (max-width: 750px) {
  .kr-video-thumb .play-btn .triangle {
    width: 18px;
  }
}

.kr-patent-intro {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 30px 0;
  font-size: 15px;
  line-height: 1.9;
  color: #333;
}
@media screen and (max-width: 750px) {
  .kr-patent-intro {
    padding: 40px 16px 0;
    font-size: 13px;
  }
}

.kr-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 70px 0;
}
@media screen and (max-width: 750px) {
  .kr-section {
    padding: 40px 16px;
  }
}
.kr-section .top-titleset {
  margin-bottom: 30px;
}
.kr-section .sub-heading {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.6;
  color: #1a1a1a;
  margin-bottom: 1.3em;
  border-bottom: 1px solid #ccc;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 500;
  padding-bottom: 0.6em;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .kr-section .sub-heading {
    font-size: 17px;
    white-space: normal;
  }
}
.kr-section .sub-heading .patent-no {
  font-size: 14px;
  color: #545454;
  margin: 1em 0 0 0;
}
.kr-section .patent-no {
  text-align: right;
  font-size: 14px;
  color: #545454;
  margin-bottom: 24px;
}
.kr-section .txt {
  font-size: 15px;
  line-height: 1.9;
  color: #333;
  margin-bottom: 40px;
}
@media screen and (max-width: 750px) {
  .kr-section .txt {
    font-size: 13px;
    margin-bottom: 24px;
  }
}

.case-compare .mascot {
  position: absolute;
  z-index: 3;
  right: -10px;
  bottom: -20px;
  width: 90px;
}
@media screen and (max-width: 750px) {
  .case-compare .mascot {
    width: 56px;
    right: 0;
    bottom: -10px;
  }
}

.kr-award-photos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 30px;
}
@media screen and (max-width: 750px) {
  .kr-award-photos {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.kr-award-photos .photo-lg {
  border-radius: 15px;
  overflow: hidden;
  width: 71%;
}
@media screen and (max-width: 750px) {
  .kr-award-photos .photo-lg {
    width: 100%;
  }
}
.kr-award-photos .photo-lg img {
  width: 100%;
  display: block;
}
.kr-award-photos .photo-sm {
  width: 29.9%;
}
@media screen and (max-width: 750px) {
  .kr-award-photos .photo-sm {
    width: 100%;
  }
}
.kr-award-photos .photo-sm img {
  width: 100%;
  display: block;
}

.kaguyaroad-intro {
  background-color: #fff;
}
.kaguyaroad-intro .dept-intro {
  background-color: #fff;
  padding: 100px 0;
}
.kaguyaroad-intro .dept-intro .inner {
  max-width: 1500px;
  gap: 0;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.kaguyaroad-intro .dept-intro .inner .photo {
  width: 45.5%;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  border: none;
  aspect-ratio: unset;
}
.kaguyaroad-intro .dept-intro .inner .photo img {
  width: 100%;
  height: auto;
  display: block;
}
.kaguyaroad-intro .dept-intro .inner .detail {
  width: 54.5%;
  padding: 35px 10.5% 0 8.5%;
}
@media screen and (max-width: 1400px) {
  .kaguyaroad-intro .dept-intro .inner .detail .ttl {
    font-size: 2.2857142857vw;
    min-height: 0vw;
  }
}
@media screen and (max-width: 1400px) {
  .kaguyaroad-intro .dept-intro .inner .detail .txt {
    font-size: 1.1428571429vw;
    min-height: 0vw;
  }
}
.kaguyaroad-intro .dept-intro .inner .detail .btn-line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 258px;
  margin: 0 0 0 auto;
}
.kaguyaroad-intro .dept-intro.reverse {
  margin: -245px 0 0 0;
  padding: 100px 0 86px;
}
@media screen and (max-width: 1300px) {
  .kaguyaroad-intro .dept-intro.reverse {
    margin: -18.5% 0 0 0;
  }
}
.kaguyaroad-intro .dept-intro.reverse .inner {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.kaguyaroad-intro .dept-intro.reverse .inner .detail {
  padding: 0 7.5% 20px 10.5%;
}

#kaguyaroad-about .dept-intro {
  margin-top: 15px;
}
#kaguyaroad-about .dept-intro-mg {
  margin-bottom: 20px;
}
#kaguyaroad-about .dept-intro .inner {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
#kaguyaroad-about .dept-intro .inner .photo {
  border: none;
  aspect-ratio: unset;
}
#kaguyaroad-about .dept-intro .inner .detail .red {
  color: #E6001A;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.15em;
  line-height: 1;
  margin-bottom: 11px;
}
#kaguyaroad-about .dept-intro .inner.inner-w .photo {
  width: 43%;
  -webkit-box-flex: unset;
      -ms-flex: unset;
          flex: unset;
}
@media screen and (max-width: 750px) {
  #kaguyaroad-about .dept-intro .inner.inner-w .photo {
    width: 100%;
  }
}
#kaguyaroad-about .dept-intro .inner.inner-w .detail {
  width: 57%;
}
@media screen and (max-width: 750px) {
  #kaguyaroad-about .dept-intro .inner.inner-w .detail {
    width: 100%;
  }
}
#kaguyaroad-about .dept-intro .inner.inner-w .detail .red {
  font-size: 18px;
}
@media screen and (max-width: 750px) {
  #kaguyaroad-about .dept-intro .inner.inner-w .detail .red {
    font-size: 14px;
  }
}
#kaguyaroad-about .dept-intro .inner.inner-w .detail .ttl {
  font-size: 36px;
}
@media screen and (max-width: 750px) {
  #kaguyaroad-about .dept-intro .inner.inner-w .detail .ttl {
    font-size: 26px;
  }
}
#kaguyaroad-about .dept-intro .inner.inner-w .detail .btn {
  margin: 0 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#kaguyaroad-about .table-wrap {
  margin-top: 45px;
  width: 100%;
  overflow-x: auto;
  padding: 2.3em 1.8em;
  background-color: #fff;
}
#kaguyaroad-about .feature-table {
  width: 100%;
  max-width: 942px;
  margin: 0 auto;
  border-collapse: collapse;
  table-layout: fixed;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-size: 14px;
  color: #111;
}
#kaguyaroad-about {
  /* 列幅 */
}
#kaguyaroad-about .feature-table col {
  /* colを使用する場合用 */
}
#kaguyaroad-about {
  /* 画像に近い列幅 */
}
#kaguyaroad-about .feature-table th:nth-child(1) {
  width: 16%;
}
#kaguyaroad-about .feature-table th:nth-child(2),
#kaguyaroad-about .feature-table td:nth-child(2) {
  width: 11%;
}
#kaguyaroad-about .feature-table th:nth-child(3),
#kaguyaroad-about .feature-table td:nth-child(3) {
  width: 21%;
}
#kaguyaroad-about {
  /* =========================
    ヘッダー
  ========================= */
}
#kaguyaroad-about .feature-table thead th {
  padding: 10px 12px;
  background: #333;
  color: #fff;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.3;
  text-align: center;
  vertical-align: middle;
  border-right: 1px solid #929292;
  border-bottom: 1px solid #929292;
}
#kaguyaroad-about .feature-table thead th:nth-child(1) {
  text-align: center;
}
#kaguyaroad-about .feature-table thead tr:first-child th {
  height: 40px;
}
#kaguyaroad-about .feature-table thead tr:nth-child(2) th {
  height: 40px;
}
#kaguyaroad-about {
  /* =========================
    本文
  ========================= */
}
#kaguyaroad-about .feature-table tbody th,
#kaguyaroad-about .feature-table tbody td {
  height: 46px;
  padding: 0 12px;
  background: #fff;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
#kaguyaroad-about .feature-table tbody th:last-child,
#kaguyaroad-about .feature-table tbody td:last-child {
  border-right: none;
}
#kaguyaroad-about {
  /* かぐやロードの結果 */
}
#kaguyaroad-about .feature-table .result {
  color: #f00;
}
#kaguyaroad-about {
  /* =========================
    スマホ
  ========================= */
}
@media screen and (max-width: 767px) {
  #kaguyaroad-about .table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  #kaguyaroad-about .feature-table {
    width: 940px;
    max-width: none;
  }
}
#kaguyaroad-about .feature-tabs {
  max-width: 1200px;
}
#kaguyaroad-about .title-color {
  background: #FFE5DB;
  border-radius: 4px;
  text-align: center;
  font-size: 20px;
  max-width: 1200px;
  margin: 0 auto;
  margin-bottom: 45px;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  padding: 21px 0 18px;
  line-height: 1.5;
  font-weight: normal;
}
@media screen and (max-width: 750px) {
  #kaguyaroad-about .title-color {
    font-size: 16px;
    padding: 10px 0 8px;
    margin-bottom: 25px;
  }
}
#kaguyaroad-about .info-grid {
  margin-bottom: 75px;
}
@media screen and (max-width: 750px) {
  #kaguyaroad-about .info-grid {
    margin-bottom: 50px;
    gap: 25px;
  }
  #kaguyaroad-about .info-grid .card.card_sp_mg {
    margin-bottom: 25px;
  }
}
#kaguyaroad-about .info-grid_mg {
  margin-bottom: 0;
}
#kaguyaroad-about .info-grid .photo {
  aspect-ratio: unset;
  position: relative;
  overflow: visible;
}
@media screen and (max-width: 750px) {
  #kaguyaroad-about .info-grid .photo {
    margin-bottom: 0;
  }
}
#kaguyaroad-about .info-grid .photo .item {
  position: absolute;
  bottom: -19%;
  left: 3%;
  width: 46%;
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
}
#kaguyaroad-about .info-grid .photo .item-right {
  right: 3%;
  left: auto;
}
#kaguyaroad-about .info-grid .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: normal;
  font-size: 24px;
  position: relative;
}
@media screen and (max-width: 750px) {
  #kaguyaroad-about .info-grid .ttl {
    font-size: 20px;
    margin-top: 10px;
    margin-bottom: 6px;
  }
}
#kaguyaroad-about .info-grid .ttl .small {
  font-size: 18px;
}
@media screen and (max-width: 750px) {
  #kaguyaroad-about .info-grid .ttl .small {
    font-size: 16px;
  }
}
#kaguyaroad-about .info-grid .ttl .cat {
  font-size: 15px;
  line-height: 1;
  color: #fff;
  background: #333;
  margin: 0;
  display: inline-block;
  position: absolute;
  top: 4px;
  right: 0;
  padding: 7px 8px 7px 12px;
}
@media screen and (max-width: 750px) {
  #kaguyaroad-about .info-grid .ttl .cat {
    font-size: 13px;
    padding: 5px 6px 5px 10px;
    position: relative;
    right: auto;
    margin: 0 0 0 6px;
    top: -2px;
  }
}
#kaguyaroad-about .info-grid .lead {
  font-size: 20px;
  margin-bottom: 1.9em;
}
@media screen and (max-width: 750px) {
  #kaguyaroad-about .info-grid .lead {
    margin-bottom: 1em;
    font-size: 16px;
  }
}
#kaguyaroad-about .info-grid .pict-cap {
  margin-bottom: 21px;
}
@media screen and (max-width: 750px) {
  #kaguyaroad-about .info-grid .pict-cap {
    margin-bottom: 15px;
  }
}
#kaguyaroad-about .info-grid .pict-cap .head {
  font-size: 15px;
  color: #fff;
  background: #333;
  padding: 4px 15px 5px;
  margin-right: 10px;
}
@media screen and (max-width: 750px) {
  #kaguyaroad-about .info-grid .pict-cap .head {
    font-size: 11px;
  }
}
#kaguyaroad-about .info-grid .pict-cap {
  font-size: 17px;
}
@media screen and (max-width: 750px) {
  #kaguyaroad-about .info-grid .pict-cap {
    font-size: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 6px;
  }
}
#kaguyaroad-about .info-grid .txt_mg {
  margin-bottom: 21px;
}
#kaguyaroad-about .dept-services {
  padding: 60px 30px 25px;
}
@media screen and (max-width: 750px) {
  #kaguyaroad-about .dept-services {
    padding: 30px 16px 20px;
  }
}
#kaguyaroad-about .dept-services .dept-services-lead {
  font-size: 28px;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  max-width: 1200px;
  margin: 0 auto 30px;
}
@media screen and (max-width: 750px) {
  #kaguyaroad-about .dept-services .dept-services-lead {
    font-size: 18px;
  }
}

#kaguyaroad-patent-award .case-compare {
  width: 100%;
  gap: 40px;
}
#kaguyaroad-patent-award .case-compare .item {
  -webkit-box-flex: unset;
      -ms-flex: unset;
          flex: unset;
  min-width: unset;
}
#kaguyaroad-patent-award .case-compare .arrow {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (max-width: 750px) {
  #kaguyaroad-patent-award .case-compare .arrow {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg);
  }
}

@media screen and (max-width: 750px) {
  body#company {
    padding: 65px 0 0;
  }
}
.company-content {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding: 60px 0 100px;
}
@media screen and (max-width: 750px) {
  .company-content {
    padding: 40px 0 60px;
  }
}
.company-content .layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 50px;
}
@media screen and (max-width: 750px) {
  .company-content .layout {
    display: block;
  }
}
.company-content .side-nav {
  width: 220px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 750px) {
  .company-content .side-nav {
    width: 100%;
    margin-bottom: 30px;
  }
}
.company-content .side-nav .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}
.company-content .side-nav .head .bar {
  display: block;
  width: 1px;
  height: 22px;
  background-color: #e6001a;
  top: -18px;
  position: relative;
}
.company-content .side-nav .head .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  color: #1a1a1a;
}
.company-content .side-nav .lists li a {
  display: block;
  padding: 10px 0;
  font-size: 16px;
  color: #1a1a1a;
}
.company-content .side-nav .lists li a:hover {
  opacity: 0.7;
}
.company-content .side-nav .lists li.is-active a {
  color: #e6001a;
}
.company-content .body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.company-content .titleset {
  margin-bottom: 20px;
}
.company-content .titleset .title-en {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  color: #e6001a;
  letter-spacing: 0.15em;
  font-weight: 700;
  margin-bottom: 0.3em;
}
@media screen and (max-width: 750px) {
  .company-content .titleset .title-en {
    font-size: 13px;
  }
}
.company-content .titleset .title-jp {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 32px;
  color: #1a1a1a;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .company-content .titleset .title-jp {
    font-size: 22px;
  }
}
.company-content .philosophy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 60px;
  margin-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .company-content .philosophy {
    display: block;
    margin-bottom: 50px;
  }
}
.company-content .philosophy .text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.company-content .philosophy .subttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 20px;
  line-height: 1.6;
  color: #333;
  margin: 20px 0 16px;
}
@media screen and (max-width: 750px) {
  .company-content .philosophy .subttl {
    font-size: 16px;
    margin: 16px 0 12px;
  }
}
.company-content .philosophy .desc {
  font-size: 14px;
  line-height: 1.9;
  color: #333;
}
@media screen and (max-width: 750px) {
  .company-content .philosophy .desc {
    font-size: 13px;
  }
}
.company-content .philosophy .photo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 42%;
  max-width: 420px;
  border-radius: 12px;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .company-content .philosophy .photo {
    width: 100%;
    max-width: none;
    margin-top: 20px;
  }
}
.company-content .philosophy .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.company-content .greeting-feature {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  border: 1px solid #d4d4d4;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .company-content .greeting-feature {
    display: block;
    margin-bottom: 50px;
  }
}
.company-content .greeting-feature .photo {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 44%;
          flex: 0 0 44%;
}
@media screen and (max-width: 750px) {
  .company-content .greeting-feature .photo {
    height: 220px;
  }
}
.company-content .greeting-feature .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.company-content .greeting-feature .content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding: 30px 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 750px) {
  .company-content .greeting-feature .content {
    padding: 24px 20px;
  }
}
.company-content .greeting-feature .desc {
  font-size: 14px;
  line-height: 1.9;
  color: #333;
  margin: 0 0 24px;
}
@media screen and (max-width: 750px) {
  .company-content .greeting-feature .desc {
    font-size: 13px;
    margin-bottom: 16px;
  }
}
.company-content .greeting-feature .btn {
  -ms-flex-item-align: end;
      align-self: flex-end;
}
@media screen and (max-width: 750px) {
  .company-content .greeting-feature .btn {
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
}
.company-content .btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 14px 24px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.company-content .btn span {
  font-size: 14px;
  color: #333;
  letter-spacing: 0.05em;
}
.company-content .btn img {
  width: 20px;
  height: 20px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.company-content .btn:hover {
  opacity: 0.7;
}
.company-content .cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 30px;
  margin-bottom: 80px;
}
@media screen and (max-width: 1000px) {
  .company-content .cards-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 20px;
  }
}
@media screen and (max-width: 750px) {
  .company-content .cards-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 50px;
  }
}
.company-content .cards-grid .card {
  display: block;
  background-color: #fff;
  border: 1px solid #d4d4d4;
  border-radius: 10px;
  overflow: hidden;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.company-content .cards-grid .card:hover {
  border-color: #e6001a;
}
.company-content .cards-grid .card:hover .thumb img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.company-content .cards-grid .card a {
  display: block;
}
.company-content .cards-grid .card .thumb {
  aspect-ratio: 365/207;
  overflow: hidden;
}
.company-content .cards-grid .card .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.company-content .cards-grid .card .thumb.thumb_noimg {
  background-color: #f2f2f2;
}
.company-content .cards-grid .card .label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 10px 20px;
}
.company-content .cards-grid .card .label span {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 18px;
  color: #0e0e0e;
  letter-spacing: 0.1em;
}
.company-content .cards-grid .card .label img {
  width: 20px;
  height: 20px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.company-content .sustainability {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 50px;
  background-color: #f2f2f2;
  border-radius: 12px;
  padding: 40px;
}
@media screen and (max-width: 750px) {
  .company-content .sustainability {
    display: block;
    padding: 24px;
  }
}
.company-content .sustainability .photos {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 320px;
  height: 260px;
}
@media screen and (max-width: 750px) {
  .company-content .sustainability .photos {
    width: 100%;
    height: 55vw;
    max-height: 260px;
    margin-bottom: 24px;
  }
}
.company-content .sustainability .photos img {
  position: absolute;
  border-radius: 10px;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
          box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
}
.company-content .sustainability .photos .photo01 {
  top: 0;
  left: 0;
  width: 78%;
  height: 62%;
}
.company-content .sustainability .photos .photo02 {
  bottom: 0;
  right: 0;
  width: 62%;
  height: 55%;
}
.company-content .sustainability .content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.company-content .sustainability .desc {
  font-size: 14px;
  line-height: 1.9;
  color: #333;
  margin: 0 0 24px;
}
@media screen and (max-width: 750px) {
  .company-content .sustainability .desc {
    font-size: 13px;
    margin-bottom: 16px;
  }
}

.company-network-pnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 20px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .company-network-pnav {
    gap: 10px;
  }
}
.company-network-pnav .company-network-pnav-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 22.5%;
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 14px 24px;
}
@media screen and (max-width: 750px) {
  .company-network-pnav .company-network-pnav-btn {
    padding: 10px 16px;
    font-size: 12px;
    width: 48%;
  }
}
.company-network-pnav .company-network-pnav-btn img {
  width: 20px;
  height: 20px;
}

@media screen and (max-width: 750px) {
  body#company-greeting {
    padding: 65px 0 0;
  }
}
.greeting-content {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding: 60px 0 0;
}
@media screen and (max-width: 750px) {
  .greeting-content {
    padding: 40px 0 60px;
  }
}
.greeting-content .page-ttl {
  position: relative;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 32px;
  color: #333;
  padding-bottom: 20px;
  margin-bottom: 40px;
}
@media screen and (max-width: 750px) {
  .greeting-content .page-ttl {
    font-size: 22px;
    margin-bottom: 24px;
  }
}
.greeting-content .page-ttl::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6;
}
.greeting-content .page-ttl::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 164px;
  height: 2px;
  background-color: #e6001a;
  z-index: 1;
}
.greeting-content .layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 50px;
}
@media screen and (max-width: 750px) {
  .greeting-content .layout {
    display: block;
  }
}
.greeting-content .side-nav {
  width: 220px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 750px) {
  .greeting-content .side-nav {
    width: 100%;
    margin-bottom: 30px;
  }
}
.greeting-content .side-nav .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}
.greeting-content .side-nav .head .bar {
  display: block;
  width: 1px;
  height: 22px;
  background-color: #e6001a;
  top: -18px;
  position: relative;
}
.greeting-content .side-nav .head .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  color: #1a1a1a;
}
.greeting-content .side-nav .lists li a {
  display: block;
  padding: 10px 0;
  font-size: 16px;
  color: #1a1a1a;
}
.greeting-content .side-nav .lists li a:hover {
  opacity: 0.7;
}
.greeting-content .side-nav .lists li.is-active a {
  color: #e6001a;
}
.greeting-content .body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.greeting-content .body .photo {
  margin: 30px 0 60px;
  border-radius: 15px;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .greeting-content .body .photo {
    margin: 20px 0 24px;
    border-radius: 8px;
  }
}
.greeting-content .body .photo img {
  width: 100%;
  height: auto;
  display: block;
}
.greeting-content .body .subttl {
  margin-bottom: 50px;
}
.greeting-content .body .subttl p {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 28px;
  line-height: 1.6;
  color: #333;
  margin: 0;
}
@media screen and (max-width: 750px) {
  .greeting-content .body .subttl p {
    font-size: 18px;
  }
}
.greeting-content .body .text p {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 1.8em;
}
@media screen and (max-width: 750px) {
  .greeting-content .body .text p {
    font-size: 14px;
  }
}
.greeting-content .body .text p:last-child {
  margin-bottom: 0;
}
.greeting-content .body .signature {
  margin-top: 70px;
  text-align: right;
}
.greeting-content .body .signature p {
  font-size: 18px;
  line-height: 1.8;
  color: #333;
  margin: 0;
}
@media screen and (max-width: 750px) {
  .greeting-content .body .signature p {
    font-size: 15px;
  }
}

@media screen and (max-width: 750px) {
  body#company-overview {
    padding: 65px 0 0;
  }
}
.overview-content {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding: 60px 0 10px;
}
@media screen and (max-width: 750px) {
  .overview-content {
    padding: 40px 0 60px;
  }
}
.overview-content .page-ttl {
  position: relative;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 32px;
  color: #333;
  padding-bottom: 20px;
  margin-bottom: 40px;
}
@media screen and (max-width: 750px) {
  .overview-content .page-ttl {
    font-size: 22px;
    margin-bottom: 24px;
  }
}
.overview-content .page-ttl::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6;
}
.overview-content .page-ttl::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 164px;
  height: 2px;
  background-color: #e6001a;
  z-index: 1;
}
.overview-content .layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 50px;
}
@media screen and (max-width: 750px) {
  .overview-content .layout {
    display: block;
  }
}
.overview-content .side-nav {
  width: 220px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 750px) {
  .overview-content .side-nav {
    width: 100%;
    margin-bottom: 30px;
  }
}
.overview-content .side-nav .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}
.overview-content .side-nav .head .bar {
  display: block;
  width: 1px;
  height: 22px;
  background-color: #e6001a;
  top: -18px;
  position: relative;
}
.overview-content .side-nav .head .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  color: #1a1a1a;
}
.overview-content .side-nav .lists li a {
  display: block;
  padding: 10px 0;
  font-size: 16px;
  color: #1a1a1a;
}
.overview-content .side-nav .lists li a:hover {
  opacity: 0.7;
}
.overview-content .side-nav .lists li.is-active a {
  color: #e6001a;
}
.overview-content .body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.overview-content .body .info-table {
  margin-top: 10px;
}
.overview-content .body .info-table .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 40px;
  padding: 24px 0;
  border-bottom: 1px solid #e6e6e6;
}
@media screen and (max-width: 750px) {
  .overview-content .body .info-table .row {
    display: block;
    padding: 16px 0;
  }
}
.overview-content .body .info-table .label {
  width: 166px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 16px;
  font-weight: 500;
  color: #333;
  margin: 0;
}
@media screen and (max-width: 750px) {
  .overview-content .body .info-table .label {
    width: 100%;
    margin-bottom: 8px;
    font-size: 14px;
  }
}
.overview-content .body .info-table .value {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin: 0;
}
@media screen and (max-width: 750px) {
  .overview-content .body .info-table .value {
    font-size: 14px;
  }
}
.overview-content .body .info-table .row-photo .value-wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.overview-content .body .info-table .row-photo .photos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  margin-top: 20px;
}
@media screen and (max-width: 750px) {
  .overview-content .body .info-table .row-photo .photos {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.overview-content .body .info-table .row-photo .photo {
  width: 360px;
  height: 238px;
  border-radius: 15px;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .overview-content .body .info-table .row-photo .photo {
    width: 100%;
    height: 50vw;
  }
}
.overview-content .body .info-table .row-photo .photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.overview-content .body .info-table .row-photo .photo-placeholder {
  background-color: #d9d9d9;
}
.overview-content .body .info-table .officers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
}
.overview-content .body .info-table .officers .pair {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 750px) {
  .overview-content .body .info-table .officers .pair {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2px;
  }
}
.overview-content .body .info-table .officers .role {
  width: 160px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

@media screen and (max-width: 750px) {
  body#company-history {
    padding: 65px 0 0;
  }
}
.history-content {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding: 60px 0 1px;
}
@media screen and (max-width: 750px) {
  .history-content {
    padding: 40px 0 60px;
  }
}
.history-content .page-ttl {
  position: relative;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 32px;
  color: #333;
  padding-bottom: 20px;
  margin-bottom: 40px;
}
@media screen and (max-width: 750px) {
  .history-content .page-ttl {
    font-size: 22px;
    margin-bottom: 24px;
  }
}
.history-content .page-ttl::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6;
}
.history-content .page-ttl::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 164px;
  height: 2px;
  background-color: #e6001a;
  z-index: 1;
}
.history-content .layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 50px;
}
@media screen and (max-width: 750px) {
  .history-content .layout {
    display: block;
  }
}
.history-content .side-nav {
  width: 220px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 750px) {
  .history-content .side-nav {
    width: 100%;
    margin-bottom: 30px;
  }
}
.history-content .side-nav .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}
.history-content .side-nav .head .bar {
  display: block;
  width: 1px;
  height: 22px;
  background-color: #e6001a;
  top: -18px;
  position: relative;
}
.history-content .side-nav .head .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  color: #1a1a1a;
}
.history-content .side-nav .lists li a {
  display: block;
  padding: 10px 0;
  font-size: 16px;
  color: #1a1a1a;
}
.history-content .side-nav .lists li a:hover {
  opacity: 0.7;
}
.history-content .side-nav .lists li.is-active a {
  color: #e6001a;
}
.history-content .body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.history-content .body .timeline {
  position: relative;
  margin: 10px 0 83px;
  padding-left: 1px;
}
@media screen and (max-width: 750px) {
  .history-content .body .timeline {
    padding-left: 0;
    margin-bottom: 40px;
  }
}
.history-content .body .timeline::before {
  content: "";
  position: absolute;
  left: 110px;
  top: 18px;
  bottom: 8px;
  width: 2px;
  background-color: #ccc;
}
@media screen and (max-width: 750px) {
  .history-content .body .timeline::before {
    display: none;
  }
}
.history-content .body .timeline .item {
  position: relative;
  padding: 12px 0;
}
@media screen and (max-width: 750px) {
  .history-content .body .timeline .item {
    padding: 10px 0;
    border-bottom: 1px solid #ececec;
  }
}
.history-content .body .timeline .item::before {
  content: "";
  position: absolute;
  left: 104px;
  top: 18px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #e6001a;
}
@media screen and (max-width: 750px) {
  .history-content .body .timeline .item::before {
    display: none;
  }
}
.history-content .body .timeline .date {
  position: absolute;
  left: 0;
  top: 12px;
  width: 96px;
  font-weight: 500;
  font-size: 16px;
  color: #333;
  letter-spacing: 0;
}
@media screen and (max-width: 750px) {
  .history-content .body .timeline .date {
    position: static;
    width: auto;
    font-size: 14px;
    margin-bottom: 4px;
    color: #e6001a;
  }
}
.history-content .body .timeline .desc {
  margin-left: 150px;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
@media screen and (max-width: 750px) {
  .history-content .body .timeline .desc {
    margin-left: 0;
    font-size: 14px;
  }
}
.history-content .body .timeline .item:last-child .desc {
  margin-left: 150px;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  padding-bottom: 50px;
}
@media screen and (max-width: 750px) {
  .history-content .body .timeline .item:last-child .desc {
    margin-left: 0;
    font-size: 14px;
  }
}
.history-content .body .feature {
  margin-top: 75px;
  padding: 0;
  border-radius: 8px;
}
@media screen and (max-width: 750px) {
  .history-content .body .feature {
    margin-top: 30px;
    padding: 20px;
  }
}
.history-content .body .feature .feature-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  margin-bottom: 52px;
  background-color: #f2f2f2;
  padding: 0.3em 0 0.2em;
}
.history-content .body .feature .feature-head .bar {
  display: block;
  width: 3px;
  height: 25px;
  background-color: #e6001a;
  position: relative;
  top: 0;
}
.history-content .body .feature .feature-head .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  color: #333;
  margin: 0;
}
.history-content .body .feature .feature-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  margin-bottom: 55px;
}
@media screen and (max-width: 750px) {
  .history-content .body .feature .feature-block {
    display: block;
  }
}
.history-content .body .feature .feature-block:last-child {
  margin-bottom: 0;
}
.history-content .body .feature .feature-block .photo {
  width: 374px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .history-content .body .feature .feature-block .photo {
    width: 100%;
    margin-bottom: 16px;
  }
}
.history-content .body .feature .feature-block .photo img {
  width: 100%;
  height: auto;
  display: block;
}
.history-content .body .feature .feature-block .sub-ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 28px;
  line-height: 1.5;
  color: #333;
  margin-bottom: 16px;
}
@media screen and (max-width: 750px) {
  .history-content .body .feature .feature-block .sub-ttl {
    font-size: 18px;
    margin-bottom: 12px;
  }
}
.history-content .body .feature .feature-block .text {
  font-size: 15px;
  line-height: 1.8;
  color: #333;
}
@media screen and (max-width: 750px) {
  .history-content .body .feature .feature-block .text {
    font-size: 14px;
  }
}

@media screen and (max-width: 750px) {
  body#company-organization {
    padding: 65px 0 0;
  }
}
.organization-content {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding: 60px 0 10px;
}
@media screen and (max-width: 750px) {
  .organization-content {
    padding: 40px 0 60px;
  }
}
.organization-content .page-ttl {
  position: relative;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 32px;
  color: #333;
  padding-bottom: 20px;
  margin-bottom: 40px;
}
@media screen and (max-width: 750px) {
  .organization-content .page-ttl {
    font-size: 22px;
    margin-bottom: 24px;
  }
}
.organization-content .page-ttl::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6;
}
.organization-content .page-ttl::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 164px;
  height: 2px;
  background-color: #e6001a;
  z-index: 1;
}
.organization-content .layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 50px;
}
@media screen and (max-width: 750px) {
  .organization-content .layout {
    display: block;
  }
}
.organization-content .side-nav {
  width: 220px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 750px) {
  .organization-content .side-nav {
    width: 100%;
    margin-bottom: 30px;
  }
}
.organization-content .side-nav .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}
.organization-content .side-nav .head .bar {
  display: block;
  width: 1px;
  height: 22px;
  background-color: #e6001a;
  top: -18px;
  position: relative;
}
.organization-content .side-nav .head .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  color: #1a1a1a;
}
.organization-content .side-nav .lists li a {
  display: block;
  padding: 10px 0;
  font-size: 16px;
  color: #1a1a1a;
}
.organization-content .side-nav .lists li a:hover {
  opacity: 0.7;
}
.organization-content .side-nav .lists li.is-active a {
  color: #e6001a;
}
.organization-content .body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.organization-content .body .chart {
  margin-top: 20px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.organization-content .body .chart img {
  display: block;
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 750px) {
  .organization-content .body .chart img {
    max-width: none;
    width: 800px;
  }
}

@media screen and (max-width: 750px) {
  body#company-network {
    padding: 65px 0 0;
  }
}
.network-content {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding: 60px 0 10px;
}
@media screen and (max-width: 750px) {
  .network-content {
    padding: 40px 0 60px;
  }
}
.network-content .page-ttl {
  position: relative;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 32px;
  color: #333;
  padding-bottom: 20px;
  margin-bottom: 67px;
}
@media screen and (max-width: 750px) {
  .network-content .page-ttl {
    font-size: 22px;
    margin-bottom: 24px;
  }
}
.network-content .page-ttl::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6;
}
.network-content .page-ttl::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 164px;
  height: 2px;
  background-color: #e6001a;
  z-index: 1;
}
.network-content .layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 50px;
}
@media screen and (max-width: 750px) {
  .network-content .layout {
    display: block;
  }
}
.network-content .side-nav {
  width: 220px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 750px) {
  .network-content .side-nav {
    width: 100%;
    margin-bottom: 30px;
  }
}
.network-content .side-nav .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}
.network-content .side-nav .head .bar {
  display: block;
  width: 1px;
  height: 22px;
  background-color: #e6001a;
  top: -18px;
  position: relative;
}
.network-content .side-nav .head .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  color: #1a1a1a;
}
.network-content .side-nav .lists li a {
  display: block;
  padding: 10px 0;
  font-size: 16px;
  color: #1a1a1a;
}
.network-content .side-nav .lists li a:hover {
  opacity: 0.7;
}
.network-content .side-nav .lists li.is-active a {
  color: #e6001a;
}
.network-content .body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.network-content .body .office-section {
  margin-top: 50px;
}
.network-content .body .office-section:first-child {
  margin-top: 10px;
}
@media screen and (max-width: 750px) {
  .network-content .body .office-section {
    margin-top: 30px;
  }
}
.network-content .body .section-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  margin-bottom: 10px;
  padding: 6px 20px 6px 20px;
  background-color: #f2f2f2;
  position: relative;
}
.network-content .body .section-head .bar {
  display: block;
  width: 3px;
  height: 25px;
  background-color: #e6001a;
  top: -18px;
  position: relative;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.network-content .body .section-head .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  color: #333;
  margin: 0;
}
.network-content .body .office-list .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 15px;
  padding: 25px 0 20px;
  border-bottom: 1px solid #e6e6e6;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 750px) {
  .network-content .body .office-list .row {
    display: block;
    padding: 14px 4px;
  }
}
.network-content .body .office-list .name {
  width: 170px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 15px;
  font-weight: 500;
  color: #333;
  letter-spacing: 0.01em;
  margin: 0;
}
@media screen and (max-width: 750px) {
  .network-content .body .office-list .name {
    width: 100%;
    font-size: 14px;
    margin-bottom: 4px;
  }
}
.network-content .body .office-list .addr {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  font-size: 15px;
  color: #333;
  letter-spacing: 0.01em;
  margin: 0;
}
@media screen and (max-width: 750px) {
  .network-content .body .office-list .addr {
    font-size: 14px;
  }
}
.network-content .body .office-list .tel {
  width: 300px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 15px;
  color: #333;
  letter-spacing: 0.01em;
  text-align: left;
  margin: 0;
}
@media screen and (max-width: 750px) {
  .network-content .body .office-list .tel {
    width: 100%;
    margin-top: 4px;
    font-size: 13px;
  }
}

@media screen and (max-width: 750px) {
  body#company-group {
    padding: 65px 0 0;
  }
}
.group-content {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding: 60px 0 10px;
}
@media screen and (max-width: 750px) {
  .group-content {
    padding: 40px 0 60px;
  }
}
.group-content .page-ttl {
  position: relative;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 32px;
  color: #333;
  padding-bottom: 20px;
  margin-bottom: 74px;
}
@media screen and (max-width: 750px) {
  .group-content .page-ttl {
    font-size: 22px;
    margin-bottom: 24px;
  }
}
.group-content .page-ttl::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #e6e6e6;
}
.group-content .page-ttl::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 164px;
  height: 2px;
  background-color: #e6001a;
  z-index: 1;
}
.group-content .layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 50px;
}
@media screen and (max-width: 750px) {
  .group-content .layout {
    display: block;
  }
}
.group-content .side-nav {
  width: 220px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 750px) {
  .group-content .side-nav {
    width: 100%;
    margin-bottom: 30px;
  }
}
.group-content .side-nav .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-bottom: 20px;
}
.group-content .side-nav .head .bar {
  display: block;
  width: 1px;
  height: 22px;
  background-color: #e6001a;
  top: -18px;
  position: relative;
}
.group-content .side-nav .head .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  color: #1a1a1a;
}
.group-content .side-nav .lists li a {
  display: block;
  padding: 10px 0;
  font-size: 16px;
  color: #1a1a1a;
}
.group-content .side-nav .lists li a:hover {
  opacity: 0.7;
}
.group-content .side-nav .lists li.is-active a {
  color: #e6001a;
}
.group-content .body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.group-content .body .company-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  margin-top: 10px;
}
.group-content .body .card a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
  padding: 20px 30px;
  background-color: #f7f7f7;
  border: 1px solid transparent;
  border-radius: 15px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (max-width: 750px) {
  .group-content .body .card a {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 16px;
    padding: 16px;
  }
}
.group-content .body .card a:hover {
  opacity: 1;
  background-color: #fff;
  border-color: #e6001a;
}
.group-content .body .card .logo {
  width: 188px;
  height: 107px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #fff;
  border-radius: 15px;
}
@media screen and (max-width: 750px) {
  .group-content .body .card .logo {
    width: 140px;
    height: 80px;
  }
}
.group-content .body .card .logo img {
  max-width: 70%;
  max-height: 60%;
  -o-object-fit: contain;
     object-fit: contain;
}
.group-content .body .card .logo.logo-navy {
  background-color: #00549d;
}
.group-content .body .card .logo.logo-navy img {
  max-width: 40%;
  max-height: 45%;
}
.group-content .body .card .logo.logo-empty {
  background-color: #f0f0f0;
}
.group-content .body .card .logo.logo-sagaanzen img {
  max-width: 80%;
}
.group-content .body .card .logo.logo-taihokosan img {
  max-width: 80%;
}
.group-content .body .card .logo.logo-nichiboh img {
  max-width: 80%;
}
.group-content .body .card .logo.logo-seibu-hoan .logo-container {
  max-width: 46%;
  text-align: center;
}
.group-content .body .card .logo.logo-seibu-hoan .logo-container img {
  margin: 0 auto;
  max-width: 80%;
}
.group-content .body .card .logo.logo-daisho img {
  max-width: 72%;
}
.group-content .body .card .detail {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}
.group-content .body .card .detail .name {
  font-size: 16px;
  font-weight: 500;
  color: #333;
}
.group-content .body .card .detail .addr {
  font-size: 16px;
  color: #333;
}
@media screen and (max-width: 750px) {
  .group-content .body .card .detail .addr {
    font-size: 14px;
  }
}
.group-content .body .card .arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 44px;
  height: 44px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border: 1px solid #ccc;
  border-radius: 5px;
}
.group-content .body .card .arrow img {
  width: 6px;
  height: 10px;
}
@media screen and (max-width: 750px) {
  .group-content .body .card .arrow {
    display: none;
  }
}

@media screen and (max-width: 750px) {
  body#sustainability {
    padding: 65px 0 0;
  }
}
.sustainability-content {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding: 60px 0 100px;
}
@media screen and (max-width: 750px) {
  .sustainability-content {
    padding: 40px 0 60px;
  }
}
.sustainability-content .section-heading {
  position: relative;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 600;
  font-size: 32px;
  color: #333;
  padding-bottom: 20px;
  margin-bottom: 40px;
  border-bottom: 1px solid #e6e6e6;
}
@media screen and (max-width: 750px) {
  .sustainability-content .section-heading {
    font-size: 22px;
    padding-bottom: 14px;
    margin-bottom: 24px;
  }
}
.sustainability-content .section-heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 164px;
  height: 1px;
  background-color: #e6001a;
}
@media screen and (max-width: 750px) {
  .sustainability-content .section-heading::after {
    width: 80px;
  }
}
.sustainability-content .banner {
  position: relative;
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 50px;
}
@media screen and (max-width: 750px) {
  .sustainability-content .banner {
    margin-bottom: 30px;
    border-radius: 8px;
  }
}
.sustainability-content .banner img {
  width: 100%;
  height: 381px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 750px) {
  .sustainability-content .banner img {
    height: 45vw;
  }
}
.sustainability-content .banner .banner-panel {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  width: 753px;
  max-width: 88%;
  padding: 30px 20px;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 5px;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .sustainability-content .banner .banner-panel {
    padding: 16px 12px;
    gap: 4px;
  }
}
.sustainability-content .banner .banner-panel .en {
  font-family: "Lato", sans-serif;
  font-weight: 500;
  font-size: 30px;
  color: #e6001a;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
  .sustainability-content .banner .banner-panel .en {
    font-size: 16px;
  }
}
.sustainability-content .banner .banner-panel .jp {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 600;
  font-size: 28px;
  color: #333;
}
@media screen and (max-width: 750px) {
  .sustainability-content .banner .banner-panel .jp {
    font-size: 15px;
  }
}
.sustainability-content .lead {
  margin-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .sustainability-content .lead {
    margin-bottom: 40px;
  }
}
.sustainability-content .lead p {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
@media screen and (max-width: 750px) {
  .sustainability-content .lead p {
    font-size: 14px;
  }
  .sustainability-content .lead p br {
    display: none;
  }
}
.sustainability-content .safety-management {
  margin-bottom: 100px;
}
@media screen and (max-width: 750px) {
  .sustainability-content .safety-management {
    margin-bottom: 60px;
  }
}
.sustainability-content .safety-management .safety-management-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
}
@media screen and (max-width: 750px) {
  .sustainability-content .safety-management .safety-management-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px;
  }
}
.sustainability-content .safety-management .safety-management-body .txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.sustainability-content .safety-management .safety-management-body .txt p {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 750px) {
  .sustainability-content .safety-management .safety-management-body .txt p {
    font-size: 14px;
  }
}
.sustainability-content .safety-management .safety-management-body .txt p:last-child {
  margin-bottom: 0;
}
.sustainability-content .safety-management .safety-management-body .chart {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 535px;
  max-width: 100%;
  background-color: #fff;
}
.sustainability-content .safety-management .safety-management-body .chart img {
  width: 100%;
  height: auto;
}
.sustainability-content .csr-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 100px;
}
@media screen and (max-width: 750px) {
  .sustainability-content .csr-list {
    gap: 50px;
  }
}
.sustainability-content .csr-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 60px;
}
@media screen and (max-width: 750px) {
  .sustainability-content .csr-block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.sustainability-content .csr-block.is-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 750px) {
  .sustainability-content .csr-block.is-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.sustainability-content .csr-block .csr-block-photo {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 595px;
          flex: 0 0 595px;
  max-width: 100%;
}
@media screen and (max-width: 750px) {
  .sustainability-content .csr-block .csr-block-photo {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
}
.sustainability-content .csr-block .csr-block-photo > img {
  width: 100%;
  height: 440px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
  margin-bottom: 16px;
}
@media screen and (max-width: 750px) {
  .sustainability-content .csr-block .csr-block-photo > img {
    height: 55vw;
    margin-bottom: 12px;
  }
}
.sustainability-content .csr-block .csr-block-extra {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.sustainability-content .csr-block .csr-block-extra img {
  height: 56px;
  width: auto;
  max-width: 140px;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 4px;
}
@media screen and (max-width: 750px) {
  .sustainability-content .csr-block .csr-block-extra img {
    height: 40px;
  }
}
.sustainability-content .csr-block .csr-block-body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.sustainability-content .csr-block .csr-block-body .num {
  font-family: "Lato", sans-serif;
  font-weight: 500;
  font-size: 30px;
  color: #e6001a;
  margin-bottom: 6px;
}
@media screen and (max-width: 750px) {
  .sustainability-content .csr-block .csr-block-body .num {
    font-size: 22px;
  }
}
.sustainability-content .csr-block .csr-block-body .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 600;
  font-size: 28px;
  line-height: 1.4;
  color: #333;
  margin-bottom: 24px;
}
@media screen and (max-width: 750px) {
  .sustainability-content .csr-block .csr-block-body .ttl {
    font-size: 19px;
    margin-bottom: 16px;
  }
}
.sustainability-content .csr-block .csr-block-body .txt {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 24px;
}
@media screen and (max-width: 750px) {
  .sustainability-content .csr-block .csr-block-body .txt {
    font-size: 14px;
    margin-bottom: 16px;
  }
}
.sustainability-content .csr-block .csr-block-body .sdgs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
.sustainability-content .csr-block .csr-block-body .sdgs img {
  width: 56px;
  height: 56px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
@media screen and (max-width: 750px) {
  .sustainability-content .csr-block .csr-block-body .sdgs img {
    width: 44px;
    height: 44px;
  }
}

@media screen and (max-width: 750px) {
  body#business {
    padding: 65px 0 0;
  }
}
.business-content {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding: 60px 0 100px;
}
@media screen and (max-width: 750px) {
  .business-content {
    padding: 40px 0 60px;
  }
}
.business-content .section-heading {
  position: relative;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 600;
  font-size: 32px;
  color: #333;
  padding-bottom: 20px;
  margin-bottom: 40px;
  border-bottom: 1px solid #e6e6e6;
}
@media screen and (max-width: 750px) {
  .business-content .section-heading {
    font-size: 22px;
    padding-bottom: 14px;
    margin-bottom: 24px;
  }
}
.business-content .section-heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 164px;
  height: 1px;
  background-color: #e6001a;
}
@media screen and (max-width: 750px) {
  .business-content .section-heading::after {
    width: 80px;
  }
}
.business-content > .lead {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .business-content > .lead {
    font-size: 14px;
    margin-bottom: 40px;
  }
  .business-content > .lead br {
    display: none;
  }
}
.business-content .business-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 100px;
}
@media screen and (max-width: 750px) {
  .business-content .business-list {
    gap: 50px;
  }
}
.business-content .business-block .business-block-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 46px;
}
@media screen and (max-width: 750px) {
  .business-content .business-block .business-block-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.business-content .business-block .business-block-body .photo {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 569px;
          flex: 0 0 569px;
  max-width: 100%;
}
@media screen and (max-width: 750px) {
  .business-content .business-block .business-block-body .photo {
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
    width: 100%;
  }
}
.business-content .business-block .business-block-body .photo img {
  width: 100%;
  height: 376px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 5px;
}
@media screen and (max-width: 750px) {
  .business-content .business-block .business-block-body .photo img {
    display: unset;
    height: 200px;
    width: 100%;
  }
}
.business-content .business-block .business-block-body .photo.photo_noimg {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 569px;
          flex: 0 0 569px;
  max-width: 100%;
  height: 376px;
  background-color: #f0f0f0;
  border-radius: 5px;
}
@media screen and (max-width: 750px) {
  .business-content .business-block .business-block-body .photo.photo_noimg {
    height: 200px;
    width: 100%;
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
  }
}
.business-content .business-block .business-block-body .body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding-top: 8px;
}
@media screen and (max-width: 750px) {
  .business-content .business-block .business-block-body .body {
    padding-top: 0;
  }
}
.business-content .business-block .business-block-body .body .txt {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 30px;
}
@media screen and (max-width: 750px) {
  .business-content .business-block .business-block-body .body .txt {
    font-size: 14px;
    margin-bottom: 20px;
  }
}
.business-content .link-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: 24px;
     -moz-column-gap: 24px;
          column-gap: 24px;
}
@media screen and (max-width: 750px) {
  .business-content .link-grid {
    grid-template-columns: 1fr;
  }
}
.business-content .link-grid.is-single {
  grid-template-columns: 1fr;
  max-width: 340px;
}
.business-content .link-grid li {
  border-bottom: 1px solid #e6e6e6;
}
.business-content .link-grid a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 12px;
  padding: 18px 4px;
  font-size: 16px;
  color: #333;
  background-image: url(../img/common/i_link.png);
  background-repeat: no-repeat;
  background-size: 16px 16px;
  background-position: right 4px center;
  padding-right: 26px;
}
@media screen and (max-width: 750px) {
  .business-content .link-grid a {
    padding: 14px 26px 14px 4px;
    font-size: 14px;
  }
}

@media screen and (max-width: 750px) {
  body#ir {
    padding: 65px 0 0;
  }
}
.ir-content {
  padding: 60px 0 10px;
}
@media screen and (max-width: 750px) {
  .ir-content {
    padding: 40px 0 60px;
  }
}
.ir-content .inner {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}
.ir-content .layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 30px;
}
@media screen and (max-width: 750px) {
  .ir-content .layout {
    display: block;
  }
}
.ir-content .side {
  width: 220px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 750px) {
  .ir-content .side {
    width: 100%;
    margin-bottom: 40px;
  }
}
.ir-content .side .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
.ir-content .side .head .bar {
  display: block;
  width: 1px;
  height: 22px;
  background-color: #e6001a;
}
.ir-content .side .head .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  letter-spacing: 0.05em;
  color: #1a1a1a;
  margin: 0;
}
.ir-content .side .lists > li > a,
.ir-content .side .lists > li > .parent {
  display: block;
  padding: 10px 4px;
  font-size: 16px;
  color: #1a1a1a;
}
.ir-content .side .lists > li > a:hover,
.ir-content .side .lists > li > .parent:hover {
  opacity: 0.7;
}
.ir-content .side .lists > li.is-active > a,
.ir-content .side .lists > li.is-active > .parent {
  color: #e6001a;
  font-weight: 500;
}
.ir-content .side .lists > li .sub {
  padding: 0 0 10px 12px;
}
.ir-content .side .lists > li .sub li a {
  display: block;
  padding: 6px 0;
  font-size: 13px;
  color: #999;
}
.ir-content .side .lists > li .sub li a:hover {
  opacity: 0.7;
  color: #e6001a;
}
.ir-content .main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.ir-content .sec-ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 32px;
  color: #333;
  padding-bottom: 20px;
  margin: 0 0 40px;
  border-bottom: 1px solid #e6e6e6;
  position: relative;
}
.ir-content .sec-ttl::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 120px;
  height: 2px;
  background-color: #e6001a;
}
@media screen and (max-width: 750px) {
  .ir-content .sec-ttl {
    font-size: 22px;
    margin-bottom: 24px;
    padding-bottom: 14px;
  }
  .ir-content .sec-ttl::after {
    width: 70px;
  }
}
.ir-content .news-block {
  margin-bottom: 90px;
}
@media screen and (max-width: 750px) {
  .ir-content .news-block {
    margin-bottom: 40px;
  }
}
.ir-content .news-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.ir-content .news-list li {
  border-top: 1px solid #e6e6e6;
}
.ir-content .news-list li:last-child {
  border-bottom: 1px solid #e6e6e6;
}
.ir-content .news-list li:first-child {
  border-top: none;
}
.ir-content .news-list .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  padding: 27px 40px 20px 0;
  position: relative;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.ir-content .news-list .item:hover {
  opacity: 0.7;
}
.ir-content .news-list .item .date {
  font-family: "Lato", sans-serif;
  font-size: 14px;
  letter-spacing: 0.05em;
  color: #999;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.ir-content .news-list .item .tag {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 3px 6px;
  background-color: #333;
  border-radius: 2px;
  font-size: 12px;
  color: #fff;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.ir-content .news-list .item .txt {
  min-width: 0;
  font-size: 16px;
  color: #1a1a1a;
  width: 100%;
  margin: 0.5em 0 0.5em;
}
.ir-content .news-list .item .pdf {
  position: absolute;
  right: 0;
  top: 50%;
  width: 22px;
  height: 22px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 750px) {
  .ir-content .news-list .item {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 8px;
    padding: 14px 30px 14px 0;
  }
  .ir-content .news-list .txt {
    font-size: 14px;
  }
}
.ir-content .more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  width: 258px;
  margin: 50px 0 0 auto;
  padding: 14px 24px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 16px;
  letter-spacing: 0.05em;
  color: #333;
}
.ir-content .more:hover {
  opacity: 0.7;
}
.ir-content .more img {
  width: 20px;
  height: 20px;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (max-width: 750px) {
  .ir-content .more {
    width: 100%;
  }
}
.ir-content .cat-block {
  margin-top: 87px;
}
@media screen and (max-width: 750px) {
  .ir-content .cat-block {
    margin-top: 40px;
  }
}
.ir-content .cat-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: 60px;
     -moz-column-gap: 60px;
          column-gap: 60px;
}
@media screen and (max-width: 750px) {
  .ir-content .cat-list {
    grid-template-columns: 1fr;
  }
}
.ir-content .cat-list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 12px;
  padding: 16px 4px;
  border-bottom: 1px solid #e6e6e6;
  font-size: 16px;
  font-weight: 500;
  color: #333;
}
.ir-content .cat-list li a:hover {
  opacity: 0.7;
}
.ir-content .cat-list li a img {
  width: 23px;
  height: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

@media screen and (max-width: 750px) {
  body#ir-stock {
    padding: 65px 0 0;
  }
}
.stock-content {
  padding: 60px 0 10px;
}
@media screen and (max-width: 750px) {
  .stock-content {
    padding: 40px 0 60px;
  }
}
.stock-content .inner {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}
.stock-content .layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 30px;
}
@media screen and (max-width: 750px) {
  .stock-content .layout {
    display: block;
  }
}
.stock-content .side {
  width: 220px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 750px) {
  .stock-content .side {
    width: 100%;
    margin-bottom: 40px;
  }
}
.stock-content .side .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
.stock-content .side .head .bar {
  display: block;
  width: 1px;
  height: 22px;
  background-color: #e6001a;
}
.stock-content .side .head .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  letter-spacing: 0.05em;
  color: #1a1a1a;
  margin: 0;
}
.stock-content .side .lists > li > a,
.stock-content .side .lists > li > .parent {
  display: block;
  padding: 10px 4px;
  font-size: 16px;
  color: #1a1a1a;
}
.stock-content .side .lists > li > a:hover,
.stock-content .side .lists > li > .parent:hover {
  opacity: 0.7;
}
.stock-content .side .lists > li.is-active > a,
.stock-content .side .lists > li.is-active > .parent {
  color: #e6001a;
  font-weight: 500;
}
.stock-content .side .lists > li .sub {
  padding: 0 0 10px 12px;
}
.stock-content .side .lists > li .sub li a {
  display: block;
  padding: 6px 0;
  font-size: 13px;
  color: #999;
}
.stock-content .side .lists > li .sub li a:hover {
  opacity: 0.7;
  color: #e6001a;
}
.stock-content .main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.stock-content .sec-ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 32px;
  color: #333;
  padding-bottom: 20px;
  margin: 0 0 40px;
  border-bottom: 1px solid #e6e6e6;
  position: relative;
}
.stock-content .sec-ttl::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 120px;
  height: 2px;
  background-color: #e6001a;
}
@media screen and (max-width: 750px) {
  .stock-content .sec-ttl {
    font-size: 22px;
    margin-bottom: 24px;
    padding-bottom: 14px;
  }
  .stock-content .sec-ttl::after {
    width: 70px;
  }
}
.stock-content h1.sec-ttl {
  margin-bottom: 40px;
}
.stock-content .sub-ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  color: #e6001a;
  margin: 40px 0 16px;
}
@media screen and (max-width: 750px) {
  .stock-content .sub-ttl {
    font-size: 18px;
    margin: 24px 0 12px;
  }
}
.stock-content .txt {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
@media screen and (max-width: 750px) {
  .stock-content .txt {
    font-size: 14px;
  }
}
.stock-content .info-table {
  margin-bottom: 70px;
}
@media screen and (max-width: 750px) {
  .stock-content .info-table {
    margin-bottom: 40px;
  }
}
.stock-content .info-table .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  padding: 24px 0;
  border-bottom: 1px solid #e6e6e6;
}
@media screen and (max-width: 750px) {
  .stock-content .info-table .row {
    display: block;
    padding: 14px 0;
  }
}
.stock-content .info-table .row dt {
  width: 200px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 16px;
  font-weight: 700;
  color: #333;
}
@media screen and (max-width: 750px) {
  .stock-content .info-table .row dt {
    font-size: 14px;
    margin-bottom: 6px;
  }
}
.stock-content .info-table .row dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
@media screen and (max-width: 750px) {
  .stock-content .info-table .row dd {
    font-size: 14px;
  }
}
.stock-content .info-table .row dd a {
  color: #e6001a;
  text-decoration: underline;
  word-break: break-all;
}
.stock-content .info-table .row dd a:hover {
  opacity: 0.7;
}
.stock-content .benefit-block {
  margin-bottom: 70px;
}
@media screen and (max-width: 750px) {
  .stock-content .benefit-block {
    margin-bottom: 40px;
  }
}
.stock-content .benefit-intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 750px) {
  .stock-content .benefit-intro {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    margin-bottom: 24px;
  }
}
.stock-content .benefit-intro .txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.stock-content .benefit-intro .sample-img {
  width: 379px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .stock-content .benefit-intro .sample-img {
    width: 100%;
  }
}
.stock-content .benefit-intro .sample-img img {
  width: 100%;
  height: auto;
  display: block;
}
.stock-content .benefit-table {
  border: 1px solid #ccc;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 30px;
}
.stock-content .benefit-table .thead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #1a1a1a;
}
.stock-content .benefit-table .thead span {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 14px 0;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  color: #fff;
}
.stock-content .benefit-table .trow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px solid #ccc;
}
.stock-content .benefit-table .trow span {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 16px 12px;
  text-align: center;
  font-size: 16px;
  color: #1a1a1a;
}
@media screen and (max-width: 750px) {
  .stock-content .benefit-table .trow span {
    font-size: 13px;
    padding: 12px 8px;
  }
}
.stock-content .benefit-notes {
  margin-bottom: 10px;
}
.stock-content .benefit-notes li {
  position: relative;
  padding-left: 1em;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
@media screen and (max-width: 750px) {
  .stock-content .benefit-notes li {
    font-size: 13px;
  }
}
.stock-content .benefit-notes li::before {
  content: "・";
  position: absolute;
  left: 0;
}
.stock-content .notice-box {
  margin-top: 40px;
  padding: 30px;
  border: 1px solid #ccc;
  border-radius: 8px;
}
@media screen and (max-width: 750px) {
  .stock-content .notice-box {
    padding: 20px;
    margin-top: 24px;
  }
}
.stock-content .notice-box .box-ttl {
  font-size: 18px;
  font-weight: 700;
  color: #1a1a1a;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid #e6e6e6;
}
@media screen and (max-width: 750px) {
  .stock-content .notice-box .box-ttl {
    font-size: 15px;
  }
}
.stock-content .notice-box .box-txt {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 16px;
}
.stock-content .notice-box .box-txt:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 750px) {
  .stock-content .notice-box .box-txt {
    font-size: 13px;
  }
}
.stock-content .meeting-block .news-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.stock-content .meeting-block .news-list li {
  border-top: 1px solid #e6e6e6;
}
.stock-content .meeting-block .news-list li:last-child {
  border-bottom: 1px solid #e6e6e6;
}
.stock-content .meeting-block .news-list .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  padding: 20px 40px 20px 0;
  position: relative;
}
.stock-content .meeting-block .news-list .item:hover {
  opacity: 0.7;
}
.stock-content .meeting-block .news-list .item .date {
  font-family: "Lato", sans-serif;
  font-size: 14px;
  letter-spacing: 0.05em;
  color: #999;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.stock-content .meeting-block .news-list .item .txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  font-size: 16px;
  color: #1a1a1a;
}
.stock-content .meeting-block .news-list .item .pdf {
  position: absolute;
  right: 0;
  top: 50%;
  width: 22px;
  height: 22px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 750px) {
  .stock-content .meeting-block .news-list .item {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 8px;
    padding: 14px 30px 14px 0;
  }
  .stock-content .meeting-block .news-list .txt {
    font-size: 14px;
  }
}

@media screen and (max-width: 750px) {
  body#ir-finance {
    padding: 65px 0 0;
  }
}
.finance-content {
  padding: 60px 0 10px;
}
@media screen and (max-width: 750px) {
  .finance-content {
    padding: 40px 0 60px;
  }
}
.finance-content .inner {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}
.finance-content .layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 30px;
}
@media screen and (max-width: 750px) {
  .finance-content .layout {
    display: block;
  }
}
.finance-content .side {
  width: 220px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 750px) {
  .finance-content .side {
    width: 100%;
    margin-bottom: 40px;
  }
}
.finance-content .side .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
.finance-content .side .head .bar {
  display: block;
  width: 1px;
  height: 22px;
  background-color: #e6001a;
}
.finance-content .side .head .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  letter-spacing: 0.05em;
  color: #1a1a1a;
  margin: 0;
}
.finance-content .side .lists > li > a,
.finance-content .side .lists > li > .parent {
  display: block;
  padding: 10px 4px;
  font-size: 16px;
  color: #1a1a1a;
}
.finance-content .side .lists > li > a:hover,
.finance-content .side .lists > li > .parent:hover {
  opacity: 0.7;
}
.finance-content .side .lists > li.is-active > a,
.finance-content .side .lists > li.is-active > .parent {
  color: #e6001a;
  font-weight: 500;
}
.finance-content .side .lists > li .sub {
  padding: 0 0 10px 12px;
}
.finance-content .side .lists > li .sub li a {
  display: block;
  padding: 6px 0;
  font-size: 13px;
  color: #999;
}
.finance-content .side .lists > li .sub li a:hover {
  opacity: 0.7;
  color: #e6001a;
}
.finance-content .main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.finance-content .sec-ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 32px;
  color: #333;
  padding-bottom: 20px;
  margin: 0 0 60px;
  border-bottom: 1px solid #e6e6e6;
  position: relative;
}
.finance-content .sec-ttl::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 120px;
  height: 2px;
  background-color: #e6001a;
}
@media screen and (max-width: 750px) {
  .finance-content .sec-ttl {
    font-size: 22px;
    margin-bottom: 24px;
    padding-bottom: 14px;
  }
  .finance-content .sec-ttl::after {
    width: 70px;
  }
}
.finance-content .txt {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 24px;
}
@media screen and (max-width: 750px) {
  .finance-content .txt {
    font-size: 14px;
  }
}
.finance-content .blk-head {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #f2f2f2;
  padding: 15px 20px 16px 20px;
  margin: 60px 0 30px;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .finance-content .blk-head {
    padding: 10px 14px 10px 15px;
  }
}
.finance-content .blk-head:first-of-type {
  margin-top: 0;
}
.finance-content .blk-head .bar {
  position: absolute;
  left: 0;
  top: 15px;
  bottom: auto;
  height: 25px;
  width: 3px;
  background-color: #e6001a;
}
@media screen and (max-width: 750px) {
  .finance-content .blk-head .bar {
    top: 10px;
    height: 18px;
  }
}
.finance-content .blk-head h2 {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  font-weight: 500;
  color: #333;
  margin: 0;
}
@media screen and (max-width: 750px) {
  .finance-content .blk-head {
    padding: 10px 14px 10px 20px;
    margin: 40px 0 20px;
  }
  .finance-content .blk-head h2 {
    font-size: 18px;
  }
}
.finance-content .settlement-block,
.finance-content .report-block {
  margin-bottom: 80px;
}
.finance-content .report-block:last-child {
  margin-bottom: 0;
}
.finance-content .year-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 50px;
}
@media screen and (max-width: 750px) {
  .finance-content .year-tabs {
    gap: 10px;
  }
}
.finance-content .year-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16px;
  width: 210px;
  padding: 14px 24px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 16px;
  letter-spacing: 0.05em;
  color: #333;
  cursor: pointer;
}
.finance-content .year-btn:hover {
  opacity: 0.7;
}
.finance-content .year-btn.is-active {
  background-color: #333;
  border-color: #333;
  color: #fff;
}
.finance-content .year-btn img {
  width: 14px;
  height: auto;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
@media screen and (max-width: 750px) {
  .finance-content .year-btn {
    width: calc(50% - 5px);
    padding: 12px 16px;
  }
}
.finance-content .doc-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16px;
  width: 278px;
  margin: 24px 0;
  padding: 14px 24px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 16px;
  letter-spacing: 0.05em;
  color: #333;
}
.finance-content .doc-btn:hover {
  opacity: 0.7;
}
.finance-content .doc-btn img {
  width: 14px;
  height: auto;
}
@media screen and (max-width: 750px) {
  .finance-content .doc-btn {
    width: 100%;
  }
}
.finance-content .news-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 20px;
}
.finance-content .news-list li {
  border-top: 1px solid #e6e6e6;
}
.finance-content .news-list li:last-child {
  border-bottom: 1px solid #e6e6e6;
}
.finance-content .news-list .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  padding: 20px 40px 20px 0;
  position: relative;
}
.finance-content .news-list .item:hover {
  opacity: 0.7;
}
.finance-content .news-list .item .date {
  font-family: "Lato", sans-serif;
  font-size: 14px;
  letter-spacing: 0.05em;
  color: #999;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.finance-content .news-list .item .txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  font-size: 16px;
  color: #1a1a1a;
  margin: 0;
}
.finance-content .news-list .item .pdf {
  position: absolute;
  right: 0;
  top: 50%;
  width: 22px;
  height: 22px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 750px) {
  .finance-content .news-list .item {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 8px;
    padding: 14px 30px 14px 0;
  }
  .finance-content .news-list .txt {
    font-size: 14px;
  }
}

@media screen and (max-width: 750px) {
  body#ir-governance {
    padding: 65px 0 0;
  }
}
.governance-content {
  padding: 60px 0 10px;
}
@media screen and (max-width: 750px) {
  .governance-content {
    padding: 40px 0 60px;
  }
}
.governance-content .inner {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}
.governance-content .layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 30px;
}
@media screen and (max-width: 750px) {
  .governance-content .layout {
    display: block;
  }
}
.governance-content .side {
  width: 220px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 750px) {
  .governance-content .side {
    width: 100%;
    margin-bottom: 40px;
  }
}
.governance-content .side .head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}
.governance-content .side .head .bar {
  display: block;
  width: 1px;
  height: 22px;
  background-color: #e6001a;
}
.governance-content .side .head .ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  letter-spacing: 0.05em;
  color: #1a1a1a;
  margin: 0;
}
.governance-content .side .lists > li > a,
.governance-content .side .lists > li > .parent {
  display: block;
  padding: 10px 4px;
  font-size: 16px;
  color: #1a1a1a;
}
.governance-content .side .lists > li > a:hover,
.governance-content .side .lists > li > .parent:hover {
  opacity: 0.7;
}
.governance-content .side .lists > li.is-active > a,
.governance-content .side .lists > li.is-active > .parent {
  color: #e6001a;
  font-weight: 500;
}
.governance-content .side .lists > li .sub {
  padding: 0 0 10px 12px;
}
.governance-content .side .lists > li .sub li a {
  display: block;
  padding: 6px 0;
  font-size: 13px;
  color: #999;
}
.governance-content .side .lists > li .sub li a:hover {
  opacity: 0.7;
  color: #e6001a;
}
.governance-content .main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.governance-content .sec-ttl {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 32px;
  color: #333;
  padding-bottom: 20px;
  margin: 0 0 60px;
  border-bottom: 1px solid #e6e6e6;
  position: relative;
}
.governance-content .sec-ttl::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 120px;
  height: 2px;
  background-color: #e6001a;
}
@media screen and (max-width: 750px) {
  .governance-content .sec-ttl {
    font-size: 22px;
    margin-bottom: 24px;
    padding-bottom: 14px;
  }
  .governance-content .sec-ttl::after {
    width: 70px;
  }
}
.governance-content .txt {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
@media screen and (max-width: 750px) {
  .governance-content .txt {
    font-size: 14px;
  }
}
.governance-content .blk-head {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #f2f2f2;
  padding: 15px 20px 16px 20px;
  margin: 60px 0 30px;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .governance-content .blk-head {
    padding: 10px 14px 10px 15px;
  }
}
.governance-content .blk-head:first-of-type {
  margin-top: 0;
}
.governance-content .blk-head .bar {
  position: absolute;
  left: 0;
  top: 15;
  bottom: auto;
  width: 3px;
  height: 25px;
  background-color: #e6001a;
}
@media screen and (max-width: 750px) {
  .governance-content .blk-head .bar {
    top: 10px;
    height: 18px;
  }
}
.governance-content .blk-head h2 {
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  font-weight: 500;
  color: #333;
  margin: 0;
}
@media screen and (max-width: 750px) {
  .governance-content .blk-head {
    padding: 10px 14px 10px 20px;
    margin: 40px 0 20px;
  }
  .governance-content .blk-head h2 {
    font-size: 18px;
  }
}
.governance-content .gov-block,
.governance-content .notice-block {
  margin-bottom: 100px;
}
.governance-content .doc-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16px;
  width: 278px;
  margin: 24px 0;
  padding: 14px 24px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 16px;
  letter-spacing: 0.05em;
  color: #333;
}
.governance-content .doc-btn:hover {
  opacity: 0.7;
}
.governance-content .doc-btn img {
  width: 14px;
  height: auto;
}
@media screen and (max-width: 750px) {
  .governance-content .doc-btn {
    width: 100%;
  }
}/*# sourceMappingURL=style.css.map */