@import url(https://fonts.googleapis.com/css?family=Pacifico);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/css?family=Josefin+Sans);
@font-face {
    font-family: 'icon';
    src: url(icon/fonts/icon.ttf);
}


/* reset */

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
    margin: 0;
    padding: 0;
}

address,
caption,
cite,
code,
dfn,
th,
var {
    font-style: normal;
}

ul {
    list-style: none;
}

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

caption,
th {
    text-align: left;
}

q:before,
q:after {
    content: '';
}

object,
embed {
    vertical-align: top;
}

legend {
    display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
}

img,
abbr,
acronym,
fieldset {
    border: 0;
}

body {
    font: 16px/1.6 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo, sans-serif;
    font-weight: normal;
    -webkit-text-size-adjust: 100%;
    overflow-x: hidden;
    color: #222;
    background: #fff;
    text-align: left;
    min-width: auto;
}

body,
table,
input,
textarea,
select,
option {
    font: 16px/1.6 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo, sans-serif;
}

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

a {
    color: #222;
    text-decoration: none;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

a:hover,
.active {
    color: #36c;
    text-decoration: underline;
}

a:active,
a:focus,
input:active,
input:focus {
    outline: 0;
}


/* ヘッダー
------------------------------------------------------------*/

#header .hlogo {
    width: 120px;
    float: left;
    margin: 5px 10px 0;
}

#header .hlogo img {
    width: 100%;
}

#mainnav ul li {
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
}

#mainnav ul li:hover,
#com:hover,
#bis:hover {
    background: #e3ebfb;
}

#mainnav {
    position: relative;
}

#mainnav ul li ul {
    position: absolute;
    top: 120px;
    right: 80px;
    width: 960px;
    background: rgba(227, 235, 251, 1.0);
    box-shadow: 0 32px 30px -30px rgba(53, 47, 47, 0.15);
    padding: 0 30px 0 50px;
    height: 0;
    overflow: hidden;
    transition: .5s;
}

#mainnav ul li:hover ul {
    height: auto;
    top: 120px;
    right: 80px;
    padding: 25px 30px 40px 50px;
    line-height: 1.6;
    overflow: visible;
}

#mainnav ul li ul li {
    display: inline-block;
    margin: 5px;
}

#mainnav ul li ul li a {
    width: 12em;
    min-width: 10em;
    padding: 12px 12px 12px 20px;
    margin: 2px;
    font-size: 16px;
    line-height: 2em;
    text-align: left;
    position: relative;
    border-bottom: 1px solid #fff;
    color: #36c;
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
}

#mainnav ul li ul li a:before {
    content: "+";
    position: absolute;
    left: 5px;
    color: #36c;
}

#mainnav ul li ul li a:hover {
    background: rgba(255, 255, 255, 0.8);
    color: #36c;
}

#mainnav ul li ul li a:hover:before {
    color: #36c;
}


/* フッター
------------------------------------------------------------*/

#footer {
    clear: both;
    background: #36c;
    color: #fff;
    padding: 50px 0 0;
    line-height: 1.2em;
}

#footer .copyright {
    padding: 30px 0;
    text-align: center;
    font-size: 12px;
    background: #fff;
    color: #222;
}

#footer .coll,
#footer .colr {
    width: 30%;
    min-width: 336px;
    padding-bottom: 3em;
}

#footer .colr {
    width: 70%;
    min-width: 620px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    text-align: right;
}

#footer .flogo {
    max-width: 88px;
    float: left;
    margin: 0 20px 30px 0;
}

#footer h3 {
    margin: 0 0 10px;
    padding: 0 0 0 80px;
    color: #FFF!important;
}

#footer .coll p {
    line-height: 1.5em;
    padding: 0 0 0 80px;
}

#footer .colr a {
    margin: 0 5px 5px;
}

#footer a img {
    margin: 0 0 5px;
}

#footer a:hover {
    opacity: 0.85;
}

#footer a img {
    max-width: 59px;
    vertical-align: middle;
}

#footer a.btn {
    color: #0066ff;
    text-decoration: none;
    background: #fff;
    border-radius: 30px;
    display: inline-block;
    padding: 27px 30px 30px 58px;
    font-size: 14px;
    font-weight: 400;
    line-height: 0;
    position: relative;
}

#footer a.btn:before {
    content: url(../images/common/icon_prv.png);
    display: inline-block;
    height: 20px;
    position: absolute;
    left: 24px;
    top: 14px;
}

#footer a.btn.map:before {
    content: url(../images/common/icon_map.png);
    display: inline-block;
}

#footer a.btn.qry:before {
    content: url(../images/common/icon_qb.png);
    display: inline-block;
}

#page_top {
    width: 50px;
    height: 60px;
    position: fixed;
    right: 1em;
    bottom: 1em;
    z-index: 100;
}

#page_top a {
    position: relative;
    display: block;
    width: 3.5rem;
    height: 3.5rem;
    text-decoration: none;
    opacity: 0.75;
}

#page_top a::before {
    content: '';
    margin: auto;
    background: url(../images/common/gotop.png) no-repeat;
    display: block;
    width: 3.5rem;
    height: 3.5rem;
    background-size: contain;
}

#page_top a:hover {
    opacity: 0.95;
}


/* common
------------------------------------------------------------*/

.wrap1 {
    clear: both;
    width: 100%;
    margin: 0 auto;
}

img {
    width: 100%;
    height: auto;
}

section {
    clear: both;
}

section h2 {
    font-size: 36px;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-align: center;
    color: #36c;
    padding: 2em 0 1.4em;
}

.row {
    clear: both;
    width: 100%;
    display: flex;
}

.sub .wrap1 .row {
    margin: 0 -10px;
}

.col2,
.col3,
.col4 {
    display: inline-block;
}

.col2 {
    width: 50%;
    margin: 0 10px;
}

.col2.mg5 {
    margin: 0 5px;
}

.col3 {
    width: 33%;
    margin: 0 10px;
}

.col4 {
    width: 25%;
    margin: 0;
}

.effect-fade {
    opacity: 0;
    transform: translate(0, 45px);
    transition: all 500ms;
}

.effect-fade.effect-scroll {
    opacity: 1;
    transform: translate(0, 0);
}

.clearfix::after {
    content: "";
    display: block;
    clear: both;
}


/* loding
---------------------------------*/


/* 非表示 */

.is-hide {
    display: none;
}


/* ローディング画面をフェードアウト */

.fadeout-bg {
    transition-property: opacity;
    transition-delay: .9s;
    transition-duration: .8s;
    opacity: 0;
    pointer-events: none;
}


/* ローダーをフェードアウト */

.fadeout-loader {
    transition-property: opacity;
    transition-delay: .9s;
    transition-duration: .3s;
    opacity: 0;
    pointer-events: none;
}


/* ローディング画面 */

#loader-bg {
    background: #ffffff;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 900;
}

#loader {
    height: 120px;
    left: 50%;
    margin-left: -60px;
    margin-top: -60px;
    position: fixed;
    top: 50%;
    width: 120px;
}

#loader p {
    color: #454545;
    font-size: 10px;
    line-height: 1.4;
    text-align: center;
}

#loader p img {
    display: inline-block;
}


/* トップページ
------------------------------------------------------------*/

.topmain {
    background: #fff;
}

#mainv {
    position: relative;
    overflow: hidden;
    width: auto;
    height: 770px;
}

#mainv img {
    width: auto;
    height: 770px;
    margin-left: 50%;
    transform: translateX(-50%)
}

#slogan {
    position: absolute;
    top: 57%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    color: #fff;
    line-height: 1.2;
    text-align: center;
    width: 100%;
}

#slogan h1 {
    font-size: 77px;
    margin-bottom: 20px;
    font-weight: 500;
    line-height: 1.0em;
}

#slogan .your {
    width: auto;
    height: 1.15em;
    margin-top: 0.125em;
    margin-left: 1.05em;
    margin-bottom: -0.4em;
    margin-right: -1.5em;
    line-height: 0;
    display: inline-block;
}

#slogan h2 {
    font-size: 16px;
    font-weight: normal;
    line-height: 1.5em;
    padding-top: 15px;
}

#slogan p a {
    display: block;
    background: rgba(255, 255, 255, 0.8);
    padding: 15px 30px;
    border-radius: 50px;
    border: 1px solid #fff;
    width: 20em;
    margin: 1em auto;
    font-size: 30px;
    font-weight: 400;
    color: #36c;
    letter-spacing: 0.05em;
    position: relative;
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
}

#slogan p a::after {
    position: absolute;
    content: "";
    top: 50%;
    right: 15px;
    width: 30px;
    height: 30px;
    margin-top: -16px;
    background: url(../images/common/arrow01r.png) top left no-repeat;
    background-size: 30px 30px;
}

#slogan p a:hover {
    text-decoration: none;
    opacity: 1;
    background: rgba(51, 102, 204, 0.9);
    color: #fff;
}

#slogan p a:hover::after {
    background: url(../images/common/arrow02.png) top left no-repeat;
    background-size: 30px 30px;
}


/* new Slider */

.slogan {
    position: absolute;
    top: 57%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    color: #fff;
    line-height: 1.2;
    text-align: center;
    width: 100%;
}

.slogan h1 {
    font-size: 77px;
    margin-bottom: 20px;
    font-weight: 500;
    line-height: 1.0em;
}

#mainv .slogan .your {
    width: auto;
    height: 1.15em;
    margin-top: 0.125em;
    margin-left: 1.05em;
    margin-bottom: -0.4em;
    margin-right: -1.5em;
    line-height: 0;
    display: inline-block;
}

.slogan h2 {
    font-size: 16px;
    font-weight: normal;
    line-height: 1.5em;
    padding-top: 15px;
}

.slogan p a {
    display: block;
    background: rgba(255, 255, 255, 0.8);
    padding: 15px 30px;
    border-radius: 50px;
    border: 1px solid #fff;
    width: 20em;
    margin: 1em auto;
    font-size: 30px;
    font-weight: 400;
    color: #36c;
    letter-spacing: 0.05em;
    position: relative;
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
}

.slogan p a::after {
    position: absolute;
    content: "";
    top: 50%;
    right: 15px;
    width: 30px;
    height: 30px;
    margin-top: -16px;
    background: url(../images/common/arrow01r.png) top left no-repeat;
    background-size: 30px 30px;
}

.slogan p a:hover {
    text-decoration: none;
    opacity: 1;
    background: rgba(51, 102, 204, 0.9);
    color: #fff;
}

.slogan p a:hover::after {
    background: url(../images/common/arrow02.png) top left no-repeat;
    background-size: 30px 30px;
}


/* End new slider */

.fadein {
    opacity: 0;
    animation: fadein 0.5s ease forwards;
}

@keyframes fadein {
    100% {
        opacity: 1;
    }
}

.txt01 {
    animation-delay: 0.25s;
}

.txt02 {
    animation-delay: 1.0s;
}

.txt03 {
    animation-delay: 2.5s;
}

.txt04 {
    animation-delay: 4.0s;
}

#pickup {
    background: #fff;
    padding-bottom: 50px;
}

#pickup div.topics {
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    background: #fff;
    position: relative;
    padding: 1.5em 2em;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    margin-top: 50px;
    margin-bottom: -40px;
    font-size: 18px;
}

#pickup div.topics div.cate {
    display: inline-block;
    font-size: 24px;
    background: #36c;
    color: #fff;
    margin-left: -2.5em;
    margin-right: 1em;
    position: absolute;
    top: 20%;
    width: 5.5em;
    text-align: center;
    padding: 0.2em;
}

#pickup div.topics p.ttl {
    display: inline-block;
    line-height: 1.6em;
    padding-top: 10px;
}

#pickup div.topics div.dt {
    margin-left: 5.5em;
    margin-right: 1em;
    display: inline-block;
    background: #fff;
    color: #36c;
    vertical-align: top;
}

#pickup div.topics div.nm {
    display: inline-block;
    width: calc(100% - 12em);
}

#pickup div.topics a {
    display: block;
}

#pickup div.topics a:after {
    content: "";
    background: url(../images/common/arrow03.png) no-repeat right;
    background-size: contain;
    display: inline-block;
    width: 18px;
    height: 18px;
    position: absolute;
    top: 38%;
}

#pickup .wrap1 {
    width: 990px;
    margin: 0 auto;
}

section#pickup h2 {
    font-size: 40px;
}

.metaslider .flexslider .flex-direction-nav li a:before {
    content: none!important;
}

#pickup .metaslider .flexslider .flex-direction-nav li a {
    width: 44px;
    height: 44px;
    margin: 0 0;
    box-shadow: none!important;
    display: block;
    background-color: transparent;
    background: url(../images/common/arrow01r.png) no-repeat;
    position: absolute;
    top: 35%;
    z-index: 10;
    cursor: pointer;
    text-indent: -9999px;
    opacity: 1;
}

#pickup .metaslider .flexslider .flex-direction-nav li a.flex-prev {
    background: url(../images/common/arrow01l.png) no-repeat;
}

#pickup .metaslider .flex-direction-nav .flex-next {
    background-position: left 0;
}

#pickup .metaslider .flex-direction-nav .flex-next {
    background-position: right 0;
    text-align: left;
    /* Fix for single character text */
    text-indent: 9999px;
}

#pickup .metaslider .flexslider:focus-within .flex-next,
#pickup .metaslider .flexslider:hover .flex-next {
    opacity: 0.8;
    right: -50px!important;
}

#pickup .metaslider .flexslider:focus-within .flex-prev,
#pickup .metaslider .flexslider:hover .flex-prev {
    opacity: 0.8;
    left: -50px;
    /* Fix for single character text */
    text-indent: -9999px;
}

#pickup .metaslider .flexslider .flex-next:focus,
#pickup .metaslider .flexslider .flex-prev:focus {
    opacity: 0.8;
}

#pickup .metaslider .flexslider .flex-direction-nav .flex-disabled {
    cursor: default;
    pointer-events: none;
}

#pickup .metaslider .flexslider .flex-control-nav a {
    box-shadow: none !important;
}

#pickup .metaslider .flexslider .flex-control-nav a:focus {
    outline: -webkit-focus-ring-color auto 5px;
}

#pickup .metaslider .flexslider .slides>li {
    position: relative;
}

#pickup .flex-direction-nav .flex-next {
    right: -50px;
}

#pickup .flex-direction-nav .flex-prev {
    left: -50px;
}

#pickup .flex-control-paging li a {
    width: 14px;
    height: 14px;
    display: block;
    background: #36c;
    opacity: 0.5;
    cursor: pointer;
    text-indent: -9999px;
    -o-box-shadow: inset 0 0 3px rgba(0, 0, 0, .3);
    box-shadow: inset 0 0 3px rgba(0, 0, 0, .3);
    border-radius: 20px;
}

#pickup .flex-control-paging li a.flex-active {
    opacity: 1.0;
}

#pickup a:hover img {
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

#pickup a:hover img {
    opacity: 0.8;
}

#plus_u {
    background: url(../images/top/bgplsu.jpg) no-repeat;
    background-position: center bottom;
    padding-bottom: 100px;
}

#plus_u p {
    text-align: justify;
    text-justify: inter-ideograph;
    text-justify: inter-character;
}

#plus_u p.plead {
    width: 90%;
    margin: 0 auto;
    padding-bottom: 5em;
    line-height: 1.8em;
}

section#plus_u h2 {
    font-size: 30px;
    padding: 2.8em 0 1.5em;
}

#plus_u h3 {
    font-size: 44px;
    color: #36c;
    margin: 1em 0 0 50px;
}

#plus_u h3 img.plusu {
    width: 2.0em;
    height: 1.25em;
    margin-left: 10px;
    margin-bottom: -5px;
}

.plus_us,
.plus_uk {
    padding: 0;
    margin-left: -50px;
    margin-right: -50px;
    height: 685px;
    background: url(../images/top/bgsumai.jpg) no-repeat #fff;
    background-position: center bottom;
}

.plus_uk {
    height: 665px;
    background: url(../images/top/bgkurashi.jpg) no-repeat #fff;
    background-position: center bottom;
}

.plus_us p,
.plus_uk p {
    margin: 1em 0 0 50px;
    line-height: 1.8em;
}

ul.lnkpls {
    margin-top: 65px;
}

.plus_uk ul.lnkpls {
    margin-top: 80px;
}

ul.lnkpls li {
    display: inline-block;
    width: 48%;
    padding: 0;
}

ul.lnkpls li a {
    display: block;
    height: 190px;
    background: #36c;
    opacity: 0.9;
    margin: 0 5px 10px;
    padding: 2.5em 0;
    text-align: center;
    color: #fff;
    font-size: 22px;
    font-weight: 400;
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
}

ul.lnkpls li a span {
    display: block;
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.05em;
    margin-top: 1em;
}

ul.lnkpls li a:hover {
    text-decoration: none;
    opacity: 1.0;
}

ul.lnkpls li.buy a:hover {
    background: url(../images/top/pbuy.jpg) no-repeat;
    background-size: cover;
}

ul.lnkpls li.sale a:hover {
    background: url(../images/top/psale.jpg) no-repeat;
    background-size: cover;
}

ul.lnkpls li.rent a:hover {
    background: url(../images/top/prent.jpg) no-repeat;
    background-size: cover;
}

ul.lnkpls li.build a:hover {
    background: url(../images/top/pbuild.jpg) no-repeat;
    background-size: cover;
}

ul.lnkpls li.reform a:hover {
    background: url(../images/top/preform.jpg) no-repeat;
    background-size: cover;
}

ul.lnkpls li.real a:hover {
    background: url(../images/top/prealestate.jpg) no-repeat;
    background-size: cover;
}

ul.lnkpls li.hoiku a:hover {
    background: url(../images/top/phoiku.jpg) no-repeat;
    background-size: cover;
}

ul.lnkpls li.senior a:hover {
    background: url(../images/top/psenior.jpg) no-repeat;
    background-size: cover;
}

ul.lnkpls li.hoken a:hover {
    background: url(../images/top/phoken.jpg) no-repeat;
    background-size: cover;
}

ul.lnkpls li.sisan a:hover {
    background: url(../images/top/pshisan.jpg) no-repeat;
    background-size: cover;
}

#view_u .row {
    margin: 0;
    background: #666;
}

#view_u h3 {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    padding: 35% 0 0;
    color: #fff;
    background: rgba(1, 24, 41, 0.6);
    width: 100%;
    height: 100%;
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
    line-height: 1.6;
    font-size: 24px;
    font-weight: 400;
}

#view_u h3 span {
    display: block;
    font-size: 18px;
}

#view_u .col4 {
    text-align: center;
    position: relative;
}

#view_u .col4 a {
    line-height: 1.0;
    display: block;
}

#view_u h3:hover {
    background: rgba(0, 0, 0, 0.1);
}

#news {
    padding: 2em 0 5em;
}

#news dl {
    width: 90%;
    margin: 0 auto 20px;
    border-bottom: 1px solid #ccc;
}

#news dl dt {
    display: inline-block;
    float: left;
    width: 32%;
    min-width: 270px;
    padding: 5px 0;
    border-top: 1px solid #ccc;
}

#news dl dt span {
    display: inline-block;
    width: 14em;
    text-align: center;
    line-height: 1.0;
    border: 1px solid #36c;
    color: #36c;
    margin: 7px 0 0 15px;
    padding: 3px 0;
}

#news dl dd {
    border-top: 1px solid #ccc;
    padding: 10px 0 20px 0;
    margin-left: 32%;
    text-align: justify;
    text-justify: inter-ideograph;
    text-justify: inter-character;
}

#news p {
    clear: both;
}

a.lnkmore01 {
    display: block;
    background: #36c;
    color: #fff;
    text-align: center;
    padding: 15px 20px;
    border-radius: 50px;
    width: 15em;
    margin: 20px auto;
    letter-spacing: 0.05em;
}

.lnkmore01:hover,
.photoBox a:hover,
.mapLink a:hover {
    text-decoration: none;
    background: #02346d;
    color: #fff;
}

#blog {
    background: #eaeffa;
    display: flex;
    padding: 5em 0 7.5em;
}

#blog .row {
    margin-bottom: 20px;
}

#blog .blogtitle {
    width: 450px;
}

#blog .blogtitle.blog01 {
    background: url(../images/top/blog01.jpg) no-repeat;
    background-position: right;
}

#blog .blogtitle.blog02 {
    background: url(../images/top/blog02.jpg) no-repeat;
    background-position: right;
}

#blog .blogtitle.blog03 {
    background: url(../images/top/blog03.jpg) no-repeat;
    background-position: right;
}

#blog .blogtitle.blog04 {
    background: url(../images/top/blog04.jpg) no-repeat;
    background-position: right;
}

#blog .blogtitle h2 {
    text-align: left;
    font-size: 22px;
    padding: 25px 30px;
    margin: 0;
}

#blog .blogtitle h2 a {
    color: #021d55;
}

#blog .blogtitle h2 a:hover {
    color: #36c;
    text-decoration: none;
}

#blog .blogtitle h2 a::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
    margin-top: -4px;
    width: 30px;
    height: 30px;
    background: url(../images/common/arrow02.png) no-repeat;
    background-size: contain;
    vertical-align: middle;
}

#blog .blogline {
    width: 750px;
    background: #fff;
    padding: 10px 0;
}

#blog .blogline li {
    padding: 3px 0px;
    width: 98%;
    height: 1.75em;
    overflow: hidden;
}

#news dd a,
#blog .blogline li a {
    color: #222;
}

#news dd a:hover,
#blog .blogline li a:hover {
    color: #36c;
}

#blog .blogline li span {
    display: inline-block;
    width: 10em;
    text-align: center;
    font-size: 14px;
    line-height: 1.0;
    border: 1px solid #36c;
    color: #36c;
    margin: 0 15px;
    padding: 3px 0;
}

#blog .blogline p {
    padding: 15px 35px 10px 35px;
}

#blog .blogline .lnkmore01 {
    margin: 0 auto;
    width: 12em;
    color: #fff;
}


/* 下層共通
------------------------------------------------------------*/

.sub div.ttl {
    background: url(../images/common/ttl_u.jpg) no-repeat center bottom;
    background-size: cover;
    width: 100%;
    height: 480px;
    text-align: center;
    color: #fff;
    letter-spacing: 0.125rem;
}

.sub .ttl h1 {
    padding-top: 200px;
    padding-bottom: 20px;
    font-size: 36px;
    font-weight: 400;
}

.sub .ttl h1.jp {
    padding-top: 230px;
}

.sub .ttl h1:after {
    content: '';
    position: absolute;
    left: 50%;
    display: inline-block;
    width: 200px;
    height: 1px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #fff;
}

.sub .ttl h1 span {
    display: block;
    font-size: 14px;
    padding-bottom: 10px;
}

.sub .ttl h1 p {
    display: block;
    font-size: 16px;
    line-height: 1.5rem;
}

.bnavi {
    font-size: 14px;
    padding: 1rem 0 2rem;
}

.bnavi li {
    display: inline;
}

.bnavi li::before {
    content: "＞";
    padding-left: 0.5em;
    margin-right: 0.5em;
}

.bnavi li:first-child::before {
    content: "";
    padding-left: 0;
    margin-right: 0;
}

.content {
    padding-bottom: 5rem;
}

.content h2 {
    font-size: 40px;
    color: #36c;
    text-align: center;
    font-weight: 400;
    letter-spacing: 0.125rem;
    padding: 0 0 1.5em;
}

.content p.obi_h2 {
    text-align: center;
}

.content p.obi_h2 span {
    color: #36c;
    text-align: center;
    background: #eaeffa;
    padding: 2px 1em 3px;
    font-weight: 400;
    font-size: 18px;
}

h2.btmbdr strong {
    font-size: 20px;
    color: #222;
    display: block;
    font-weight: 400;
    margin: 2em 0em 1em;
}

h2.btmbdr:after {
    content: '';
    position: absolute;
    left: 50%;
    display: inline-block;
    width: 200px;
    height: 1px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #36c;
}

.content h2.btmbdr {
    padding: 0 0 1em;
}

.content h3 {
    clear: both;
    font-size: 20px;
    color: #36c;
    text-align: left;
    font-weight: 400;
    letter-spacing: 0.125rem;
    padding: 0.7em 0.5em;
    background: #eaeffa;
    margin: 0 0 2em;
}

.content .frm01 {
    display: block;
    border: 1px rgba(51, 102, 204, 0.28) solid;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    background: #fff;
}

.content .col2 .frm01 h3 {
    clear: both;
    font-size: 20px;
    color: #fff;
    font-weight: 400;
    padding: 0.3em 0.5em;
    background: #36c;
    text-align: center;
    margin: -10px 4em 0;
    position: relative;
}

p {
    font-size: 16px;
    line-height: 1.75em;
}

p.fz12 {
    font-size: 12px;
}

.wrap1 p {
    text-align: justify;
    text-justify: inter-ideograph;
    text-justify: inter-character;
}

.wrap1 .ld01 {
    text-align: center;
    padding-bottom: 4em;
}

.ld02 p {
    padding-bottom: 1em;
}

.ld02 p strong {
    font-size: 20px;
    color: #36c;
    font-weight: 400;
}

.lnkpage a,
.lnkdown a {
    display: block;
    margin: 10px auto;
    padding: 1em;
    border: 2px solid #36c;
    color: #36c;
    text-align: center;
    width: 70%;
    position: relative;
    font-weight: 400;
}

.lnkdown.lnkblue a {
    border: 2px solid #20448c;
    color: #fff;
    background: #20448c;
}

.lnkpage a {
    color: #222;
    text-align: left;
    width: 90%;
    max-width: 1000px;
}

.lnkpage a:after,
.lnkdown a:before {
    content: "";
    background: url(../images/common/arrow03.png) no-repeat right;
    background-size: contain;
    display: inline-block;
    width: 18px;
    height: 18px;
    position: absolute;
    top: 32%;
    left: 20px;
    transform: rotate(90deg);
}

.lnkdown.lnkblue a:before {
    background: url(../images/common/arroww.png) no-repeat right;
    top: 35%;
    left: 40px;
    transform: rotate(0deg);
}

.lnkpage a:after {
    left: auto;
    right: 1em;
    transform: rotate(0deg);
}

.lnkpage a:hover,
.lnkdown a:hover {
    background: #eaeffa;
    text-decoration: none;
}

.lnkdown.lnkblue a:hover {
    background: #36c;
}

.btnLink a,
.link a,
.lnk01 {
    display: block;
    background: #36c;
    color: #fff!important;
    font-size: 18px;
    font-weight: 400;
    text-align: center;
    padding: 15px 20px;
    border-radius: 50px;
    width: 20em;
    max-width: 90%;
    margin: 2em auto 1em;
    letter-spacing: 0.05em;
}

.btnLink a:hover,
.link a:hover,
.contact .formList dd.action .submitBtn:hover,
.lnk01:hover {
    text-decoration: none;
    background: #02346d;
    color: #fff;
}

.txtred {
    font-size: 28px;
    font-weight: 500;
    color: #e65400;
    line-height: 1.0;
}

.txtbl {
    color: #36c;
}

.txt14 {
    font-size: 14px;
}

.txt18 {
    font-size: 18px;
}

.wrap1 .txtr {
    text-align: right;
}

.wrap1 .txtc {
    text-align: center;
}

.sub p a,
.editable a {
    color: #36c;
}

.sub strong {
    /*color:#36c;*/
    font-weight: 500;
}

div.w1000,
.frm01.w1000 {
    width: 90%;
    max-width: 1000px;
    margin: 2em auto;
}

.frm01.w80 {
    width: 80%;
    margin: 2em auto;
}

.box_contact {
    clear: both;
    margin: 5rem auto;
    padding: 2em;
    border: 2px solid #36c;
    text-align: center;
    width: 90%;
    max-width: 780px;
}

.box_contact p {
    text-align: center;
}

.box_contact span {
    display: block;
    font-weight: 500;
    margin: 0.25em;
}

.box_contact span.txtttl,
.box_contact span.txtml,
.box_contact span.txttel {
    color: #36c;
    font-size: 18px;
}

.box_contact span.txtadd {
    font-size: 18px;
    margin: 1em 0 0.5em;
}

.box_contact span.txtshop,
.box_contact span.txttel {
    font-size: 24px;
}

.box_contact span.txtshop {
    margin: 1em 0 0.5em;
}

.pconly {
    display: block;
}

.mbonly {
    display: none;
}

span.mbbr {
    display: inline-block;
}

br.sp {
    display: none;
}

.content ul.mark01 {
    margin-bottom: 1em;
}

.content ul.mark01 li {
    position: relative;
    padding: 0 0 0.5em 1.5em;
    margin-left: 0.25em;
}

.content ul.mark01 li:before {
    position: absolute;
    content: '';
    top: 0.5em;
    left: 0.2em;
    height: 0;
    width: 0;
    border-style: solid;
    border-width: 4px 0 4px 9px;
    border-color: transparent transparent transparent #36c;
}

div.w1100,
table.w1100 {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto 1em;
}

table.w1100 th,
table.w1100 td {
    border: 1px solid #ccc;
    border-collapse: collapse;
    font-weight: normal;
    padding: 10px 1em;
}

div.w1100.w70 {
    width: 70%;
}

div.w1100.w70 a.lnk01 {
    width: 16em;
}


/*------------------------------------------------------------
	旧テンプレート対応
------------------------------------------------------------*/

.def .editable {
    width: 90%;
    max-width: 980px;
    margin: 0 auto;
}

#main.custom img,
.def .editable img {
    width: auto;
    max-width: 100%;
}

.def .editable p {
    margin-bottom: 2em;
}

.headLine02 .subBoxTitle {
    padding: 100px 20px 10px;
    color: #fff;
    font-weight: normal;
    background: none;
    text-align: center;
    width: 100%;
}

.headLine02 p {
    padding: 0 20px 10px;
    color: #fff;
    font-size: 16px;
    line-height: 1.8;
    background: none;
    width: 100%;
    text-align: center;
}

#main.custom {
    padding-bottom: 3em;
}

#main.custom .headLine02 {
    margin: 0 0 112px;
    background: url(../images/common/ttl_u.jpg) no-repeat center bottom;
    background-size: cover;
    width: 100%;
    height: 480px;
}

#main.custom .headLine02 .subBox,
#main.custom #content {
    width: 90%;
    max-width: 980px;
}

#main.custom .bnavi {
    font-size: 14px;
    padding: 1rem 0 2rem;
    position: absolute;
    left: 0;
    top: 480px;
    background: none;
    width: 100%;
}

#main.custom #form .bnavi .wrap1 {
    padding: 0em 0 2em;
    background: none;
}


/*------------------------------------------------------------
	pageNavi
------------------------------------------------------------*/

.pageNavi {
    margin: 120px 0 0;
    text-align: center;
}

.pageNavi li {
    margin: 0 4px;
    display: inline-block;
    vertical-align: middle;
    font-size: 16px;
    font-weight: 400;
}

.pageNavi li a {
    padding: 0px 1px 3px;
    min-width: 26px;
    height: 25px;
    display: inline-block;
    color: #fff;
    text-align: center;
    background-color: #36c;
}

.pageNavi li span {
    padding: 5px 0 0 10px;
    height: 25px;
    display: inline-block;
    text-align: center;
    background: none;
}

.pageNavi li a:hover,
.pageNavi .on a {
    text-decoration: none;
    background-color: #eaeffa;
    color: #36c;
}

.pageNavi li a:hover img {
    filter: alpha(opacity=70);
    opacity: 0.7;
}

.pageNavi .prev {
    /*	margin-left: 10px;
	height: 25px;
}
.pageNavi .next {
	margin-right: 10px;
	height: 25px;*/
}

.pageNavi .prev a,
.pageNavi .next a {
    width: 25px;
    height: 25px;
    background: none;
    padding: 4px;
}

.pageNavi .prev a img,
.pageNavi .next a img {
    opacity: 0;
    display: none;
}

.pageNavi .next a {
    background: url(../images/common/arrow03.png) no-repeat #fff 4px 4px;
    margin: 0 5px 0 10px;
    display: block;
}

.pageNavi .prev a {
    background: url(../images/common/arrow03.png) no-repeat #fff 4px 4px;
    margin: 0 10px 0 5px;
    display: block;
    transform: rotate(180deg);
}

.pageNavi .prev a:hover,
.pageNavi .next a:hover {
    background: url(../images/common/arrow03.png) no-repeat #fff 4px 4px;
    opacity: 0.6;
}


/* COMPANY
------------------------------------------------------------*/

.sub.company .ttl {
    background: url(../images/company/ttlcompany.jpg) no-repeat center bottom;
    background-size: cover;
}

dl.line01 {
    margin: 0 100px;
}

dl.line01 dt,
dl.line01 dd {
    box-sizing: border-box;
    display: block;
    border-top: 1px solid #ccc;
    padding: 1em 0 1em 0.5em;
    line-height: 1.5rem;
    letter-spacing: 0.05rem;
}

dl.line01 dt {
    float: left;
    clear: left;
    width: 25%;
    color: #36c;
    border-top: 1px solid #36c;
}

dl.line01 dt:first-child,
dl.line01 dd:nth-child(2) {
    border: none;
}

dl.line01 dd {
    float: left;
    width: 75%;
}

dl.line01.mline dt {
    border: none;
    width: 18%;
    text-align: right;
    padding: 0.75em 3em 0.75em 0.5em;
    font-weight: 500;
}

dl.line01.mline dd {
    border: none;
    width: 80%;
    padding: 0.75em 0.5em;
}

dl.line01 dt span {
    display: inline-block;
    width: 5em;
    text-align: left;
    float: left;
}

dl.line01.mline dt.line {
    border-top: 1px solid #36c;
}

dl.line01.mline dd.line {
    border-top: 1px solid #ccc;
}

.company .phbox {
    display: block;
    width: 22%;
    max-width: 264px;
    float: left;
    margin-left: 10px;
}

.company .greeting .frm01 {
    max-width: 950px;
    width: 80%;
    float: right;
    margin-top: 1em;
    margin-left: -10px;
    margin-bottom: 5rem;
    padding-bottom: 4rem;
    z-index: 10;
}

.company .frm01 p {
    padding: 2rem 3rem 0rem;
    letter-spacing: 0.05rem;
}

.company .frm01 p.ld {
    font-size: 24px;
    color: #36c;
    font-weight: 500;
}

.company .frm01 p.dname {
    font-weight: 500;
    text-align: right;
    padding: 0 3em 1.5em;
}

.company .frm01 p.dname span {
    font-size: 1.2em;
}

.content .bis .frm01 {
    width: 100%;
    margin-bottom: 4em;
}

.content .bis .frm01 h3 {
    clear: both;
    background: #36c;
    margin: -10px 1em 0;
    padding: 0;
    position: relative;
}

.content .bis .frm01 h3 a {
    color: #fff;
    font-size: 20px;
    text-align: left;
    font-weight: 400;
    display: inline-block;
    padding: 0.75em 0.5em 1em 1em;
    width: 100%;
}

.content .bis .frm01 h3 a:hover {
    text-decoration: none;
    background: #02346d;
    color: #fff;
}

.content .bis .frm01 h3::after {
    content: "";
    background: url(../images/common/arrow02.png) no-repeat right;
    background-size: contain;
    display: inline-block;
    width: 36px;
    height: 36px;
    position: absolute;
    top: 48%;
    right: 10px;
    margin-top: -17px;
}

.content .bis .frm01 h3.l2 a {
    padding: 0.5em 0.5em 0.6em 1em;
    line-height: 1.15em;
}

.content .bis .frm01 h3 span {
    display: block;
    font-size: 0.9em;
}

.content .bis .frm01 h3.smpl2 span {
    display: inline-block;
}

.company .bis .frm01 p {
    padding: 1em 1.5em 1.5em;
    letter-spacing: 0.0em;
}

.company .bis .frm01 img {
    width: 88%;
    margin: 0em 6% 1em;
}


/* SENIOR
------------------------------------------------------------*/

.sub.senior .ttl {
    background: url(../images/senior/ttl_senior.jpg) no-repeat center bottom;
    background-size: cover;
}

.lnkpage img.ph {
    float: left;
    max-width: 250px;
}

.lnkpage p.txtarea {
    float: right;
    max-width: 640px;
    margin-right: 50px;
    line-height: 1.5em;
}

a.clearfix {
    overflow: hidden;
}

.lnkpage p.txtarea img {
    max-width: 471px;
    margin-bottom: 1em;
}

.link.lc a {
    color: #fff;
    width: 90%;
    max-width: 30em;
    margin-bottom: 4em;
}

.frm01 .col3 {
    color: #36c;
    padding-top: 4em;
    font-size: 18px;
    font-weight: 400;
}

.frm01 .col3 p {
    text-align: center;
}

.frm01 .collist {
    width: 64%;
    float: left;
    padding: 1.5em 0;
}

.frm01 .collist ul li {
    list-style-type: disc;
    line-height: 2em;
}

.senior .contentBox {
    margin: 0 0 3em;
}

.senior .contentBox p {
    margin: 0 0 1em;
}

.senior .contentBox p.catchText {
    font-size: 1.2em;
}

.senior .consultingBox dt {
    margin-bottom: 1em;
    color: #36c;
    font-weight: 500;
    border-bottom: 1px solid #36c;
}

.senior .consultingBox dd,
.senior .facilityBox dd {
    margin-bottom: 2em;
}

.senior .consultingBox li,
.senior .facilityBox li {
    list-style-type: disc;
    margin: 0 0 0.5em 2em;
}

.senior .consultingBox span.point {
    background: -moz-linear-gradient(transparent 80%, #eaa9bbab 80%);
    background: -ms-linear-gradient(transparent 80%, #f9ccd8 80%);
    background: -webkit-linear-gradient(transparent 80%, #eaa9bbab 80%);
    background: linear-gradient(transparent 80%, #eaa9bbab 80%);
}

.senior .consultingBox p.answer {
    border: 1px solid #ccc;
    margin: 1em;
    padding: 1em 2em;
}

.senior .contentBox img {
    width: auto;
    margin-bottom: 2em;
}

.senior .facilityBox dt {
    margin-bottom: 1em;
    display: inline-block;
    background: #36c;
    padding: 2px 20px;
    color: #fff;
    border-radius: 5px;
}

.senior .jireiBox .catchText {
    border: 1px solid #36c;
    padding: 20px;
    font-size: 1em;
    margin-bottom: 2em;
}


/* ASSET
------------------------------------------------------------*/

.sub.asset .ttl {
    background: url(../images/asset/ttlasset.jpg) no-repeat center bottom;
    background-size: cover;
}

.content .asset .frm01 {
    margin-bottom: 3em;
}

.content .asset .frm01 p {
    margin: 2em;
}

.content .asset .frm01 ul.lstbg02 {
    margin: 0 2em 2em;
}

.content .asset .frm01 ul.lstbg02 li {
    background: #edeee1;
    margin: 5px 0 0;
    border: 2px solid #fff;
    padding: 0.25em 0.5em;
    color: #022d82;
    display: inline-block;
    width: 100%;
}

.content .asset .frm01 ul.lstbg02 li.short {
    width: 49%;
}

.content .asset .frm01 ul.lstbg02 li.short.rt {
    float: right;
}

.content .asset h3.pt {
    padding: 0.75em 0.5em 0.75em 0;
}

.content .asset h3.pt span {
    display: inline-block;
    background: #36c;
    color: #fff;
    position: relative;
    padding: 0.75em 0 0.75em 0.75em;
    margin-top: -18px;
    margin-bottom: -15px;
    margin-right: 2em;
    height: 100%;
}

.content .asset h3.pt span::after {
    display: inline-block;
    content: ' ';
    overflow: hidden;
    position: absolute;
    left: 99.9%;
    top: 0px;
    border: 0 solid transparent;
    border-width: 0px 0px 3.1em 1.5em;
    border-left-color: #36c;
}

.content .asset .ld02 {
    padding: 0 10px;
}

.content .asset .frm01.zu img {
    margin: 2em auto;
    width: 90%;
    display: block;
    max-width: 486px;
}

.content .asset .pt2 .frm01 {
    width: 90%;
    max-width: 1000px;
    margin: 1.5em auto 0;
}

.content .asset .pt2 .frm01 div {
    padding-bottom: 1.5em;
}

.content .asset .pt2 .frm01 img {
    float: left;
    width: 25%;
    max-width: 240px;
    margin: 1em;
}

.content .asset .pt2 strong {
    color: #36c;
    font-size: 18px;
    font-weight: 400;
    display: block;
    margin: 0.75em 0 0.5em;
}

.content .asset .pt2 .frm01 div {
    float: left;
    width: 70%;
    max-width: 700px;
    padding: 0 10px 1.5em;
}

.content .asset .pt2 .frm01 ul.mark01 li {
    position: relative;
    padding-left: 1.2em;
}

.content .asset .pt2 .frm01 ul.mark01 li:before {
    position: absolute;
    content: '';
    top: 0.5em;
    left: 0.2em;
    height: 0;
    width: 0;
    border-style: solid;
    border-width: 4px 0 4px 9px;
    border-color: transparent transparent transparent #36c;
}


/* BRAND
------------------------------------------------------------*/

.sub.brand .ttl {
    background: url(../images/brand/ttlbrand.jpg) no-repeat center bottom;
    max-width: 1200px;
    margin: 0 auto;
}

.content.brand .frm01 {
    height: 12em;
    margin-bottom: 3em;
}

.content.brand .frm01 h3 {
    clear: both;
    font-size: 20px;
    color: #fff;
    text-align: center;
    font-weight: 400;
    padding: 0.25em 0.5em 0.25em 1em;
    background: #36c;
    margin: -10px 1em 0;
    position: relative;
}

.content.brand .frm01 p {
    margin: 1em 1.5em
}

.brand h2 {
    font-size: 30px;
    padding: 0 0 1em;
}

.plsu {
    display: inline-block;
    width: 1.9em;
    height: auto;
    margin-right: 8px;
    vertical-align: -6px;
}

.br_ld {
    width: 75%;
    margin: 1em auto 0;
    letter-spacing: 0.01em;
}

.br_ld strong {
    color: #36c;
    font-size: 20px;
    font-weight: 500;
    margin: 0 0 1em -1em;
    display: block;
}

.br_ld p {
    margin: 0 0 2em 0;
}

.br_ld p span {
    display: inline-block;
    color: #fff;
    text-align: center;
    font-weight: 400;
    width: 2em;
    background: #36c;
    margin-bottom: 5px;
    margin-left: 2em;
}

.bg01 {
    background: #eaeffa;
    padding: 3em 0;
    margin: 2em 0 3em 0;
}

ul.lstbg01 {
    margin: 2em 1em 2em 2em;
}

ul.lstbg01 li {
    color: #fff;
    font-weight: 400;
    background: #36c;
    font-size: 20px;
    margin-bottom: 10px;
    padding: 3px 1em;
    width: 90%;
    max-width: 18em;
    letter-spacing: 0.025em;
}

.coll p,
.coll strong {
    margin-right: 2em;
    margin-left: 2em;
}

.colr p,
.colr strong {
    margin-left: 2em;
    margin-right: 1em;
}

.br_ld2 strong {
    color: #36c;
    font-size: 20px;
    font-weight: 500;
    margin: 0 0 0.25em 1em;
    display: block;
}

.coll p,
.colr p {
    margin-bottom: 1.5em;
}

.brand .wrap1 .ld01 {
    padding-bottom: 3em;
}


/* RECRUIT
------------------------------------------------------------*/

.rimg,
.limg,
.rtxt,
.ltxt {
    width: 50%;
    margin-bottom: 3em;
}

.rtxt {
    z-index: 10;
}

.rtxt .frm01,
.ltxt .frm01 {
    width: calc(100% + 40px);
    margin-top: 1em;
    height: 320px;
    z-index: 10;
}

.rtxt .frm01 {
    margin-left: -40px;
}

.ltxt {
    z-index: 10;
}

.ltxt .frm01 {
    margin-right: -40px;
}

.rtxt h3,
.ltxt h3 {
    background: none;
    margin: 1em 40px;
    padding: 0;
    font-size: 24px;
}

.rtxt h3 span,
.ltxt h3 span {
    font-size: 20px;
    display: block;
}

.rtxt p,
.ltxt p {
    margin: 1em 40px;
}

.rtxt a,
.ltxt a {
    margin: 3em auto;
    padding: 1em;
    display: block;
    background: #36c;
    color: #fff;
    text-align: center;
    border-radius: 30px;
    width: 20em;
    font-size: 18px;
    font-weight: 400;
}

.rtxt a:hover,
.ltxt a:hover {
    text-decoration: none;
    background: #02346d;
    color: #fff;
}


/* CSR
------------------------------------------------------------*/

.sub.csr .ttl {
    background: url(../images/csr/ttlcsr.jpg) no-repeat center bottom;
    background-size: cover;
}

.box_info {
    clear: both;
    margin: 3rem auto;
    padding: 2em;
    border: 2px solid #36c;
    width: 94%;
}

.box_info ul {
    padding-left: 1.5em;
    margin-top: -1em;
}

.box_info ul li {
    list-style-type: disc;
    margin-bottom: 0.25em;
}

.box_info strong {
    font-size: 18px;
    color: #36c;
    font-weight: 500;
}

.box_info p {
    margin-bottom: 1.5em;
}

.csr .col3 {
    margin: 0 1px;
}

.lstnews h3 {
    background: none;
    color: #36c;
    padding: 0;
    margin: 0;
    font-size: 16px;
}

.lstnews span.category {
    border: 1px solid #36c;
    color: #36c;
    padding: 1px 1em;
    margin: 0 1em 0 0;
    display: inline-block;
}

.lstnews span.date {
    display: inline-block;
}

.lstnews span {
    display: block;
    margin-bottom: 0.5em;
}

.lstnews ul.newsLink {
    border-bottom: 1px solid #ccc;
    margin-bottom: 1.5em;
}

.lstnews ul.newsLink li {
    padding: 0.5em 0 1em;
}

.lstnews ul.newsLink li a {
    display: block;
}

.lstnews ul.newsLink li a:hover {
    background: #eaeffa;
    text-decoration: none;
}


/* レントホーム
------------------------------------------------------------*/

.sub.renthome .ttl {
    background: url(../images/renthome/ttlrenthome.jpg) no-repeat center bottom;
    background-size: cover;
}

.exprent .frm01 {
    height: 33em;
}

.renthome .col2 .frm01 h3 {
    padding: 10px;
    margin-bottom: 1.5em;
}

.content .col2 .frm01.rent01 h3 {
    background: #9eaac2;
    color: #222;
}

.renthome .col2 .frm01 p {
    padding: 10px 2em 1em;
}

.renthome .col2 .frm01 p strong {
    font-size: 18px;
    font-weight: 400;
    background: #9eaac2;
    padding: 0 0.5em;
}

.renthome .col2 .frm01 img {
    max-width: 490px;
    display: block;
    margin: auto;
}

.renthome .lstrh li {
    display: block;
    background: #ebf1c3;
    margin: 0 10px 10px;
    padding: 5px 10px;
}

.renthome .w1000.frm01 {
    margin-top: 0;
}

.renthome .w1000 h4 {
    color: #36c;
    padding: 1em 2em;
    font-size: 18px;
    font-weight: 500;
}

.renthome .w1000 h4 span.nmplan {
    background: #36c;
    color: #fff;
    border-radius: 20px;
    padding: 5px 1.5em;
    letter-spacing: 0.05em;
}

.renthome .w1000 p {
    padding: 10px 2em 2em;
}


/* コンプライアンス
------------------------------------------------------------*/

.content .frm01.cmpl h3 {
    clear: both;
    font-size: 24px;
    color: #fff;
    text-align: center;
    font-weight: 400;
    padding: 0.1em 0.5em;
    background: #88b637;
    width: 50%;
    max-width: 20em;
    margin: -10px auto 0;
    position: relative;
}

.content .frm01.cmpl.col02 h3 {
    background: #71aad3;
}

.content .frm01.cmpl.col03 h3 {
    background: #f2727b;
}

.content .frm01.cmpl.col04 h3 {
    background: #eeb61e;
}

.content .frm01.cmpl.col05 h3 {
    background: #5e7bb6;
}

.content .frm01.cmpl h3 span.txtred {
    clear: both;
    color: #fff;
}

.content .frm01.cmpl ul {
    margin: 2em 3em 3em;
}

.content .frm01.cmpl ul li {
    position: relative;
    padding-left: 1.2em;
    margin-bottom: 0.75em;
}

.content .frm01.cmpl ul li:before {
    position: absolute;
    content: '';
    top: 0.5em;
    left: 0.2em;
    height: 0;
    width: 0;
    border-style: solid;
    border-width: 4px 0 4px 9px;
    border-color: transparent transparent transparent #88b637;
}

.content .frm01.cmpl.col02 ul li:before {
    border-color: transparent transparent transparent #71aad3;
}

.content .frm01.cmpl.col03 ul li:before {
    border-color: transparent transparent transparent #f2727b;
}

.content .frm01.cmpl.col04 ul li:before {
    border-color: transparent transparent transparent #eeb61e;
}

.content .frm01.cmpl.col05 ul li:before {
    border-color: transparent transparent transparent #5e7bb6;
}


/* 地域イベント情報
------------------------------------------------------------*/

.levent ul.tiku li {
    display: inline-block;
    padding: 5px 1em;
    margin: 0 0 2em 1em;
    background: #e27a85;
}

.levent ul.tiku li.kanazawa {
    background: #d0b0d2;
}

.levent ul.tiku li.isogo {
    background: #a1c9ef;
}

.levent ul.tiku li.kounan {
    background: #f6ceda;
}

.levent ul.tiku li.totsuka {
    background: #c5dba6;
}

.levent ul.tiku li.zushi {
    background: #f4ba97;
}

.levent ul.tiku li.fujisawa {
    background: #c3e2d7;
}

.levent ul.tiku li.kamakura {
    background: #f7e363;
}

.content .lstevent h3 {
    font-size: 16px;
    color: #222;
    padding: 0.5em 0.5em;
    background: #e27a85;
    margin: 2em 0 0.5em;
}

.content .lstevent h3.kanazawa {
    background: #d0b0d2;
}

.content .lstevent h3.isogo {
    background: #a1c9ef;
}

.content .lstevent h3.kounan {
    background: #f6ceda;
}

.content .lstevent h3.totsuka {
    background: #c5dba6;
}

.content .lstevent h3.zushi {
    background: #f4ba97;
}

.content .lstevent h3.fujisawa {
    background: #c3e2d7;
}

.content .lstevent h3.kamakura {
    background: #f7e363;
}

.levent .frm01 {
    margin: 5em 0 0;
}

.levent .frm01 h4 {
    padding: 2em 0 1em;
    text-align: center;
    letter-spacing: 0.05em;
    color: #36c;
    font-weight: 400;
}

.levent .frm01 p {
    padding: 0 2.5em 2em;
}


/* 理由
------------------------------------------------------------*/

.reason .content h3 {
    color: #fff;
    font-size: 32px;
    text-align: center;
    background: url(../images/reason/reason02.jpg) no-repeat center bottom;
    background-size: cover;
    height: 200px;
    line-height: 150px;
    margin-bottom: 1.5em;
}

.reason .content h3.r03 {
    background: url(../images/reason/reason03.jpg) no-repeat center bottom;
}

.reason .content h3.r04 {
    background: url(../images/reason/reason04.jpg) no-repeat center bottom;
}

.reason .content h3.r05 {
    background: url(../images/reason/reason05.jpg) no-repeat center bottom;
}

.reason .content p {
    padding: 0 2em;
    margin-bottom: 1em;
}

.reason .content .frm01 {
    padding: 2em 3em 2em 2em;
    margin: 2em 2em 5em;
}

.reason .content .frm01 ul li {
    margin-bottom: 0.5em;
}


/* NAVY
------------------------------------------------------------*/

.sub.navy .ttl {
    background: url(../images/navy/ttlnavy.jpg) no-repeat center bottom;
    background-size: cover;
}

div.howmuch {
    background: #f95c50;
    color: #fff;
    border-radius: 5px;
    text-align: center;
    width: 90%;
    margin: 0 auto 1em;
    padding: 10px 0;
    line-height: 1.5em;
    position: relative;
}

div.howmuch span {
    display: block;
    font-size: 24px;
    font-weight: 500;
}

div.howmuch::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #f95c50;
}

h3.howmuch01 {
    margin: 0;
    padding: 5px 0;
    text-align: center;
    background: #666;
    color: #fff;
    font-size: 18px;
    line-height: 1.0;
}

.col2.lt01 {
    padding-left: 1em;
}

.sub .wrap1 div.row.howmuch01 {
    border: 1px solid #666;
    margin: 0;
    margin-bottom: 10px;
}

.howmuch01 img {
    margin: 10px 0 10px 20px;
    width: 80%;
}

.howmuch01 table {
    margin: 15px 10px 0 0;
    width: 95%;
}

.howmuch01 table th {
    font-weight: normal;
    width: 40%;
    padding: 0 0 0 10px;
}

.howmuch01 table tr:nth-child(even) {
    background: #eee;
}

.navy .col2.mg5 {
    margin-bottom: 1em;
}

figure.hover-parent {
    position: relative;
    overflow: hidden;
    margin: 0;
}

.navy .lnkbn a {
    display: block;
    line-height: 0;
}

.navy .lnkbn a img:hover {
    opacity: 0.8;
}

figcaption.hover-mask {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: rgba(32, 68, 140, 0.95);
    opacity: 0;
    color: #fff;
    font-size: 2em;
    display: block;
    align-items: center;
    text-align: center;
    padding: 25% 0 0;
    transition: all 0.6s ease;
    font-weight: 300;
    letter-spacing: 0.05em;
}

.lnkcontact figcaption.hover-mask {
    line-height: 1.6em;
    padding: 18% 0 0;
    font-size: 1.5em;
}

figure.hover-parent:hover .hover-mask {
    opacity: 1;
    cursor: pointer;
}

.navy h4 {
    color: #05379b;
    border-bottom: 2px solid #05379b;
    font-weight: 500;
    margin: 1em 0 1em;
}

.navy ol {
    color: #36c;
    margin: 2em 2em 3em;
}

.navy p {
    margin: 0 0 1em;
}

.navy ol li {
    margin: 0 0 0.5em;
}

.navy .frm01 {
    padding: 0 2em 2em;
    height: 16em;
}

.navy .lt01 .frm01 {
    height: auto;
    text-align: center;
}

.navy .lt01 .frm01 img {
    max-width: 486px;
    margin: 0 auto;
}

.navy .col2 .frm01 h3 {
    margin-bottom: 2em;
}

.navy p.txtkekka {
    margin: 1em 0 0 1em;
    color: #36c;
    position: relative;
}

.navy p.txtkekka::before {
    content: "→";
    position: absolute;
    left: -16px;
}

table.thcol1 th {
    background: #eff2db;
    text-align: left;
}


/* ガレージハウス
------------------------------------------------------------*/

.garage01 img {
    max-width: 650px;
    margin: 1.5em 0 3em;
}

.garage03 {
    max-width: 780px;
    margin: 5em auto 1em;
}


/* レンタル会議室
------------------------------------------------------------*/

.sub.rentaloffice .ttl {
    background: url(../images/rentaloffice/ttlrental.jpg) no-repeat center bottom;
    background-size: cover;
}

ol.lstflw,
ol.lstflw ul {
    counter-reset: item;
}

ol.lstflw li {
    list-style-type: none;
    padding: 0 0 1em 1.75em;
    position: relative;
}

ol.lstflw li::before {
    position: absolute;
    counter-increment: item;
    content: counter(item)'.';
    margin-right: 0.5em;
    font-weight: 400;
    color: #fff;
    background: #36c;
    width: 1.5em;
    display: block;
    float: left;
    margin-left: -1.75em;
    text-align: center;
}

ol.lstflw ul.lstinfo {
    margin-top: 0.5em;
}

ol.lstflw ul.lstinfo li {
    padding: 0 0 0.5em 1.5em;
}

ol.lstflw ul.lstinfo li::before {
    content: "※";
    background: none;
    color: #222;
    margin-left: -1.5em;
}


/* プライバシー
------------------------------------------------------------*/

.privacy h3 {
    background: none;
    color: #222;
    margin: 0 0 0em;
}

.privacy .contentBox {
    padding: 0 2em 2em;
}

.privacy .contentBox p {
    padding: 0 0 1em;
}

.privacy .contentBox ol {
    margin-left: 2em;
}

.privacy .contentBox ol li {
    list-style: decimal;
    margin-bottom: 6px;
}

.privacy .contentBox dt {
    font-weight: bold;
    margin: 1em 0;
}

h5.headLine08 {
    margin: 1.5em 0 15px;
    padding: 0;
    color: #222;
    font-size: 1.1em;
    line-height: 1.4;
}

.privacy .footer {
    text-align: right;
}


/* shop
------------------------------------------------------------*/

.mapLink a,
.photoBox a {
    background: #36c;
    color: #fff;
    padding: 10px 0;
    border-radius: 30px;
}

.mapLink a {
    display: block;
    width: 22em;
    max-width: 100%;
    text-align: center;
    margin: 2em auto;
    font-size: 18px;
    font-weight: 400;
    border-radius: 40px;
    position: relative;
    padding: 10px 0 10px 1em;
}

.mapLink a::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 30px;
    background: url(../images/common/iconmap.png) no-repeat;
    position: absolute;
    top: 20px;
    left: 3.5em;
}

.mapLink a span {
    display: block;
    text-align: center;
    width: 22em;
}

.shopBox .photoBox a {
    padding: 10px 0;
    margin: 0 auto;
    display: block;
    width: 80%;
}

.shopBox .photoBox li {
    float: left;
    padding-top: 10px;
    display: block;
    width: 100%;
    height: 3.5em;
}

.photoBox a:hover {
    text-decoration: none;
}

.shopBox .photoBox {
    float: right;
    width: 30%;
    max-width: 320px;
    text-align: center;
    padding: 15px 0;
}

.textBox table {
    width: 100%;
}

.customerBox,
.cusDetail,
.shopBox,
.imgBox {
    margin-bottom: 5em;
    padding: 30px 50px 40px;
    border: 1px rgba(51, 102, 204, 0.28) solid;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.imgBox .photoBox {
    width: 30%;
    max-width: 290px;
    float: right;
    text-align: center;
    padding-top: 20px;
}

.shopBox .textBox,
.imgBox .textBox {
    padding-top: 1px;
    width: 68%;
    max-width: 740px;
    float: left;
}

.shopBox .textBox th,
.imgBox .textBox th {
    padding: 15px 13px;
    width: 25%;
    font-weight: normal;
    text-align: left;
    vertical-align: top;
    background-color: #fff;
    border-bottom: 1px solid #36c;
    color: #36c;
    font-size: 16px;
    line-height: 1.6em;
}

.shopBox .textBox td,
.imgBox .textBox td {
    padding: 15px 18px 15px;
    width: 75%;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid #ccc;
    font-size: 16px;
    line-height: 1.6em;
}

.imgBox .photoBox p {
    padding: 10px 0 1em;
    font-size: 20px;
    line-height: 1.2;
    text-align: center;
}

.imgBox .photoBox a {
    width: 80%;
    display: block;
    margin: 1em auto;
}

.map.mb0 {
    text-align: center;
}

.map.mb0 img {
    max-width: 800px;
    margin: 0 auto;
}

ul.shoplist {
    margin: 0 1em 3em;
    margin-top: -2em;
}

ul.shoplist li {
    display: inline-block;
    width: auto;
}

ul.shoplist li a {
    display: inline-block;
    padding: 5px 10px;
    margin: 5px;
    line-height: 1.0;
    color: #fff;
    background: #36c;
    border: 1px solid #36c;
}

ul.shoplist li a:hover {
    background: #eaeffa;
    color: #36c;
    text-decoration: none;
}

p.selectshop {
    text-align: center;
}

select.selectshop {
    margin: 0 auto 3em;
    border: 1px solid #36c;
    padding: 5px 5px 10px;
    font-size: 16px;
    line-height: 1.0em;
    border-radius: 3px;
    color: #222;
    font-weight: 300;
    vertical-align: middle !important;
}

.photoUl {
    margin: 0 auto 3em;
    width: 90%;
}

.photoUl li {
    padding: 0 10px 20px;
    float: left;
}

.detailPhoto01 {
    padding: 23px 0 68px;
    text-align: center;
}

.detailPhoto02 {
    padding: 23px 0 90px;
    text-align: center;
}


/* mapBox */

.shop .mapBox {
    margin-bottom: 27px;
}

.shop .mapCanvas {
    width: 100%;
    height: 350px;
}


/* staff
------------------------------------------------------------*/

ul.staffList {
    margin-bottom: 3em;
}

.staffList li {
    padding: 0 10px 10px 6px;
    width: 33%;
    height: 200px;
    float: left;
}

.staffList li img {
    width: 35%;
    max-width: 100px;
}

.staffList li a {
    border: none;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    height: 180px;
    border: 1px rgba(51, 102, 204, 0.28) solid;
    padding: 8px 9px 10px;
    min-height: 140px;
    display: block;
}

.staffList li .textBox .link {
    margin: 0;
    padding: 2px 1em 0 0;
    font-size: 12px;
    text-align: right;
}

.staffList li .textBox {
    padding: 2px 0 0 5px;
    width: 65%;
    float: right;
    line-height: 1.6em;
}

.staffList li .textBox p {
    margin-bottom: 10px;
    font-size: 15px;
    line-height: 1.4em;
    color: #222;
}

.staffList li .textBox p span {
    display: block;
    line-height: 1.2em;
}

.staffList li .textBox .text {
    font-size: 14px;
    line-height: 1.5;
    padding-right: 1em;
    margin-bottom: 5px;
}


/*#staffDetail .imgBox {
	margin-bottom: 57px;
	padding: 30px 50px 40px;
	border: 1px rgba(51,102,204,0.28) solid;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
#staffDetail .imgBox .photoBox {
    width: 290px;
    float: right;
	text-align: center;
	padding-top:20px;
}
#staffDetail .imgBox .textBox {
    padding-top: 1px;
    width: 740px;
    float: left;
}
#staffDetail .imgBox .textBox th {
	padding: 15px 13px;
	width: 20%;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	background-color: #fff;
	border-bottom: 1px solid #36c;
	color:#36c;
	font-size:16px;
}
#staffDetail .imgBox .textBox td {
    padding: 15px 18px 15px;
    width: 80%;
    text-align: left;
    vertical-align: top;
	border-bottom: 1px solid #ccc;
	font-size:16px;
	line-height:1.6em;
}
#staffDetail .imgBox .photoBox p {
    padding: 10px 0;
    font-size: 20px;
    line-height: 1.2;
	text-align:center;
}
#staffDetail .imgBox .photoBox img {
	max-width:240px;
}*/

.imgBox .photoBox p span {
    display: block;
    font-size: 14px;
}

#staffDetail .link a {
    display: block;
    margin: 2em auto;
    width: 15em;
    padding: 1em;
    text-align: center;
    background: #36c;
    color: #fff;
    border-radius: 35px;
    font-size: 18px;
    font-weight: 400;
}


/* 社長ブログ
------------------------------------------------------------*/

.sub.shacho-blog .ttl {
    background: url(../images/blog/ttlsblog.jpg) no-repeat center bottom;
    background-size: cover;
    color: #222;
}

.sub.shacho-blog .ttl h1:after {
    background-color: #222;
}


/* 店舗ブログ
------------------------------------------------------------*/

.sub.shop-blog .ttl {
    background: url(../images/blog/ttlblog.jpg) no-repeat center bottom;
    background-size: cover;
}


/* news
------------------------------------------------------------*/

#news .headLine04 {
    margin-bottom: 1.5em;
    text-align: center;
}

.headLine04 {
    padding: 0 0 5px 37px;
    color: #36c;
    font-size: 40px;
    font-weight: normal;
    line-height: 1.1;
    background: none;
    border: none;
}

.news h3 {
    margin: 0 0 0.5em;
    padding: 10px;
}

.news .newsLink li .category {
    margin: 0 10px 0 0;
    min-width: 100px;
    vertical-align: middle;
}

.news a.category,
.news .newsLink li .category,
.news .cateLink li a {
    padding: 3px 10px;
    color: #36c;
    min-width: 120px;
    display: inline-block;
    font-size: 16px;
    text-align: center;
    background: none;
    border: 1px solid #36c;
}

p.detailTtl a.category {
    margin-right: 1em;
}

.news ul.cateLink {
    margin: 0 0 3em;
    padding: 0 0 0.85em;
}

.news .cateLink li {
    margin-right: 10px;
    margin-bottom: 5px;
    float: left;
    padding: 0 0 0 0;
    line-height: 1.6;
}

.news ul.newsLink {
    margin: 0 0 1.2em;
    padding: 0 0 0.85em;
}

.news .newsLink li a {
    color: #222;
    display: block;
}

.news .newsLink li a:hover {
    background: #f1f5fd;
    text-decoration: none;
    cursor: pointer;
}

.news .newsLink li span {
    margin-top: 6px;
    display: block;
}

.news .newsLink li .date {
    margin: 0;
    display: inline-block;
}

.content.newsdtl .editable {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}

.content.newsdtl .editable strong {
    font-weight: bold;
}

.content.newsdtl h2 {
    font-size: 30px;
}

.content.newsdtl h3 {
    font-size: 30px;
    background: none;
    padding: 0;
    margin: 0 0 1em;
    font-weight: 500;
}

.content.newsdtl h4 {
    font-size: 18px;
    font-weight: 400;
    padding: 0.25em 0.5em;
    margin: 0 0 0.75em;
    color: #36c;
    background: #eaeffa;
}

.content.newsdtl p {
    margin-bottom: 2em;
    font-size: 16px;
    line-height: 1.75;
    text-align: left;
}

.content.newsdtl img {
    width: auto;
    max-width: 100%;
    display: inline-block;
}

.content.newsdtl .editable ul li {
    position: relative;
    padding-left: 1.2em;
    margin-bottom: 0.5em;
}

.content.newsdtl .editable ul li:before {
    position: absolute;
    content: '';
    top: 0.5em;
    left: 0.2em;
    height: 0;
    width: 0;
    border-style: solid;
    border-width: 4px 0 4px 9px;
    border-color: transparent transparent transparent #36c;
}

.content.newsdtl table {
    width: 100%;
    margin: 1em 0;
}

.content.newsdtl table th,
.content.newsdtl table td {
    border: 1px solid #ccc;
    border-collapse: collapse;
    padding: 10px;
}

.content.newsdtl table th {
    font-weight: normal;
    background: #eaeffa;
}

.sub .content.newsdtl strong {
    /*font-weight: bold;*/
}


/*  customer  */

.sub.voice .ttl {
    background: url(../images/voice/ttlvoice.jpg) no-repeat center bottom;
    background-size: cover;
}

.voice .customerBox .textBox {
    padding-top: 1px;
    width: 68%;
    max-width: 740px;
    float: left;
}

.voice .customerBox .photoBox a {
    text-align: center;
    margin-top: 10px;
    display: block;
}

.voice .cusDetail .textBox .comTable th,
.voice .customerBox .textBox .comTable th {
    padding: 15px 13px;
    width: 30%;
    font-weight: normal;
    text-align: left;
    vertical-align: top;
    background-color: #fff;
    border-bottom: 1px solid #36c;
    color: #36c;
    font-size: 16px;
    line-height: 1.6em;
}

.voice .customerBox .textBox .comTable .theme th {
    color: #fff;
    background-color: #36c;
}

.voice .cusDetail .textBox .comTable td,
.voice .customerBox .textBox .comTable td {
    padding: 15px 18px 15px;
    width: 80%;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid #ccc;
    font-size: 16px;
    line-height: 1.6em;
}

.voice .cusDetail .photoBox,
.voice .customerBox .photoBox {
    float: right;
    width: 30%;
    max-width: 240px;
    text-align: center;
    padding: 15px 0;
}

.voice .headLine07,
.voice .customerBox .textBox h3 {
    margin: 0em 0 1.5em;
    padding: 10px;
    border: none;
    background: #eaeffa;
    color: #36c;
}

.voice .detailImg {
    width: 90%;
    max-width: 990px;
    margin: 2em auto 3em;
    padding: 2em 2em 4em;
    border: 1px solid #a9a9a9;
}

.voice .detailImg img {
    width: auto;
    max-width: 100%;
    height: auto;
    margin: auto;
    display: block;
}

.voice .detailImg .title {
    margin: 0em 0 1.5em;
    padding: 10px;
    color: #36c;
    font-size: 28px;
    letter-spacing: 1px;
    text-align: center;
    line-height: 1.25em;
    border-bottom: 3px solid #36c
}

.voice .cusDetail {
    width: 80%;
    max-width: 800px;
    margin: 3em auto 57px;
}

.voice .cusDetail .textBox {
    margin-top: -3px;
    width: 100%;
}

.voice .link {
    text-align: center;
}


/* form
------------------------------------------------------------*/

#news h3.headLine06,
.contact h3.headLine06,
.contact h3.headLine06.noBorder {
    margin: 0em 0 1.5em;
    padding: 10px;
    border: none;
    background: #eaeffa;
    color: #36c;
    font-size: 18px;
}

#news h3.headLine06 {
    margin: 0em 0 0.5em;
}

.contact .formList {
    margin: 0 auto 2em;
    width: 80%;
}

.contact .formList dt {
    font-size: 18px;
    position: relative;
    margin-bottom: 10px;
}

.contact .formList dt span {
    display: inline-block;
    padding: 0 20px 0 0;
    background: #fff;
    color: #36c;
    position: relative;
    z-index: 10;
}

.contact .formList dt:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    top: 50%;
    border-top: 1px solid #36c;
}

#main .submitBtn,
.contact .formList dd.action .submitBtn {
    background: #36c;
    border: none;
    box-shadow: none;
    padding: 18px 0;
    margin: 0;
    display: inline-block;
    color: #fff;
    font-size: 20px;
    text-align: center;
    cursor: pointer;
    border-radius: 40px;
    width: 100%;
    max-width: 500px;
}

.contact .formList dd.action .submitBtn.l2 {
    border-radius: 50px;
}

.contact .formList dd {}

.contact .formList dd.action {
    text-align: center;
    padding: 2rem 0 3rem;
}


/* contactform
------------------------------------------------------------*/

#form .wrap1 {
    padding: 3em 0 4em;
    background-color: #fff;
}

#form .mailForm {
    margin: 0 auto;
    width: 90%;
    max-width: 1000px;
}

#form h3 {
    margin-bottom: 39px;
    padding: 14px 0 11px;
    color: #36c;
    font-size: 30px;
    font-weight: normal;
    text-align: center;
}

#form h4 {
    margin-bottom: 2em;
    padding: 0;
    font-size: 1.4em;
    font-weight: normal;
    text-align: center;
}

#form .mailForm h5 {
    margin: 0em 0 1.5em;
    padding: 10px;
    border: none;
    background: #eaeffa;
    color: #36c;
    font-size: 18px;
    font-weight: 500;
}

#form .submitBtn,
#contact .formList dd.action .submitBtn {
    background: #36c;
    border: none;
    box-shadow: none;
    padding: 18px 100px;
    margin: 0;
    display: inline-block;
    color: #fff;
    font-size: 20px;
    text-align: center;
    cursor: pointer;
    border-radius: 30px;
    width: 500px;
}

#form .submitBtn {
    width: 320px;
    border-radius: 40px;
}

#form .mailForm table {
    margin-bottom: 30px;
    width: 100%;
    border-collapse: collapse;
}

#form .mailForm table+h5 {
    margin-top: 60px;
}

#form .mailForm th {
    padding: 18px 0 21px 20px;
    width: 33%;
    position: relative;
    font-weight: normal;
    text-align: left;
    vertical-align: middle;
    color: #36c;
    border-bottom: 1px solid #36c;
    border-top: 1px solid #36c;
}

#form .mailForm td {
    padding: 15px 0 14px 48px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid #ccc;
    border-top: 1px solid #ccc;
}

span.nini,
span.hissu {
    display: inline-block;
    float: right;
    background: #f94d2b;
    letter-spacing: 2px;
    color: #fff;
    padding: 3px 8px;
}

span.nini {
    background: #ccc;
    color: #666;
}

input[type=checkbox] {
    margin: 8px 8px 0 0;
}

#form .mailForm td .wpcf7-list-item {}

#form .mailForm td .note02 {
    display: block;
}

#form .mailForm td input[type="text"] {
    width: 215px;
    border: 1px solid #afafaf;
    font-size: 16px;
    margin-bottom: 10px;
    padding: 10px;
}

#form .mailForm td .name01 {
    margin-right: 30px;
}

#form .mailForm td .name03 {
    margin-right: 10px;
}

#form .mailForm td .nameUl li {
    float: left;
}

#form .mailForm td .wid01 {
    width: 90% !important;
}

#form .mailForm td .wid02 {
    width: 185px !important;
}

#form .mailForm td .wid03 {
    margin-right: 10px;
    width: 85px !important;
}

#form .mailForm td .tel01 {
    margin: 0 7px;
    width: 55px !important;
}

#form .mailForm td .tel02 {
    margin: 0 7px;
    width: 70px !important;
}

#form .mailForm td .prefix {
    margin: -4px 6px 0;
    display: inline-block;
    vertical-align: middle;
}

#form .mailForm td .note {
    color: #999;
    font-size: 14px;
    display: inline-block;
    vertical-align: middle;
}

#form .mailForm td .note02 {
    margin-top: 3px;
    color: #999;
    font-size: 14px;
    display: inline-block;
    vertical-align: middle;
}

#form .mailForm td select {
    margin: 10px 0;
    width: 155px;
    height: 30px;
}

#form .mailForm td .wpcf7-list-item {
    padding: 8px 20px 7px 0;
    margin: 0;
    float: left;
    display: inline-block;
}

#form .mailForm td .wpcf7-list-item label {
    vertical-align: middle;
}

#form .mailForm td .wpcf7-list-item input {
    margin: 0 8px 0 0;
    display: inline-block;
    vertical-align: middle;
}

#form .mailForm td textarea {
    width: 90%;
    height: 10em;
    font-size: 16px;
    border: 1px solid #afafaf;
}

#form .mailForm .text {
    margin-bottom: 25px;
    font-size: 14px;
    line-height: 1.7;
    text-align: center;
}

#form .mailForm .text a {
    color: #0000f4;
    text-decoration: underline;
}

#form .mailForm .text a:hover {
    text-decoration: none;
}

#form .submit {
    text-align: center;
}

#form .submit li input:hover {
    filter: alpha(opacity=70);
    opacity: 0.7;
}

.contactBox,
#form .contactBox {
    margin-top: 0;
    padding-bottom: 27px;
}

#form .contactBox p {
    margin: 0 40px 0 50px;
    line-height: 1.2;
}

#form .contactBox p span {
    padding-top: 13px;
    width: 230px;
    float: left;
}

#form .contactBox p .tel {
    margin: 0;
    width: 300px;
    float: right;
}

#form .contactBox p .tel {
    padding: 0;
    font-size: 14px;
}

#form .contactBox p .tel span {
    padding: 0;
    width: auto;
    display: block;
    float: none;
    font-size: 25px;
}

#form .contactBox .title {
    margin: 0 0 23px;
    line-height: 1.5;
}

#form .wpcf7-form-control {
    display: inline-block;
}

#form .wpcf7-not-valid-tip {
    font-size: 14px;
    clear: both;
    padding: 10px 0;
}

#form .wpcf7-response-output {
    font-size: 16px;
}

#form .wpcf7-validation-errors {
    background: #ffe2e2;
    border: 1px solid #d10505;
    color: #d10505;
}

#form .wpcf7-response-output {
    margin: 20px 0 0;
    padding: 10px 15px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    border-radius: 5px;
}

#form .wpcf7-mail-sent-ng {
    background: #fff2e2;
    border: 1px solid #e17731;
    color: #e17731;
}

#form .wpcf7-mail-sent-ok {
    background: #e8ffe2;
    border: 1px solid #1ea524;
    color: #1ea524;
}

#form .sslSeal {
    text-align: center;
    margin-top: 60px;
    font-size: 14px;
}

#form .sslSeal p {
    text-align: center;
    margin: 1em 0 0;
}

#form img,
#form .sslSeal img {
    width: auto;
}

#form p.info {
    text-align: center;
    margin: 0 0 2em;
    color: #f00;
    font-size: 14px;
    font-weight: 500;
}


/* セミナー
------------------------------------------------------------*/

.sub.seminar div.ttl {
    background: url(../images/seminar/ttlseminar.jpg) no-repeat center bottom;
    background-size: cover;
}

.sub.seminar div.ttlBox {
    background: #36c;
    color: #fff;
    position: relative;
    padding: 1em;
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}

.sub.seminar div.ttlBox p {
    display: inline-block;
    font-size: 28px;
}

.sub.seminar div.ttlBox p.ttl {
    background: #fff;
    color: #36c;
    display: inline-block;
    width: 5.5em;
    text-align: center;
    border: 1px rgba(51, 102, 204, 0.28) solid;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    margin-left: -1.5em;
    margin-right: 1em;
}

.sub.seminardtl h2 {
    font-size: 30px;
}

.sub.seminardtl h3 {
    margin-top: 3em;
}

.teachers img {
    width: auto;
    display: block;
    margin-bottom: 1em;
}

.sub.seminardtl table {
    width: 90%;
    margin: 1em auto 2em;
}

.sub.seminardtl table th {
    padding: 1em;
    width: 20%;
    position: relative;
    font-weight: normal;
    text-align: left;
    color: #36c;
    border-bottom: 1px solid #36c;
    border-top: 1px solid #36c;
}

.sub.seminardtl table td {
    padding: 1em;
    text-align: left;
    border-bottom: 1px solid #ccc;
    border-top: 1px solid #ccc;
}

.sub.seminardtl .textBox ul,
.sub.seminardtl ul.textList {
    margin: 1em 0;
}

.sub.seminardtl .textBox ul li,
.sub.seminardtl ul.textList li {
    position: relative;
    padding: 0 0 0.5em 1.5em;
    margin-left: 0.25em;
}

.sub.seminardtl .textBox ul li:before,
.sub.seminardtl ul.textList li:before {
    position: absolute;
    content: '';
    top: 0.5em;
    left: 0.2em;
    height: 0;
    width: 0;
    border-style: solid;
    border-width: 4px 0 4px 9px;
    border-color: transparent transparent transparent #36c;
}

.sub.seminardtl .teachers .photoBox {
    margin-top: -8px;
    float: right;
}

.sub.seminardtl .teachers .textBox .ttl {
    margin-bottom: 1em;
    font-weight: 500;
    padding-left: 10px;
    line-height: 1.5em;
    border-left: solid #36c 7px;
}

.sub.seminardtl .teachers .textBox p {
    padding-left: 1em;
    margin-bottom: 2em;
}

.sub.seminardtl .contactBox {
    clear: both;
    margin: 5rem auto;
    padding: 2em 1em;
    border: 2px solid #36c;
    text-align: center;
    width: 90%;
    max-width: 780px;
}

.sub.seminardtl .contactBox p {
    text-align: center;
    margin: 0 0 1em;
}

.sub.seminardtl .contactBox p.title {
    color: #36c;
    font-size: 18px;
}

.sub.seminardtl .contactBox p span {
    display: block;
    margin: 0 0 1em;
}

.sub.seminardtl .contactBox p span.tel span {
    color: #36c;
    font-size: 24px;
    font-weight: 500;
    margin: 0 0 0.5em;
    letter-spacing: 0.1em;
}

.sub.seminardtl td.pdf a {
    display: inline-block;
    background: #36c;
    color: #fff;
    font-size: 16px;
    text-align: center;
    padding: 4px 10px;
    border-radius: 30px;
    width: 14em;
    max-width: 100%;
    margin: 0 auto 0 2em;
    letter-spacing: 0.05em;
}

.sub.seminardtl td.pdf a::before {
    font-family: "icon";
    content: '\f1c1';
    padding: 0 10px 0 0;
    font-size: 1.4rem;
    vertical-align: middle;
    color: #fff;
}

.sub.seminardtl td.pdf a:hover {
    text-decoration: none;
    background: #02346d;
    color: #fff;
}

.sub.seminardtl .btnLink {
    margin: 5em auto;
}

.sub.seminardtl .btnLink a,
.link a,
.lnk01 {
    padding: 20px 20px;
}

#form p.seminartitle {
    margin: 0 auto 43px;
    width: 90%;
    max-width: 1000px;
    padding: 10px 20px;
    font-size: 20px;
    line-height: 1.4;
    background: none;
    border: 1px solid #36c;
}

#form p.seminartitle span {
    margin-top: 2px;
    display: block;
    font-size: 16px;
    font-weight: normal;
}

.seminar .seminarBox {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto 20px;
    padding: 1em;
    border: 1px rgba(51, 102, 204, 0.28) solid;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.seminar .seminarBox .photoBox {
    width: 25%;
    max-width: 250px;
    float: left;
    text-align: center;
    padding: 1em 0;
}

.seminar .seminarBox .photoBox a {
    margin: 1em auto 0;
    width: 90%;
    display: block;
}

.seminar .seminarBox .textBox {
    width: 75%;
    max-width: 750px;
    float: right;
}

.seminar .seminarBox .textBox p {
    width: 90%;
    margin: 1em auto 2em;
    padding: 10px;
    background: #eaeffa;
    color: #36c;
    font-size: 18px;
    font-weight: 500;
}

.seminar .seminarBox table th,
.seminar .seminarBox table td {
    padding: 0.5em 1em;
}

.wrap1 p.numP {
    width: 90%;
    margin: 3em auto 0.5em;
}

.seminar .searchBox {
    width: 90%;
    margin: 0 auto 1em;
    padding: 0 1em 2em;
    background-color: #fafbfc;
}

.seminar .searchBox .ttl {
    margin: 0 -1em 1em -1em;
    padding: 7px 7px 5px 30px;
    ;
    color: #fff;
    font-size: 16px;
    background: #004070 url(../images/common/icon22.png) no-repeat 1px center;
}

.seminar .searchBox .ttl img {
    margin: -2px 10px 0 0;
    display: inline-block;
    vertical-align: middle;
    width: 24px;
    height: auto;
}

.seminar .searchBox .checkP {
    margin-bottom: 21px;
    color: #3c7dce;
    font-size: 17px;
}

.seminar .searchBox .checkP a {
    margin-right: 30px;
    color: #3c7dce;
    text-decoration: underline;
}

.seminar .searchBox .checkP a:hover {
    text-decoration: none;
}

.seminar .searchBox .lead {
    margin-bottom: 7px;
    font-size: 17px;
}

.seminar .searchBox ul {
    margin-bottom: 28px;
}

.seminar .searchBox li {
    padding-left: 1.3em;
    width: 178px;
    float: left;
    font-size: 13px;
    line-height: 1.3;
    text-indent: -1.3em;
}

.seminar .searchBox li::before {
    display: none;
}

.seminar .searchBox li input {
    margin: -3px 0 0;
    display: inline-block;
    vertical-align: middle;
}

.seminar .searchBox .wid01 {
    width: 211px;
}

.seminar .searchBox .wid02 {
    width: 148px;
}

.seminar .searchBox .wid03 {
    width: 130px;
}

.seminar .searchBox .checkUl {
    margin-bottom: 0;
}

.seminar .searchBox .checkUl li {
    margin-right: 40px;
    width: auto;
}

.seminar .searchBox .action {
    text-align: center;
    margin-top: 30px;
}

.seminar .searchBox .action .actionBtn {
    border-radius: 30px;
    color: #fff;
    cursor: pointer;
    font-size: 16px;
    background: #004070;
    padding: 10px 20px 10px 20px;
    text-decoration: none;
    border: none;
    width: 16em;
}

.seminar .searchBox .action .actionBtn:hover {
    background: #6c;
    text-decoration: none;
}

.seminar .sortBox {
    width: 90%;
    margin: 1em auto 1em;
}

.seminar .sortBox .sort {
    float: right;
}

.seminar .sortBox .sort p {
    float: left;
    font-size: 16px;
}

.seminar .sortBox .sort select {
    font-size: 14px;
    vertical-align: middle;
}


/* popup
------------------------------------------------------------*/

#fix_poparea {
    width: 320px;
    height: 300px;
    position: fixed;
    bottom: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.85);
    z-index: 110;
    text-align: center;
    filter: drop-shadow(0 0px 3px rgba(0, 0, 0, .15));
}

#fix_poparea .popttl {
    background: #000;
    text-align: right;
    font-size: 14px;
}

#fix_poparea .popttl button {
    background-color: transparent;
    border: none;
    outline: none;
    appearance: none;
    padding: 7px 5px;
    letter-spacing: 0.05em;
    background: #000;
    color: #fff;
    border: none;
    width: 100%;
    text-align: right;
    cursor: pointer;
    border-radius: 0;
}

#fix_poparea .popttl button:hover {
    opacity: 0.85;
}

#fix_poparea .popmain img {
    width: 300px;
    margin: 0 auto 0;
}

#fix_poparea .popmain img:hover {
    opacity: 0.85;
}

#fix_poparea .popmain p.ttl {
    padding: 10px 10px 5px;
}

#fix_poparea .popmain p.lnk01 {
    display: block;
    background: #36c;
    color: #fff;
    font-size: 18px;
    font-weight: 400;
    text-align: center;
    padding: 7px 20px;
    border-radius: 50px;
    width: 14em;
    max-width: 80%;
    margin: 0.5em auto 1em;
    letter-spacing: 0.05em;
}

#fix_poparea .popmain a:hover {
    text-decoration: none;
    color: #222;
    opacity: 0.85;
}

#fix_poparea .popmain a:hover p.lnk01 {
    text-decoration: none;
    background: #02346d;
    color: #fff;
}

@media only screen and (max-width: 1024px) {}


/* RESPONSIVE
------------------------------------------------------------*/

@media only screen and (min-width: 1600px) {
    #mainv {
        width: 100%;
        height: auto;
    }
    #mainv img {
        width: 100%;
        height: auto;
        left: 0;
    }
}

@media only screen and (min-width: 1200px) {
    .wrap1 {
        width: 1200px;
    }
    #mainnav ul li a {
        padding: 0 20px 0;
        font-size: 18px;
    }
    #pickup .wrap1 {
        width: 990px;
    }
}

@media only screen and (max-width: 1199px) {
    .wrap1 {
        width: 100%;
    }
    ul.lnkpls li a {
        font-size: 18px;
    }
    #pickup .wrap1 {
        width: 80%;
    }
    #pickup .metaslider .flexslider .slides>li,
    #pickup .metaslider .flexslider .slides>li img {
        /*width:30%!important;*/
    }
    .plus_us,
    .plus_uk {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        height: auto;
        padding-bottom: 2em;
        background-size: contain;
    }
    .plus_uk {
        padding-bottom: 7em;
    }
    #mainnav ul li ul,
    #mainnav ul li:hover ul {
        right: 0px;
    }
    #news dl dt {
        width: 35%;
    }
    #news dl dt span {
        width: 14em;
        font-size: 0.9em;
    }
    #news dl dd {
        margin-left: 35%;
    }
    .sub .wrap1 {
        width: 98%;
    }
    dl.line01,
    dl.line01.mline {
        margin: 0 50px;
    }
    dl.line01.mline dt {
        width: 25%;
        padding: 0.75em 2em 0.75em 0.5em;
    }
    dl.line01.mline dd {
        width: 75%;
    }
    #footer .coll p {
        font-size: 0.9em;
    }
}

@media only screen and (min-width: 813px) and (max-width: 1199px) {
    #mainnav ul li a {
        padding: 0 15px 0;
        font-size: 16px;
    }
    #mainnav li.htoiawase a::before {
        content: url(../images/icon_query1.png);
        padding-right: 2px;
    }
    #mainnav.changeNav ul li ul li a {
        font-size: 14px;
    }
    #view_u h3 {
        font-size: 20px;
    }
    #mainnav ul li ul,
    #mainnav ul li:hover ul {
        width: 860px;
        padding-left: 10px;
        padding-right: 10px;
    }
}

@media only screen and (min-width: 813px) and (max-width: 1100px) {
    #footer .colr {
        width: 30%;
        min-width: 300px;
    }
    #footer .colr {
        width: 70%;
        min-width: 510px;
        justify-content: flex-start;
    }
    #footer a {
        margin: 0 5px 5px;
    }
    #footer a.btn {
        padding: 27px 10px 30px 45px;
    }
    #footer a.btn:before {
        left: 12px;
    }
    #footer a img {
        margin-bottom: 10px;
    }
    .company .greeting .row {
        width: 96%;
        margin: auto;
    }
    .content .asset .col2 .frm01 {
        height: 22em;
    }
}

@media only screen and (min-width: 813px) and (max-width: 880px) {
    #mainnav ul li ul,
    #mainnav ul li:hover ul {
        width: 780px;
    }
}

@media only screen and (min-width: 813px) {
    #footer {
        padding: 30px 0 0;
    }
    a#menu {
        display: none;
    }
    .panel {
        display: block !important;
    }
    /*	#mainnav{
		position:fixed;
		top: 0;
		width:100%;
		min-width:900px;
		z-index:500;
		background:#fff;
		height:auto!important;
	}
*/
    #mainnav {
        position: absolute;
        width: 100%;
        min-width: 900px;
        z-index: 500;
        background: #fff;
        height: 120px!important;
    }
    #mainnav ul {
        float: right;
        display: block;
        height: 120px;
    }
    #mainnav li {
        display: table-cell;
    }
    #mainnav ul li a {
        display: table-cell;
        /*	padding: 0 15px 0;
		font-size: 16px;*/
        line-height: 120px;
        color: #36c;
        font-weight: 400;
        height: 100%;
        vertical-align: middle;
    }
    #mainnav a:hover {
        opacity: 0.9;
        text-decoration: none;
    }
    #mainnav li.htoiawase a {
        background: #36c;
        color: #fff;
        transition: unset;
    }
    #mainnav li.htoiawase a:hover {
        background: #02346d;
        color: #fff;
    }
    #mainnav li.htoiawase a::before {
        content: url(../images/common/icon_query1.png);
        padding-right: 5px;
    }
    #mainnav.changeNav {
        background: rgba(255, 255, 255, .9);
        position: fixed;
        top: 0;
        border-bottom: 1px solid #e3ebfb;
        height: auto!important;
    }
    #mainnav.changeNav .hlogo {
        width: 80px;
        height: 75px;
    }
    #mainnav.changeNav ul {
        height: 80px;
    }
    #mainnav.changeNav ul li a {
        line-height: 81px;
    }
    #mainnav.changeNav ul li ul {
        top: 81px;
        height: 0;
    }
    #mainnav.changeNav ul li:hover ul {
        top: 81px;
        height: auto;
    }
    #mainnav.changeNav ul li ul li a {
        line-height: 2em;
        font-size: 16px;
    }
}

@media only screen and (min-width: 641px) {
    /*	.col2 li{
		width: 40%;
		padding: 0 3%;
		vertical-align: top;
	}*/
}

@media only screen and (max-width: 812px) {
    #slogan {
        top: 60%;
    }
    #slogan h1 {
        font-size: 31px;
    }
    #slogan h2 {
        font-size: 14px;
        line-height: 1.5em;
    }
    #slogan p a {
        padding: 15px 30px;
        border-radius: 50px;
        width: 16em;
        font-size: 14px;
    }
    .slogan {
        top: 60%;
    }
    .slogan h1 {
        font-size: 31px;
    }
    .slogan h2 {
        font-size: 14px;
        line-height: 1.5em;
    }
    .slogan p a {
        padding: 15px 30px;
        border-radius: 50px;
        width: 16em;
        font-size: 14px;
    }
    #header .hlogo {
        width: 60px;
    }
    a#menu {
        display: inline-block;
        position: relative;
        width: 40px;
        height: 40px;
        margin: 10px;
        padding: 0;
    }
    #menuBtn {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 18px;
        height: 2px;
        margin: -1px 0 0 -7px;
        background: #36c;
        transition: .2s;
    }
    #menuBtn:before,
    #menuBtn:after {
        display: block;
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        width: 18px;
        height: 2px;
        background: #36c;
        transition: .3s;
    }
    #menuBtn:before {
        margin-top: -7px;
    }
    #menuBtn:after {
        margin-top: 5px;
    }
    a#menu .close {
        background: transparent;
    }
    a#menu .close:before,
    a#menu .close:after {
        margin-top: 0;
    }
    a#menu .close:before {
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
    }
    a#menu .close:after {
        transform: rotate(-135deg);
        -webkit-transform: rotate(-135deg);
    }
    .panel {
        width: 100%;
        height: 100%;
        display: none;
        overflow: hidden;
        position: relative;
        left: 0;
        top: 0;
        z-index: 100;
        padding-bottom: 2em;
    }
    #mainnav {
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        text-align: right;
        z-index: 500;
        background: #fff;
        opacity: 0.9;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: none;
        /* IE, Edge 対応 */
        scrollbar-width: none;
    }
    #mainnav::-webkit-scrollbar {
        /* Chrome, Safari 対応 */
        display: none;
    }
    #mainnav ul {
        border-bottom: 1px solid #ccc;
        background: #fff;
        text-align: left;
        height: 100%;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: none;
        /* IE, Edge 対応 */
        scrollbar-width: none;
    }
    #mainnav.changeNav li a,
    #mainnav li a {
        position: relative;
        display: block;
        padding: 12px 25px;
        border-bottom: 1px solid #ccc;
        color: #222;
        font-weight: 400;
        line-height: 1.6;
    }
    #mainnav li.htoiawase a {
        background: #36c;
        color: #fff;
    }
    #mainnav li.htoiawase a::before {
        content: "";
        padding-right: 0;
    }
    #mainnav li a:before {
        display: block;
        content: "";
        position: absolute;
        top: 50%;
        left: 5px;
        width: 6px;
        height: 6px;
        margin: -4px 0 0 0;
        border-top: solid 2px #000;
        border-right: solid 2px #000;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    #mainnav ul li:hover ul,
    #mainnav ul li ul {
        display: block;
        position: relative;
        top: 0;
        text-align: left;
        width: 100%;
        background: none;
        padding: 0;
        height: auto;
    }
    #mainnav ul li ul li {
        display: inline-block;
        width: 45%;
    }
    #mainnav ul li ul li a {
        background: none;
        border: none;
        padding: 0 0 0 1.2em;
        margin: 0;
        color: #222;
    }
    #com .submenu,
    #bis .submenu {
        display: block;
    }
    #mainnav ul li ul li a:before {
        /*		display:none;*/
        border: none;
        color: #36c;
        transform: none;
        top: 4px;
    }
    #pickup .metaslider .flexslider .flex-direction-nav li a.flex-next {
        right: -50px;
    }
    .col3 li {
        margin: 0 auto;
        display: block;
        max-width: 288px;
    }
    .row {
        flex-wrap: wrap;
    }
    .sub .wrap1 .row {
        margin: 0;
    }
    #plus_u {
        background-size: cover;
    }
    .plus_us,
    .plus_uk {
        width: 100%;
        height: auto;
        margin: 0;
    }
    section#plus_u h2 {
        font-size: 28px;
        padding: 2em 10px 1.5em;
    }
    #plus_u h3 {
        font-size: 30px;
        margin: 1em;
        text-align: center;
    }
    .plus_us p,
    .plus_uk p {
        margin: 1em;
        line-height: 1.8em;
    }
    #plus_u .row {
        margin: 0;
    }
    #plus_u .col2 {
        width: 100%;
    }
    .plus_us,
    .plus_uk {
        padding-bottom: 7em;
    }
    ul.lnkpls,
    .plus_uk ul.lnkpls {
        margin-top: 2em;
    }
    #view_u h3 {
        font-size: 18px;
        padding: 20% 0 0;
    }
    #view_u h3 span {
        font-size: 14px;
    }
    section#pickup h2,
    section h2 {
        font-size: 30px;
    }
    ul.lnkpls li {
        width: 49%;
        padding: 0;
    }
    ul.lnkpls li a {
        display: block;
        height: auto;
        background: #36c;
        opacity: 0.9;
        margin: 0 5px 10px;
        padding: 1em 0 0;
        font-size: 18px;
        font-weight: 400;
    }
    ul.lnkpls li a span {
        font-size: 14px;
        margin-top: 0.5em;
        padding-bottom: 1em;
    }
    #news dl dt {
        width: 44%;
    }
    #news dl dd {
        margin-left: 44%;
    }
    #blog .blogtitle,
    #blog .blogline {
        width: 30%;
    }
    #blog .blogline {
        width: 70%;
    }
    #blog .blogtitle h2 {
        font-size: 18px;
    }
    #footer .coll,
    #footer .colr {
        padding: 0 0 1em;
    }
    #footer .coll,
    #footer .colr {
        width: 100%;
        min-width: 100%;
    }
    #footer a.btn {
        padding: 27px 20px 30px 53px;
    }
    #blog .wrap1 {
        width: 98%;
    }
    #mainv {
        overflow: hidden;
        width: auto;
        height: 375px;
    }
    #mainv img {
        width: auto;
        height: 375px;
        margin-left: 50%;
        transform: translateX(-50%)
    }
    .sub {
        padding-top: 67px;
    }
    .sub div.ttl,
    .sub.company .ttl,
    .sub.senior .ttl,
    .sub.asset .ttl,
    .sub.brand .ttl {
        width: auto;
        height: 195px;
    }
    .sub .ttl h1 {
        padding-top: 30px;
        padding-bottom: 15px;
        font-size: 30px;
        line-height: 1.25em;
    }
    .sub .ttl h1 span {
        font-size: 12px;
        padding-bottom: 0;
    }
    .sub .ttl p {
        font-size: 13px;
        line-height: 1.4em;
        text-shadow: 0px 0px 3px rgba(51, 102, 204, 0.44);
    }
    .sub .col2 {
        width: 100%;
    }
    .content .col2 .frm01 h3 {
        margin: -10px 0.5em 0;
    }
    .company .phbox {
        margin: 1em 0 0 1em;
        width: 200px;
    }
    .company .greeting .frm01 {
        max-width: 68%;
        margin-top: 2rem;
    }
    .content .bis .frm01 h3 a {
        padding: 0.75em 2em 1em 1em;
    }
    .content .bis .frm01 h3.smpl2 a {
        padding: 0.5em 0.5em 0.6em 1em;
        line-height: 1.15em;
    }
    .content .bis .frm01 h3.smpl2 span {
        display: block;
        font-size: 0.9em;
    }
    .lnkpage a,
    .lnkdown a {
        width: 80%;
    }
    .senior .contentBox img {
        width: 100%;
    }
    .content .asset .frm01 h3 {
        margin: -10px 1.5em 0;
    }
    .content .asset .frm01 ul.lstbg02 li.short {
        width: 49.5%;
    }
    .content .asset .frm01 p {
        margin: 2em 1.5em;
    }
    .content .asset .frm01 ul.lstbg02 {
        margin: 0 1em 2em;
    }
    .content .asset .frm01 ul.lstbg02 li {
        padding: 0.25em 0.1em 0.25em 0.25em;
        letter-spacing: -0.05em;
    }
    .rtxt h3,
    .ltxt h3 {
        margin: 1em 18px 1em 30px;
        padding: 0;
        font-size: 22px;
    }
    .rtxt p,
    .ltxt p {
        margin: 1em 30px;
    }
    .rtxt a,
    .ltxt a {
        margin: 1em auto;
    }
    .br_ld p span {
        margin-left: 1em
    }
    .brand .col3 {
        width: 30%;
    }
    .content.brand .frm01 h3 {
        font-size: 18px;
        margin: -10px 0.5em 0;
        letter-spacing: -0.05em;
        padding: 0.25em;
    }
    .content.brand .frm01 {
        height: 16em;
    }
    .customerBox,
    .cusDetail,
    .shopBox,
    .imgBox {
        padding: 30px 1em 40px;
    }
    .imgBox .photoBox a {
        width: 90%;
    }
    .imgBox .photoBox p {
        font-size: 18px;
    }
    .staffList li {
        width: 50%;
    }
    .rtxt a,
    .ltxt a {
        margin: 1em auto;
        padding: 1em;
        width: 18em;
        font-size: 16px;
    }
    .content.brand .frm01 p {
        line-height: 1.5em;
        margin: 1em 1.0em;
    }
    .renthome .w1000 h4 span.nmplan {
        display: block;
    }
    .sub .howmuch01 .col2 {
        margin: 0;
        width: 50%;
    }
    .howmuch01 img {
        margin: 10px 0 10px 10px;
    }
    .howmuch01 table {
        margin: 10px 5px 0 0;
    }
    .lnkdown.lnkblue a {
        width: 100%;
    }
    .navy .col2 .frm01 h3 {
        margin: -10px 0.5em 1em;
        font-size: 18px;
    }
    div.w1100.w70 {
        width: 100%;
    }
    #main.custom {
        padding-top: 67px;
    }
    #main.custom .headLine02 {
        height: 195px;
        margin: 0 0 3rem;
    }
    #main.custom .headLine02 .subBox {
        padding: 10px 0px 0;
    }
    #main.custom .headLine02 .subBoxTitle {
        padding: 10px 0px 10px;
    }
    #main.custom .bnavi {
        top: 262px;
        padding: 1em 10px 0;
    }
}

@media only screen and (max-width: 767px) {
    ul.shoplist {
        display: none;
    }
}

@media only screen and (max-width: 500px) {
    #mainv {
        overflow: hidden;
        width: auto;
        height: 350px;
    }
    #mainv img {
        width: auto;
        height: 350px;
        margin-left: 50%;
        transform: translateX(-50%)
    }
    #slogan h2 span {
        display: block;
    }
    #pickup div.topics div.cate {
        font-size: 20px;
        margin-left: -2em;
        margin-right: 1em;
        top: 3%;
    }
    #pickup div.topics div.nm {
        display: block;
        width: 100%;
        font-size: 16px;
    }
    #pickup div.topics a:after {
        right: 3%;
    }
    #pickup div.topics div.dt {
        margin-top: -0.5em;
    }
    #pickup ul.flex-direction-nav {
        display: none;
    }
    #news dl {
        width: 90%;
        margin: 0 auto 20px;
    }
    #news dl dt,
    #news dl dd {
        display: block;
        float: left;
        width: 100%;
    }
    #news dl dd {
        border-top: none;
        margin-left: 0em;
    }
    .sub .wrap1 {
        width: 100%;
        padding: 0 10px;
    }
    span.mbbr,
    br.sp {
        display: block;
    }
    .pconly {
        display: none;
    }
    .mbonly {
        display: block;
    }
    .row {
        margin: 0;
    }
    #footer .coll,
    #footer .colr,
    .col2,
    .col3,
    .col4 {
        width: 100%;
        min-width: 100%;
        margin: 0;
    }
    #footer .flogo {
        margin: 0 20px 30px 10px;
    }
    .coll p {
        margin-right: 1em;
    }
    #footer .colr div {
        text-align: center;
        width: 100%;
    }
    #footer .coll,
    #footer .colr div a img,
    #footer .coll,
    #footer .colr div a {
        margin-bottom: 0.5em;
    }
    #footer a {
        color: #fff;
    }
    #footer a.btn {
        width: 80%;
    }
    .plus_us,
    .plus_uk {
        background-size: cover;
    }
    ul.lnkpls li {
        width: 100%;
    }
    #blog .blogtitle,
    #blog .blogline {
        width: 94%;
        margin: 0 auto;
    }
    #blog .blogtitle h2 {
        font-size: 20px;
        padding: 20px 15px 40px;
    }
    #blog .blogline li {
        width: 94%;
        margin-bottom: 0.5em;
        padding: 3px 10px 3px 10px;
        height: 2.75em;
    }
    #blog .blogline li span {
        font-size: 12px;
        margin: 0 1em 0 0;
        display: block;
    }
    #view_u .row,
    #view_u h3 {
        background: rgba(1, 24, 41, 0.4);
    }
    .sub div.ttl {
        font-weight: 400;
        background: url(../images/common/ttl_umb.jpg) no-repeat center bottom;
        background-size: cover;
    }
    .sub.asset .ttl h1,
    .sub.rentaloffice .ttl h1 {
        padding-top: 20px;
    }
    .sub .ttl h1.jp {
        padding-top: 30px;
    }
    .content h2 {
        font-size: 30px;
    }
    .company .greeting .frm01 {
        width: 90%;
        max-width: 90%;
        margin-top: -1em;
        margin-left: 1.5em;
    }
    .company .frm01 p {
        padding: 2rem 1.5rem 0rem;
        letter-spacing: 0.025rem;
    }
    .company .frm01 p.dname {
        padding: 1em 2em 0;
    }
    .company .frm01 p.ld {
        font-size: 20px;
    }
    dl.line01.mline,
    dl.line01 {
        margin: 0 1em;
    }
    dl.line01 dt,
    dl.line01 dd,
    dl.line01.mline dt,
    dl.line01.mline dd {
        float: none;
        clear: left;
        width: 100%;
        text-align: left;
    }
    dl.line01 dt {
        background: #eaeffa;
    }
    dl.line01 dt:first-child {
        border-top: 1px solid #36c;
    }
    dl.line01 dd:nth-child(2) {
        border-top: 1px solid #ccc;
    }
    dl.line01 dt:nth-last-child(2),
    dl.line01.mline dt.line:nth-last-child(2),
    dl.line01 dd:last-child {
        border: none;
        background: none;
    }
    dl.line01 dt span {
        border: 1px solid #eaeffa;
    }
    .frm01 .col3 {
        padding-top: 2em;
    }
    .frm01 .collist {
        width: 100%;
        float: none;
        padding: 1.5em 0 1.5em 2em;
    }
    .lnkpage a {
        padding-right: 2em;
    }
    .lnkpage a:after {
        margin-right: -7px;
    }
    .lnkpage p.txtarea {
        margin-right: 10px;
    }
    .content .asset h3.pt {
        padding: 1em 0.5em 0.5em 1em;
    }
    .content .asset h3.pt span {
        display: block;
        width: 6em;
        padding: 0 0 0 10px;
        margin-top: -1em;
        margin-left: -1em;
        margin-bottom: 0;
    }
    .content .asset h3.pt span::after {
        border-width: 0px 0px 1.6em 1.2em;
    }
    .content .asset .pt2 .frm01 img {
        width: 60%;
        margin: 1em 20%;
    }
    .content .asset .pt2 .frm01 div {
        width: 100%;
    }
    .box_info {
        padding: 2em 1.5em;
    }
    .rimg,
    .limg {
        width: 100%;
        margin-bottom: 0;
    }
    .rtxt,
    .ltxt {
        width: 94%;
        margin: auto;
        margin-bottom: 3em;
        margin-top: -2em;
    }
    .rimg {
        margin-top: -31em;
    }
    .ltxt {
        margin-top: 12em;
    }
    .rtxt .frm01 {
        margin-left: 0;
        margin-top: 1em;
    }
    .rtxt h3,
    .ltxt h3 {
        margin: 1em 10px 1em 1em;
        font-size: 20px;
        letter-spacing: 0.05em;
    }
    .rtxt .frm01,
    .ltxt .frm01 {
        width: 100%;
        height: auto;
    }
    .lnkpage a,
    .lnkdown a {
        width: 85%;
    }
    .brand .content h2 {
        font-size: 24px;
    }
    .br_ld p span {
        margin-left: 0
    }
    .content.brand .frm01 {
        height: auto;
        padding-bottom: 1em;
    }
    .exprent .frm01 {
        height: auto;
        margin-bottom: 3em;
    }
    .renthome .w1000 h4 {
        padding: 1em 1em;
    }
    .renthome .w1000 p {
        padding: 1em 1.5em 2em;
    }
    .renthome .w1000 h4 span.nmplan {
        text-align: center;
        padding: 5px 0em;
        margin: 10px -10px 0;
    }
    .content .frm01.cmpl h3 {
        width: 90%;
        font-size: 20px;
    }
    .content .frm01.cmpl ul {
        margin: 2em 1.5em 3em;
    }
    .pageNavi li.total {
        display: block;
    }
    .customerBox .textBox,
    .customerBox .photoBox,
    .shopBox .photoBox,
    .shopBox .textBox,
    .imgBox .textBox,
    .imgBox .photoBox {
        float: none;
        width: 100%;
        margin: auto;
    }
    .photoBox img {
        width: 80%;
        margin: auto;
    }
    .voice .customerBox,
    .voice .cusDetail,
    .shopBox,
    .imgBox {
        padding: 30px 1em 40px;
    }
    .shopBox .textBox th {
        padding: 15px 5px;
    }
    .imgBox.imgBox02 .textBox th,
    .imgBox.imgBox02 .textBox td {
        width: 100%;
        display: block;
        padding: 15px 5px;
    }
    .voice .cusDetail .textBox .comTable th,
    .voice .customerBox .textBox .comTable th {
        width: 35%;
    }
    .voice .detailImg .title {
        padding: 10px 0;
        font-size: 18px;
        letter-spacing: 1px;
    }
    ul.shoplist {
        display: none;
    }
    select.selectshop {
        font-size: 12px;
    }
    .staffList li {
        width: 100%;
    }
    .staffList li img {
        width: 86px;
    }
    .mapLink a,
    .mapLink a span {
        width: 17em;
    }
    .mapLink a::before {
        left: 1.5em;
    }
    .br_ld {
        width: 80%;
    }
    #form .wrap1 {
        padding: 1em 0 2em;
    }
    .content #form h2 {
        font-size: 22px;
    }
    #form .mailForm {
        width: 90%;
    }
    #form .mailForm th,
    #form .mailForm td {
        width: 100%;
        display: block;
        padding: 10px;
    }
    #form .mailForm th {
        background: #eee;
        border-bottom: none;
    }
    .col2.lt01 {
        padding-left: 0;
    }
    .navy .frm01 {
        margin-bottom: 2em;
        height: auto;
    }
    .sub .howmuch01 .col2 {
        text-align: center;
    }
    .howmuch01 table {
        margin: 10px;
        text-align: left;
    }
    .box_contact {
        padding: 1em;
        width: 94%;
    }
    .box_contact span.txtttl,
    .box_contact span.txttel,
    .box_contact span.txtadd {
        font-size: 16px;
    }
    .box_contact span.txtshop,
    .box_contact span.txttel {
        font-size: 20px;
    }
    .navy .frm01 {
        padding: 0 1em 2em;
    }
    table.w1100 {
        width: 96%;
        font-size: 14px;
    }
    table.w1100 th,
    table.w1100 td {
        padding: 10px 5px;
    }
    .voice .cusDetail {
        width: 95%;
    }
    .voice .detailImg {
        width: 95%;
        padding: 2em 1em 4em;
    }
    .voice h2 span.mbbr {
        font-size: 20px;
        letter-spacing: 0;
    }
    .sub.seminardtl .teachers .photoBox {
        margin: 5px 0 0;
        width: 105px;
    }
    .sub.seminardtl h2 {
        font-size: 24px;
    }
    .sub.seminar div.ttlBox p {
        font-size: 21px;
        text-align: center;
    }
    .sub.seminar div.ttlBox p.ttl {
        display: block;
        margin: -1.5em auto 0.5em;
    }
    .sub.seminardtl td.pdf a {
        margin: 1em auto 0;
    }
    .seminar .seminarBox,
    .seminar .seminarBox .photoBox,
    .seminar .seminarBox .textBox,
    .seminar .seminarBox .textBox p,
    .seminar .seminarBox .textBox table {
        width: 100%;
        max-width: 100%;
    }
    .seminar .seminarBox table th {
        padding: 0.5em;
    }
    .seminar .searchBox .checkP a {
        display: block;
    }
    .contact .formList {
        width: 90%;
    }
    .privacy .contentBox {
        padding: 0 1em 2em;
    }
    #main.custom #content {
        width: 100%;
    }
    #main.custom .headLine02 .subBoxTitle {
        padding: 5px 0 10px;
        font-size: 24px;
        filter: drop-shadow(0 0 0.05rem #5c7b9a);
    }
    #main.custom .headLine02 p {
        padding: 0 10px 10px;
        font-size: 14px;
        line-height: 1.4;
        filter: drop-shadow(0 0 0.05rem #5c7b9a);
    }
    #main.custom .headLine02 {
        background: url(../images/common/ttl_umb.jpg) no-repeat center bottom;
        background-size: cover;
    }
    #main.custom .headLine02 .subBox {
        padding: 30px 0px 0;
    }
    .reason .content h3,
    .reason .content h3.r02,
    .reason .content h3.r03,
    .reason .content h3.r05,
    .reason .content h3.r04 {
        font-size: 24px;
        line-height: 45px;
        height: 80px;
        background-size: cover;
    }
    .reason .content p {
        padding: 0 0.5em;
    }
    .reason .content .frm01 {
        padding: 2em 1.5em 1.5em 0.75em;
        margin: 2em 0.5em 5em;
    }
    #page_top {
        right: 0;
        bottom: 0;
    }
    .popbg {}
    #fix_poparea {
        width: 100%;
        height: auto;
        margin: 0;
        z-index: 400;
        background: rgba(255, 255, 255, .95);
    }
    #fix_poparea .popttl {
        text-align: center;
        font-size: 16px;
        padding: 5px 10px;
    }
    #fix_poparea .popmain p.ttl {
        padding: 15px 10px 15px;
    }
    #fix_poparea .popmain p.lnk01 {
        display: none;
    }
    #fix_poparea .popmain img {
        max-width: 90%;
        margin: 0 auto 10px;
    }
}


/* SDGs style */

.SDGs {
    background: #fff;
}

@media screen and (max-width: 640px) {
    .SDGs {
        /*background: #f1f1f1;*/
    }
}

.SDGs p,
.SDGs li {
    text-align: justify;
    text-justify: inter-ideograph;
    font-size: 18px;
    line-height: 1.8rem;
}

@media screen and (max-width: 640px) {
    .SDGs p,
    .SDGs li {
        font-size: 16px;
        line-height: 1.5rem;
    }
}

.SDGsTit {
    width: 100%;
    padding-top: 120px;
}

.SDGsTit img {
    display: block;
    width: 100%;
    margin: auto;
}

.SDGsTit img.s,
.SDGsTit p.s {
    display: none;
}

@media screen and (max-width: 640px) {
    .SDGsTit {
        padding-top: 0;
        background: #f1f1f1;
    }
    .SDGsTit img.p {
        display: none;
    }
    .SDGsTit img.s {
        display: block;
        padding: 0 10px;
    }
    .SDGsTit p.s {
        display: block;
        padding: 5px 10px;
        text-align: center;
        font-size: 12px;
    }
}


/* サブタイトル共通 */

.SDGs h2.IminTit {
    font-family: 'Oswald', 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo, sans-serif;
    font-size: 40px;
    color: #0098d8;
    text-align: center;
    margin: 0 auto;
    padding: 0;
    /*position:relative;*/
    max-width: 900px;
    font-weight: 500;
    letter-spacing: 2px;
}

@media screen and (max-width: 640px) {
    .SDGs h2.IminTit {
        font-size: 30px;
        margin: 0 auto 10px auto;
    }
}


/* SGDs宣言 */

.sdgs_wrap00 {
    background: #fff;
    margin: 0 calc(50% - 50vw);
    padding: 0 10px 60px;
}


/* メインタイトル */

.sdgs_sub {
    font-family: 'Oswald', 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo, sans-serif;
    font-size: 40px;
    letter-spacing: 2px;
    color: #0098d8;
    font-weight: 500;
    text-align: center;
    margin-top: 40px;
}

.sdgs_sub br {
    display: none;
}

.sdgs_sub+p {
    display: block;
    font-size: 18px;
    max-width: 900px;
    margin: 10px auto 0;
}


/* SDGsとは */

.qa_sdgs {
    max-width: 900px;
    margin: 30px auto 0;
    padding: 30px 60px;
    background: #f1f1f1;
    border-radius: 3px;
}

@media screen and (max-width: 640px) {
    .qa_sdgs {
        padding: 30px 20px;
    }
}

.qa_sdgs h2 {
    position: relative;
    font-size: 18px;
    text-align: left;
    padding: 0 0 .5em calc(3% + 10px);
    color: #222;
}

@media screen and (max-width: 640px) {
    .qa_sdgs h2 {
        letter-spacing: -0.01rem;
    }
    .qa_sdgs h2 span {
        font-size: 12px;
    }
}

.qa_sdgs h2:before {
    position: absolute;
    content: '';
    width: 3%;
    height: 1px;
    background: #222;
    top: 40%;
    left: 0;
}

.qa_sdgs p {
    font-size: 18px;
}

@media screen and (max-width: 640px) {
    .qa_sdgs p {
        font-size: 16px;
    }
}

.sdgs_sub+p sup {
    font-size: 11px;
}

span.Icap {
    display: block;
    margin-top: 10px;
    font-size: 12px;
    text-align: center;
}

span.Icap br {
    display: none;
}

@media screen and (max-width: 640px) {
    .sdgs_sub {
        font-size: 28px;
        margin-top: 30px;
        letter-spacing: -0.02rem;
    }
    .sdgs_sub br {
        display: block;
    }
    .sdgs_sub+p {
        text-align: justify;
        text-justify: inter-ideograph;
        font-size: 16px;
        line-height: 165%;
    }
    .sdgs_sub+p br {
        display: none;
    }
    .sdgs_sub+p sup {
        font-size: 10px;
    }
    span.Icap {
        font-size: 10px;
    }
    span.Icap br {
        display: block;
    }
}


/* USUIHOME × SDGs */

.sdgs_wrap01 {
    padding: 80px 10px;
    margin: 100px calc(50% - 50vw) 0;
    background: #f1f1f1;
}

@media screen and (max-width: 640px) {
    .sdgs_wrap01 {
        padding: 60px 10px;
        margin: 0 calc(50% - 50vw);
    }
}

.sdgs_wrap01 p {
    max-width: 900px;
    margin: 10px auto 0;
}

.sdgs_wrap01 .sdgs_btn {
    max-width: 900px;
    padding: 20px;
    margin: 25px auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    background: #fff;
}

@media screen and (max-width: 640px) {
    .sdgs_wrap01 .sdgs_btn {
        padding: 0;
        justify-content: flex-start;
        background: none;
    }
}

.sdgs_wrap01 .sdgs_btn a {
    transition: .2s;
}

@media screen and (max-width: 640px) {
    .sdgs_wrap01 .sdgs_btn a {
        width: 18%;
        margin: 1%;
    }
}

.sdgs_wrap01 .sdgs_btn a:hover {
    opacity: .7;
    transform: translateY(-5px);
}

.sdgs_wrap01 .sdgs_btn img {
    display: block;
    margin: 7.5px;
    width: 80px;
    height: auto;
}

@media screen and (max-width: 640px) {
    .sdgs_wrap01 .sdgs_btn img {
        margin: 0;
        width: 100%;
    }
}


/* 4つの目標 */

.SDGs .sdgs_wrap02 {
    margin: 150px auto;
    max-width: 900px;
    padding: 40px 60px;
    position: relative;
}

@media screen and (max-width: 640px) {
    .SDGs .sdgs_wrap02 {
        background: #FFF;
        padding: 60px 10px;
        margin: 0 auto 40px auto;
    }
}

.SDGs .sdgs_wrap02 .center {
    text-align: center;
    margin: 10px auto 0;
}

@media screen and (max-width: 640px) {
    .SDGs .sdgs_wrap02 .center {
        text-align: justify;
        text-justify: inter-ideograph;
    }
}

.SDGs .sdgs_wrap02 ul {
    margin: 20px auto 0;
    max-width: 490px;
}

@media screen and (max-width: 640px) {
    .SDGs .sdgs_wrap02 ul {
        max-width: 100%;
    }
}

.SDGs .sdgs_wrap02 li {
    position: relative;
    padding-left: 30px;
    margin: 30px 0;
    font-size: 26px;
}

@media screen and (max-width: 640px) {
    .SDGs .sdgs_wrap02 li {
        font-size: 22px;
        line-height: 1.8rem;
    }
}

.SDGs .sdgs_wrap02 li span {
    position: absolute;
    content: '';
    font-family: 'Oswald', 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo, sans-serif;
    font-weight: 500;
    /*color: #f1f1f1;*/
    color: #c7c7c7;
    font-size: 40px;
    line-height: 0;
    left: 0;
    top: 50%;
}


/* 4つの目標 詳細 */

.case_number {
    font-family: Oswald, "Noto Sans JP", Arial, Verdana, 游ゴシック, YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    font-size: 40px;
    font-weight: 500;
    line-height: 0;
    color: rgb(199, 199, 199);
}

@media screen and (max-width: 640px) {
    .case_number {
        top: 30px;
        left: 10px;
    }
    .case_number::after {
        position: absolute;
        content: '';
        top: 0;
        left: 2rem;
        width: calc(100vw - 40px - 2rem);
        height: 3px;
        background: #f1f1f1;
    }
}

.SDGs .sdgs_wrap02 h4.case_title,
.SDGs .sdgs_wrap02 h4.case_title p {
    text-align: center;
    font-weight: 400;
    font-size: 20px;
    margin-bottom: 40px;
    letter-spacing: -0.04rem;
}

.SDGs .sdgs_wrap02 h4.case_title br {
    display: block;
}

@media screen and (max-width: 640px) {
    .SDGs .sdgs_wrap02 h4.case_title {
        text-align: justify;
        text-justify: inter-ideograph;
        font-size: 22px;
        font-weight: 400;
        line-height: 1.8rem;
        margin-bottom: 30px;
    }
    .SDGs .sdgs_wrap02 h4.case_title br {
        display: none;
    }
}


/* sdgsアイコン */

.SDGs .sdgs_wrap02>img,
.SDGs .sdgs_wrap03>img {
    display: block;
    width: 140px;
    height: auto;
    margin: 0 auto;
}


/* sdgsアイコン下 タイトル */

.SDGs .sdgs_wrap02 img+h3,
.SDGs .sdgs_wrap03 img+h3 {
    font-family: 'Oswald', 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo, sans-serif;
    font-size: 20px;
    text-align: center;
    /*margin: 0 auto 40px; 白背景アイコン時 */
    margin: 10px auto 20px;
    padding: 0;
    font-weight: 500;
    letter-spacing: -0.02rem;
    background: none!important;
}


/* 番号毎に色分け */

.SDGs h3.sdgs_01 {
    color: #e5001e;
}

.SDGs h3.sdgs_02 {
    color: #d7a600;
}

.SDGs h3.sdgs_03 {
    color: #00973b;
}

.SDGs h3.sdgs_04 {
    color: #c60f28;
}

.SDGs h3.sdgs_05 {
    color: #e83819;
}

.SDGs h3.sdgs_06 {
    color: #00a6d9;
}

.SDGs h3.sdgs_07 {
    color: #fabd00;
}

.SDGs h3.sdgs_08 {
    color: #970b31;
}

.SDGs h3.sdgs_09 {
    color: #ed6a02;
}

.SDGs h3.sdgs_10 {
    color: #dc007a;
}

.SDGs h3.sdgs_11 {
    color: #f5a200;
}

.SDGs h3.sdgs_12 {
    color: #d39200;
}

.SDGs h3.sdgs_13 {
    color: #427935;
}

.SDGs h3.sdgs_14 {
    color: #0075ba;
}

.SDGs h3.sdgs_15 {
    color: #28a838;
}

.SDGs h3.sdgs_16 {
    color: #004c88;
}

.SDGs h3.sdgs_17 {
    color: #003067;
}


/*
@media screen and (max-width: 640px) {
	.sdgs_wrap02 img{
		margin-bottom:20px;
	}
}
*/

.SDGs .sdgs_wrap02 .case_pic {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    margin: 20px auto 0px;
    max-width: 800px;
}

.SDGs .sdgs_wrap02 .case_pic img {
    width: calc(800px/2 - 10px);
    height: 250px;
    object-fit: cover;
    border-radius: 3px;
    margin-right: 10px;
}

.SDGs .sdgs_wrap02 .case_pic img:last-child {
    margin-right: 0;
}

@media screen and (min-width: 641px) and (max-width: 1024px) {
    .SDGs .sdgs_wrap02 .case_pic img {
        width: calc(50% - 5px);
        height: 30vh;
    }
}

@media screen and (max-width: 640px) {
    .SDGs .sdgs_wrap02 .case_pic img {
        width: calc(50% - 5px);
        height: 15vh;
    }
}


/* 17 GOALS */

.SDGs .sdgs_wrap03 {
    padding: 80px 0 0;
    margin: 70px 0;
}

@media screen and (max-width: 640px) {
    .SDGs .sdgs_wrap03 {
        background: #FFF;
        padding: 60px 10px;
        margin: 0 auto 40px auto;
    }
}

.SDGs .sdgs_wrap03 .case_area {
    margin: 0 calc(50% - 50vw);
    padding: 40px calc(50vw - 465px) 80px calc(50vw - 465px);
    display: flex;
    flex-wrap: wrap;
}

@media screen and (max-width: 640px) {
    .SDGs .sdgs_wrap03 .case_area {
        margin: 0 calc(50% - 50vw);
    }
}


/* 17 GOALS OF USUIHOME 番号別背景 */

.SDGs h3.sdgs_01+.case_area {
    background: rgb(233, 179, 177);
    background: linear-gradient(35deg, rgba(233, 179, 177, 1) 0%, rgba(233, 177, 192, 1) 100%);
}

.SDGs h3.sdgs_02+.case_area {
    background: rgb(217, 201, 150);
    background: linear-gradient(35deg, rgba(217, 201, 150, 1) 0%, rgba(217, 188, 150, 1) 100%);
}

.SDGs h3.sdgs_03+.case_area {
    background: rgb(138, 177, 153);
    background: linear-gradient(35deg, rgba(138, 177, 153, 1) 0%, rgba(145, 177, 138, 1) 100%);
}

.SDGs h3.sdgs_04+.case_area {
    background: rgb(207, 173, 172);
    background: linear-gradient(35deg, rgba(207, 173, 172, 1) 0%, rgba(207, 172, 186, 1) 100%);
}

.SDGs h3.sdgs_05+.case_area {
    background: rgb(228, 181, 172);
    background: linear-gradient(35deg, rgba(228, 181, 172, 1) 0%, rgba(228, 172, 184, 1) 100%);
}

.SDGs h3.sdgs_06+.case_area {
    background: rgb(141, 199, 217);
    background: linear-gradient(35deg, rgba(141, 199, 217, 1) 0%, rgba(141, 217, 205, 1) 100%);
}

.SDGs h3.sdgs_07+.case_area {
    background: rgb(255, 233, 165);
    background: linear-gradient(35deg, rgba(255, 233, 165, 1) 0%, rgba(255, 210, 165, 1) 100%);
}

.SDGs h3.sdgs_08+.case_area {
    background: rgb(162, 142, 145);
    background: linear-gradient(35deg, rgba(162, 142, 145, 1) 0%, rgba(162, 142, 157, 1) 100%);
}

.SDGs h3.sdgs_09+.case_area {
    background: rgb(241, 191, 152);
    background: linear-gradient(35deg, rgba(241, 191, 152, 1) 0%, rgba(241, 171, 152, 1) 100%);
}

.SDGs h3.sdgs_10+.case_area {
    background: rgb(210, 162, 181);
    background: linear-gradient(35deg, rgba(210, 162, 181, 1) 0%, rgba(210, 162, 202, 1) 100%);
}

.SDGs h3.sdgs_11+.case_area {
    background: rgb(245, 202, 149);
    background: linear-gradient(35deg, rgba(245, 202, 149, 1) 0%, rgba(245, 183, 149, 1) 100%);
}

.SDGs h3.sdgs_12+.case_area {
    background: rgb(209, 180, 115);
    background: linear-gradient(35deg, rgba(209, 180, 115, 1) 0%, rgba(209, 151, 115, 1) 100%);
}

.SDGs h3.sdgs_13+.case_area {
    background: rgb(103, 126, 98);
    background: linear-gradient(35deg, rgba(103, 126, 98, 1) 0%, rgba(117, 126, 98, 1) 100%);
}

.SDGs h3.sdgs_14+.case_area {
    background: rgb(130, 169, 191);
    background: linear-gradient(35deg, rgba(130, 169, 191, 1) 0%, rgba(130, 191, 177, 1) 100%);
}

.SDGs h3.sdgs_15+.case_area {
    background: rgb(124, 168, 129);
    background: linear-gradient(35deg, rgba(124, 168, 129, 1) 0%, rgba(147, 168, 124, 1) 100%);
}

.SDGs h3.sdgs_16+.case_area {
    background: rgb(95, 122, 143);
    background: linear-gradient(35deg, rgba(95, 122, 143, 1) 0%, rgba(95, 143, 138, 1) 100%);
}

.SDGs h3.sdgs_17+.case_area {
    background: rgb(74, 92, 112);
    background: linear-gradient(35deg, rgba(74, 92, 112, 1) 0%, rgba(74, 110, 112, 1) 100%);
}


/* 17 GOALS OF USUIHOME 事例一覧 */

.SDGs .sdgs_wrap03 .case_area>p {
    width: 100%;
    display: block;
    text-align: center;
    margin-bottom: 25px;
}

.SDGs .sdgs_wrap03 .case_tile {
    width: calc(100% / 2 - 30px);
    /*padding: 15px;*/
    margin: 15px;
    /*background: #fff;*/
    border-radius: 3px;
    overflow: hidden;
}

@media screen and (max-width: 640px) {
    .SDGs .sdgs_wrap03 .case_tile {
        width: calc(100% - 30px);
    }
}

.SDGs .sdgs_wrap03 .case_tile>img {
    width: 100%;
    height: auto;
}


/*　画像の拡大＋テキスト出現　*/

.zoom {
    position: relative;
    cursor: pointer;
    background: #FFF;
    box-shadow: 0 5px 10px 0px rgb(0 0 0 / 2%), 0 5px 10px rgb(0 0 0 / 5%);
}

.zoom span.mask {
    height: 280px;
    position: relative;
    transition: .2s ease-in-out;
    display: block;
    line-height: 0;
    /* 行の高さ0 */
    overflow: hidden;
    background: #f1f1f1;
}

@media screen and (min-width: 641px) and (max-width: 1024px) {
    .zoom span.mask {
        height: 20vh;
    }
}

@media screen and (max-width: 640px) {
    .zoom span.mask {
        height: 28vh;
    }
}

.zoom a span.mask::before {
    opacity: 0;
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    transition: .2s ease-in-out;
}

.zoom:hover span.mask::before {
    opacity: 1;
}

.zoom .mask img {
    position: absolute;
    top: 50%;
    left: 50%;
    filter: blur(0);
    transform: scale(1) translate(-50%, -50%);
    transition: .2s ease-in-out;
    width: 105%;
    height: auto;
}

.zoom:hover a .mask img {
    top: 50%;
    left: 50%;
    filter: blur(5px);
    transform: scale(1.1) translate(-45%, -45%);
}

.zoom:hover .mask img {
    top: 50%;
    left: 50%;
    transform: scale(1.1) translate(-45%, -45%);
}

.zoom a {
    color: #222;
    text-decoration: none;
}

.zoom span.cap {
    opacity: 0;
    transition: .3s ease-in-out;
    /* 移り変わる速さ */
    position: absolute;
    z-index: 3;
    /*テキストを前面に出す*/
    top: 100%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    line-height: 1.5;
    /*行の高さを1.5にする*/
    width: calc(100% - 30px);
}

.zoom:hover span.cap {
    /*hoverした時の変化*/
    opacity: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


/* 事例タイトル */

.SDGs .sdgs_wrap03 .case_tile h4 {
    text-align: justify;
    text-justify: inter-ideograph;
    font-size: 18px;
    font-weight: 500;
    margin: 10px 15px;
}


/* 関連事例 */

.SDGs .sdgs_wrap03 .case_tile h5 {
    position: relative;
    font-family: 'Oswald', 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo, sans-serif;
    margin: 10px 15px 0;
    text-align: center;
    color: #999;
}

.SDGs .sdgs_wrap03 .case_tile h5:before {
    position: absolute;
    content: "";
    height: 1px;
    width: 35%;
    background: #f1f1f1;
    top: calc(50% - 0.5px);
    left: 0%;
}

.SDGs .sdgs_wrap03 .case_tile h5:after {
    position: absolute;
    content: "";
    height: 1px;
    width: 35%;
    background: #f1f1f1;
    top: calc(50% - 0.5px);
    left: 65%;
}

.SDGs .sdgs_wrap03 .other {
    display: flex;
    justify-content: center;
    margin: 10px 15px 30px;
}

.SDGs .sdgs_wrap03 .other img {
    display: block;
    margin: 0 7.5px;
    width: 60px;
    height: auto;
}


/* MOREボタン URLがある場合のみ表示 */

.SDGs .sdgs_wrap03 span.more_btn {
    opacity: 0;
    z-index: 4;
    position: absolute;
    bottom: 0;
    display: block;
    text-align: center;
    width: 100%;
    padding: 0 15px;
    color: #FFF;
    background: #222;
    transition: .5s ease-in-out;
}

.zoom:hover span.more_btn {
    opacity: 1;
}


/* 下部固定sdgsボタン */

.sdgs_wrap04 {
    position: fixed;
    bottom: -200px;
    left: 0;
    transition: .3s;
    transition-delay: .3s;
    width: 100%;
    padding: 10px;
    background: #FFF;
    z-index: 99;
    box-shadow: 0 -5px 10px 0px rgb(0 0 0 / 2%), 0 -5px 10px rgb(0 0 0 / 5%);
}

@media screen and (max-width: 640px) {
    .sdgs_wrap04 {
        display: none;
    }
}

.sdgs_wrap04 .sdgs_btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    cursor: pointer;
}

.sdgs_wrap04 .sdgs_btn a {
    transition: .2s;
}

.sdgs_wrap04 .sdgs_btn a:hover {
    opacity: .7;
    transform: translateY(-5px);
}

.sdgs_wrap04 .sdgs_btn img {
    display: block;
    margin: 5px;
    width: 50px;
    height: auto;
}

@media screen and (min-width: 641px) and (max-width: 1024px) {
    .sdgs_wrap04 .sdgs_btn {
        max-width: calc(800px + 2%);
        margin: 0 auto;
    }
    .sdgs_wrap04 .sdgs_btn img {
        margin: 0;
        width: 100%;
    }
    .sdgs_wrap04 .sdgs_btn a {
        width: 9.111%;
        margin: 1%;
    }
}

.sdgsactive {
    transform: translateY(-200px);
}

.sdgs_btn_sp {
    display: none;
}

@media screen and (max-width: 640px) {
    .sdgs_btn_sp {
        display: block;
        width: 44px;
        height: calc(44px + 10px);
        position: fixed;
        right: 6px;
        bottom: 64px;
        z-index: 100;
    }
    .sdgs_btn_sp a {
        position: relative;
        display: block;
        width: 44px;
        height: 54px;
        text-decoration: none;
        opacity: 0.75;
    }
    .sdgs_btn_sp a::before {
        content: '';
        margin: auto;
        background: url(../img/sdgs/go17goals.svg) no-repeat;
        display: block;
        width: 44px;
        height: 44px;
    }
}


/* フェードインアニメーション */

.sdgs_fadein {
    opacity: 0;
    /* transform : translate(0, 45px); */
    transition: all .5s;
}

.sdgs_fadein.sdgs_scrollin {
    opacity: 1;
    transform: translate(0, 0);
}

.sdgs_wrap03 .sdgs_fadein:nth-of-type(2n) {
    -moz-transition-delay: .1s;
    -webkit-transition-delay: .1s;
    -o-transition-delay: .1s;
    -ms-transition-delay: .1s;
}

@media screen and (max-width: 640px) {
    .sdgs_wrap03 .sdgs_fadein:nth-of-type(2n) {
        -moz-transition-delay: 0;
        -webkit-transition-delay: 0;
        -o-transition-delay: 0;
        -ms-transition-delay: 0;
    }
}


/* タイトルアニメーション */

.title_animation {
    animation-name: AnimationBase;
    animation-duration: .6s;
    animation-fill-mode: forwards;
    position: relative;
    overflow: hidden;
    /*　はみ出た色要素を隠す　*/
    opacity: 0;
}

@keyframes AnimationBase {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}


/*中の要素*/

.bgappear {
    animation-name: AnimationSecond;
    animation-duration: .6s;
    animation-delay: .6s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes AnimationSecond {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}


/*左から右*/

.bgLtoR::before {
    animation-name: AnimationLtoR;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #0098d8;
    /*伸びる背景色*/
}

@keyframes AnimationLtoR {
    0% {
        transform-origin: left;
        transform: scaleX(0);
    }
    50% {
        transform-origin: left;
        transform: scaleX(1);
    }
    50.001% {
        transform-origin: right;
    }
    100% {
        transform-origin: right;
        transform: scaleX(0);
    }
}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.Back01Trigger,
.Back02Trigger {
    opacity: 0;
}


/* ラインアニメーシ� display: none;
    }
}

/* sdgsアイコン */

.SDGs .sdgs_wrap02>img,
.SDGs .sdgs_wrap03>img {
    display: block;
    width: 140px;
    height: auto;
    margin: 0 auto;
}


/* sdgsアイコン下 タイトル */

.SDGs .sdgs_wrap02 img+h3,
.SDGs .sdgs_wrap03 img+h3 {
    font-family: 'Oswald', 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo, sans-serif;
    font-size: 20px;
    text-align: center;
    /*margin: 0 auto 40px; 白背景アイコン時 */
    margin: 10px auto 20px;
    padding: 0;
    font-weight: 500;
    letter-spacing: -0.02rem;
    background: none!important;
}


/* 番号毎に色分け */

.SDGs h3.sdgs_01 {
    color: #e5001e;
}

.SDGs h3.sdgs_02 {
    color: #d7a600;
}

.SDGs h3.sdgs_03 {
    color: #00973b;
}

.SDGs h3.sdgs_04 {
    color: #c60f28;
}

.SDGs h3.sdgs_05 {
    color: #e83819;
}

.SDGs h3.sdgs_06 {
    color: #00a6d9;
}

.SDGs h3.sdgs_07 {
    color: #fabd00;
}

.SDGs h3.sdgs_08 {
    color: #970b31;
}

.SDGs h3.sdgs_09 {
    color: #ed6a02;
}

.SDGs h3.sdgs_10 {
    color: #dc007a;
}

.SDGs h3.sdgs_11 {
    color: #f5a200;
}

.SDGs h3.sdgs_12 {
    color: #d39200;
}

.SDGs h3.sdgs_13 {
    color: #427935;
}

.SDGs h3.sdgs_14 {
    color: #0075ba;
}

.SDGs h3.sdgs_15 {
    color: #28a838;
}

.SDGs h3.sdgs_16 {
    color: #004c88;
}

.SDGs h3.sdgs_17 {
    color: #003067;
}


/*
@media screen and (max-width: 640px) {
	.sdgs_wrap02 img{
		margin-bottom:20px;
	}
}
*/

.SDGs .sdgs_wrap02 .case_pic {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    margin: 20px auto 0px;
    max-width: 800px;
}

.SDGs .sdgs_wrap02 .case_pic img {
    width: calc(800px/2 - 10px);
    height: 250px;
    object-fit: cover;
    border-radius: 3px;
    margin-right: 10px;
}

.SDGs .sdgs_wrap02 .case_pic img:last-child {
    margin-right: 0;
}

@media screen and (min-width: 641px) and (max-width: 1024px) {
    .SDGs .sdgs_wrap02 .case_pic img {
        width: calc(50% - 5px);
        height: 30vh;
    }
}

@media screen and (max-width: 640px) {
    .SDGs .sdgs_wrap02 .case_pic img {
        width: calc(50% - 5px);
        height: 15vh;
    }
}


/* 17 GOALS */

.SDGs .sdgs_wrap03 {
    padding: 80px 0 0;
    margin: 70px 0;
}

@media screen and (max-width: 640px) {
    .SDGs .sdgs_wrap03 {
        background: #FFF;
        padding: 60px 10px;
        margin: 0 auto 40px auto;
    }
}

.SDGs .sdgs_wrap03 .case_area {
    margin: 0 calc(50% - 50vw);
    padding: 40px calc(50vw - 465px) 80px calc(50vw - 465px);
    display: flex;
    flex-wrap: wrap;
}

@media screen and (max-width: 640px) {
    .SDGs .sdgs_wrap03 .case_area {
        margin: 0 calc(50% - 50vw);
    }
}


/* 17 GOALS OF USUIHOME 番号別背景 */

.SDGs h3.sdgs_01+.case_area {
    background: rgb(233, 179, 177);
    background: linear-gradient(35deg, rgba(233, 179, 177, 1) 0%, rgba(233, 177, 192, 1) 100%);
}

.SDGs h3.sdgs_02+.case_area {
    background: rgb(217, 201, 150);
    background: linear-gradient(35deg, rgba(217, 201, 150, 1) 0%, rgba(217, 188, 150, 1) 100%);
}

.SDGs h3.sdgs_03+.case_area {
    background: rgb(138, 177, 153);
    background: linear-gradient(35deg, rgba(138, 177, 153, 1) 0%, rgba(145, 177, 138, 1) 100%);
}

.SDGs h3.sdgs_04+.case_area {
    background: rgb(207, 173, 172);
    background: linear-gradient(35deg, rgba(207, 173, 172, 1) 0%, rgba(207, 172, 186, 1) 100%);
}

.SDGs h3.sdgs_05+.case_area {
    background: rgb(228, 181, 172);
    background: linear-gradient(35deg, rgba(228, 181, 172, 1) 0%, rgba(228, 172, 184, 1) 100%);
}

.SDGs h3.sdgs_06+.case_area {
    background: rgb(141, 199, 217);
    background: linear-gradient(35deg, rgba(141, 199, 217, 1) 0%, rgba(141, 217, 205, 1) 100%);
}

.SDGs h3.sdgs_07+.case_area {
    background: rgb(255, 233, 165);
    background: linear-gradient(35deg, rgba(255, 233, 165, 1) 0%, rgba(255, 210, 165, 1) 100%);
}

.SDGs h3.sdgs_08+.case_area {
    background: rgb(162, 142, 145);
    background: linear-gradient(35deg, rgba(162, 142, 145, 1) 0%, rgba(162, 142, 157, 1) 100%);
}

.SDGs h3.sdgs_09+.case_area {
    background: rgb(241, 191, 152);
    background: linear-gradient(35deg, rgba(241, 191, 152, 1) 0%, rgba(241, 171, 152, 1) 100%);
}

.SDGs h3.sdgs_10+.case_area {
    background: rgb(210, 162, 181);
    background: linear-gradient(35deg, rgba(210, 162, 181, 1) 0%, rgba(210, 162, 202, 1) 100%);
}

.SDGs h3.sdgs_11+.case_area {
    background: rgb(245, 202, 149);
    background: linear-gradient(35deg, rgba(245, 202, 149, 1) 0%, rgba(245, 183, 149, 1) 100%);
}

.SDGs h3.sdgs_12+.case_area {
    background: rgb(209, 180, 115);
    background: linear-gradient(35deg, rgba(209, 180, 115, 1) 0%, rgba(209, 151, 115, 1) 100%);
}

.SDGs h3.sdgs_13+.case_area {
    background: rgb(103, 126, 98);
    background: linear-gradient(35deg, rgba(103, 126, 98, 1) 0%, rgba(117, 126, 98, 1) 100%);
}

.SDGs h3.sdgs_14+.case_area {
    background: rgb(130, 169, 191);
    background: linear-gradient(35deg, rgba(130, 169, 191, 1) 0%, rgba(130, 191, 177, 1) 100%);
}

.SDGs h3.sdgs_15+.case_area {
    background: rgb(124, 168, 129);
    background: linear-gradient(35deg, rgba(124, 168, 129, 1) 0%, rgba(147, 168, 124, 1) 100%);
}

.SDGs h3.sdgs_16+.case_area {
    background: rgb(95, 122, 143);
    background: linear-gradient(35deg, rgba(95, 122, 143, 1) 0%, rgba(95, 143, 138, 1) 100%);
}

.SDGs h3.sdgs_17+.case_area {
    background: rgb(74, 92, 112);
    background: linear-gradient(35deg, rgba(74, 92, 112, 1) 0%, rgba(74, 110, 112, 1) 100%);
}


/* 17 GOALS OF USUIHOME 事例一覧 */

.SDGs .sdgs_wrap03 .case_area>p {
    width: 100%;
    display: block;
    text-align: center;
    margin-bottom: 25px;
}

.SDGs .sdgs_wrap03 .case_tile {
    width: calc(100% / 2 - 30px);
    /*padding: 15px;*/
    margin: 15px;
    /*background: #fff;*/
    border-radius: 3px;
    overflow: hidden;
}

@media screen and (max-width: 640px) {
    .SDGs .sdgs_wrap03 .case_tile {
        width: calc(100% - 30px);
    }
}

.SDGs .sdgs_wrap03 .case_tile>img {
    width: 100%;
    height: auto;
}


/*　画像の拡大＋テキスト出現　*/

.zoom {
    position: relative;
    cursor: pointer;
    background: #FFF;
    box-shadow: 0 5px 10px 0px rgb(0 0 0 / 2%), 0 5px 10px rgb(0 0 0 / 5%);
}

.zoom span.mask {
    height: 280px;
    position: relative;
    transition: .2s ease-in-out;
    display: block;
    line-height: 0;
    /* 行の高さ0 */
    overflow: hidden;
    background: #f1f1f1;
}

@media screen and (min-width: 641px) and (max-width: 1024px) {
    .zoom span.mask {
        height: 20vh;
    }
}

@media screen and (max-width: 640px) {
    .zoom span.mask {
        height: 28vh;
    }
}

.zoom a span.mask::before {
    opacity: 0;
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    transition: .2s ease-in-out;
}

.zoom:hover span.mask::before {
    opacity: 1;
}

.zoom .mask img {
    position: absolute;
    top: 50%;
    left: 50%;
    filter: blur(0);
    transform: scale(1) translate(-50%, -50%);
    transition: .2s ease-in-out;
    width: 105%;
    height: auto;
}

.zoom:hover a .mask img {
    top: 50%;
    left: 50%;
    filter: blur(5px);
    transform: scale(1.1) translate(-45%, -45%);
}

.zoom:hover .mask img {
    top: 50%;
    left: 50%;
    transform: scale(1.1) translate(-45%, -45%);
}

.zoom a {
    color: #222;
    text-decoration: none;
}

.zoom span.cap {
    opacity: 0;
    transition: .3s ease-in-out;
    /* 移り変わる速さ */
    position: absolute;
    z-index: 3;
    /*テキストを前面に出す*/
    top: 100%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    line-height: 1.5;
    /*行の高さを1.5にする*/
    width: calc(100% - 30px);
}

.zoom:hover span.cap {
    /*hoverした時の変化*/
    opacity: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


/* 事例タイトル */

.SDGs .sdgs_wrap03 .case_tile h4 {
    text-align: justify;
    text-justify: inter-ideograph;
    font-size: 18px;
    font-weight: 500;
    margin: 10px 15px;
}


/* 関連事例 */

.SDGs .sdgs_wrap03 .case_tile h5 {
    position: relative;
    font-family: 'Oswald', 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo, sans-serif;
    margin: 10px 15px 0;
    text-align: center;
    color: #999;
}

.SDGs .sdgs_wrap03 .case_tile h5:before {
    position: absolute;
    content: "";
    height: 1px;
    width: 35%;
    background: #f1f1f1;
    top: calc(50% - 0.5px);
    left: 0%;
}

.SDGs .sdgs_wrap03 .case_tile h5:after {
    position: absolute;
    content: "";
    height: 1px;
    width: 35%;
    background: #f1f1f1;
    top: calc(50% - 0.5px);
    left: 65%;
}

.SDGs .sdgs_wrap03 .other {
    display: flex;
    justify-content: center;
    margin: 10px 15px 30px;
}

.SDGs .sdgs_wrap03 .other img {
    display: block;
    margin: 0 7.5px;
    width: 60px;
    height: auto;
}


/* MOREボタン URLがある場合のみ表示 */

.SDGs .sdgs_wrap03 span.more_btn {
    opacity: 0;
    z-index: 4;
    position: absolute;
    bottom: 0;
    display: block;
    text-align: center;
    width: 100%;
    padding: 0 15px;
    color: #FFF;
    background: #222;
    transition: .5s ease-in-out;
}

.zoom:hover span.more_btn {
    opacity: 1;
}


/* 下部固定sdgsボタン */

.sdgs_wrap04 {
    position: fixed;
    bottom: -200px;
    left: 0;
    transition: .3s;
    transition-delay: .3s;
    width: 100%;
    padding: 10px;
    background: #FFF;
    z-index: 99;
    box-shadow: 0 -5px 10px 0px rgb(0 0 0 / 2%), 0 -5px 10px rgb(0 0 0 / 5%);
}

@media screen and (max-width: 640px) {
    .sdgs_wrap04 {
        display: none;
    }
}

.sdgs_wrap04 .sdgs_btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    cursor: pointer;
}

.sdgs_wrap04 .sdgs_btn a {
    transition: .2s;
}

.sdgs_wrap04 .sdgs_btn a:hover {
    opacity: .7;
    transform: translateY(-5px);
}

.sdgs_wrap04 .sdgs_btn img {
    display: block;
    margin: 5px;
    width: 50px;
    height: auto;
}

@media screen and (min-width: 641px) and (max-width: 1024px) {
    .sdgs_wrap04 .sdgs_btn {
        max-width: calc(800px + 2%);
        margin: 0 auto;
    }
    .sdgs_wrap04 .sdgs_btn img {
        margin: 0;
        width: 100%;
    }
    .sdgs_wrap04 .sdgs_btn a {
        width: 9.111%;
        margin: 1%;
    }
}

.sdgsactive {
    transform: translateY(-200px);
}

.sdgs_btn_sp {
    display: none;
}

@media screen and (max-width: 640px) {
    .sdgs_btn_sp {
        display: block;
        width: 44px;
        height: calc(44px + 10px);
        position: fixed;
        right: 6px;
        bottom: 64px;
        z-index: 100;
    }
    .sdgs_btn_sp a {
        position: relative;
        display: block;
        width: 44px;
        height: 54px;
        text-decoration: none;
        opacity: 0.75;
    }
    .sdgs_btn_sp a::before {
        content: '';
        margin: auto;
        background: url(../img/sdgs/go17goals.svg) no-repeat;
        display: block;
        width: 44px;
        height: 44px;
    }
}


/* フェードインアニメーション */

.sdgs_fadein {
    opacity: 0;
    /* transform : translate(0, 45px); */
    transition: all .5s;
}

.sdgs_fadein.sdgs_scrollin {
    opacity: 1;
    transform: translate(0, 0);
}

.sdgs_wrap03 .sdgs_fadein:nth-of-type(2n) {
    -moz-transition-delay: .1s;
    -webkit-transition-delay: .1s;
    -o-transition-delay: .1s;
    -ms-transition-delay: .1s;
}

@media screen and (max-width: 640px) {
    .sdgs_wrap03 .sdgs_fadein:nth-of-type(2n) {
        -moz-transition-delay: 0;
        -webkit-transition-delay: 0;
        -o-transition-delay: 0;
        -ms-transition-delay: 0;
    }
}


/* タイトルアニメーション */

.title_animation {
    animation-name: AnimationBase;
    animation-duration: .6s;
    animation-fill-mode: forwards;
    position: relative;
    overflow: hidden;
    /*　はみ出た色要素を隠す　*/
    opacity: 0;
}

@keyframes AnimationBase {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}


/*中の要素*/

.bgappear {
    animation-name: AnimationSecond;
    animation-duration: .6s;
    animation-delay: .6s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes AnimationSecond {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}


/*左から右*/

.bgLtoR::before {
    animation-name: AnimationLtoR;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #0098d8;
    /*伸びる背景色*/
}

@keyframes AnimationLtoR {
    0% {
        transform-origin: left;
        transform: scaleX(0);
    }
    50% {
        transform-origin: left;
        transform: scaleX(1);
    }
    50.001% {
        transform-origin: right;
    }
    100% {
        transform-origin: right;
        transform: scaleX(0);
    }
}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.Back01Trigger,
.Back02Trigger {
    opacity: 0;
}


/* ラインアニメーション */

span.line01::before {
    position: absolute;
    content: '';
    top: 0;
    left: 40px;
    background: #f1f1f1;
    width: calc(100% - 80px);
    height: 3px;
    animation: stroke-width-left 1s;
}

span.line01::after {
    position: absolute;
    content: '';
    bottom: 0;
    left: 40px;
    background: #f1f1f1;
    width: calc(100% - 80px);
    height: 3px;
    animation: stroke-width-right 1s;
}

@keyframes stroke-width-left {
    0% {
        transform: scaleX(0);
        transform-origin: left;
    }
    100% {
        transform: scaleX(1);
    }
}

@keyframes stroke-width-right {
    0% {
        transform: scaleX(0);
        transform-origin: right;
    }
    100% {
        transform: scaleX(1);
    }
}

span.line02::before {
    position: absolute;
    content: '';
    top: 40px;
    left: 0;
    background: #f1f1f1;
    width: 3px;
    height: calc(100% - 80px);
    animation: stroke-height-top 1s;
}

span.line02::after {
    position: absolute;
    content: '';
    top: 40px;
    right: 0;
    background: #f1f1f1;
    width: 3px;
    height: calc(100% - 80px);
    animation: stroke-height-bottom 1s;
}

@keyframes stroke-height-top {
    0% {
        transform: scaleY(0);
        transform-origin: top;
    }
    100% {
        transform: scaleY(1);
    }
}

@keyframes stroke-height-bottom {
    0% {
        transform: scaleY(0);
        transform-origin: bottom;
    }
    100% {
        transform: scaleY(1);
    }
}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

span.LineTrigger01,
span.LineTrigger02 {
    opacity: 1;
}

@media screen and (max-width: 640px) {
    span.line01::before,
    span.line01::after,
    span.line02::before,
    span.line02::after {
        display: none;
    }
}


/* css hoken 20210817 */

#hoken.sub div.ttl {
    position: relative;
}

#hoken.sub div.ttl:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #3466CC;
    opacity: 0.5;
    z-index: -1;
}

.gr__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 40px;
}

.gr__btn .btn {
    max-width: 310px;
    width: 100%;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #fff;
    background: #3466CC;
    margin: 0 5px;
    box-shadow: none;
    border: none;
    padding: 16px 0 !important;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.5s ease;
}

.gr__btn .btn:hover {
    background: #02346d;
}

.gr__btn .btn img {
    margin-right: 10px;
}

.gr__btn .btn:first-child img {
    max-width: 30px;
}

.gr__btn .btn:last-of-type img {
    max-width: 25px;
}

body .row-custom {
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    margin: 105px 0 0 !important;
}

.content .col-custom {
    max-width: 40%;
    width: 100%;
}

.content .col-custom.mr-37 {
    margin-right: 37px;
}

.content .col-custom.ml-37 {
    margin-left: 37px;
}

body .content .col-custom .frm01 {
    border: 1px #e3e9f4 solid;
    box-shadow: 0 0 22px rgba(0, 0, 0, 0.1);
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0 40px 35px;
    margin-bottom: 75px;
}

body .content .circle {
    font-size: 20px;
    color: #fff;
    border-radius: 50%;
    font-weight: 500;
    background-color: #3466CC;
    width: 150px;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 40px;
    position: relative;
    text-align: center;
    margin-bottom: 75px;
}

body .content .circle:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    z-index: -1;
    box-shadow: 0 0 0 112px rgba(52, 102, 204, .05), 0 0 0 94px rgba(52, 102, 204, .05), 0 0 0 56px rgba(52, 102, 204, .05), 0 0 0 28px rgba(52, 102, 204, .05);
}

.content .col-custom .frm01 h3 {
    width: 100%;
    clear: both;
    font-size: 18px;
    text-align: center;
    color: #fff;
    font-weight: 400;
    padding: 0.3em 0;
    background: #36c;
    margin: -10px auto 35px !important;
    position: relative;
    max-width: 300px;
    border-radius: 22px;
    letter-spacing: inherit;
}

.content .col-custom .frm01 p {
    margin: 0 !important;
    font-size: 15px;
    color: #222;
    max-width: calc(100% - 123px);
}

.content .col-custom .frm01 .thumnail {
    max-width: 98px;
    height: 98px;
    width: 100%;
    overflow: hidden;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-self: unset;
    justify-content: center;
}

#hoken.sub.asset .ttl {
    background: url(../images/hoken/ttl_hoken.png) no-repeat center bottom;
    background-size: cover;
}

@media only screen and (max-width: 1180px) {
    .content .col-custom.mr-37 {
        margin-right: 25px;
    }
    .content .col-custom.ml-37 {
        margin-left: 25px;
    }
    .content .col-custom {
        max-width: 38%;
    }
    body .content .col-custom .frm01 {
        padding: 0 25px 25px;
        margin-bottom: 45px;
    }
    body .content .col-custom .frm01 h3 {
        margin: -10px auto 15px !important;
        font-size: 16px;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

@media only screen and (max-width: 1025px) {
    .content .col-custom .frm01 p {
        max-width: 100%;
        margin-bottom: 15px;
    }
    .content .col-custom {
        max-width: 34%;
    }
    .content .col-custom .frm01 .thumnail {
        max-width: 100%;
    }
    .gr__btn .btn:first-child {
        margin-bottom: 15px;
    }
}

.txt__underCircle {
    display: none;
}

.h-pc {
    display: none;
}

@media only screen and (max-width: 767px) {
    .content .asset .frm01 h3 {
        order: 1;
    }
    .content .col-custom {
        max-width: 60%;
    }
    .content .col-custom.mr-37 {
        margin-right: 0;
    }
    .content .col-custom.ml-37 {
        margin-left: 0;
    }
    .break {
        width: 100%;
    }
    .h-sp {
        display: none;
    }
    body .h-pc {
        display: block;
    }
    #hoken .wrap1 p br {
        display: none;
    }
    .content .col-custom .frm01 p {
        padding-bottom: 20px;
        max-width: 100%;
        order: 3;
    }
    .content .col-custom .frm01 .thumnail {
        max-width: 100%;
        height: calc(160/375*100vw);
        border-radius: 0px;
        order: 2;
        margin-bottom: 10px;
    }
    body .content .circle {
        order: 1;
    }
    .break {
        order: 2;
    }
    .content .col-custom {
        order: 4;
    }
    body .txt__underCircle {
        order: 3;
        display: block;
        max-width: 47%;
        width: 100%;
        text-align: center;
        margin: 20px 0;
        padding-top: 20px;
        justify-content: center;
        margin-bottom: 40px;
    }
    body .row-custom {
        margin: 150px 0 0 !important;
    }
}

@media only screen and (max-width: 415px) {
    .content .col-custom {
        max-width: 100%;
    }
    body .content .col-custom .frm01 {
        padding: 0 30px 35px;
    }
    .content .col-custom .frm01 p {
        padding-bottom: 20px;
        max-width: 100%;
    }
}

@media only screen and (max-width: 500px) {
    body .txt__underCircle {
        max-width: 100%;
    }
    .content .col-custom {
        max-width: 100%;
    }
}

.memberIntroduction .container {
    max-width: 980px;
    margin: 0 auto;
}

.memberIntroduction__hero {
    background-image: url(../images/bg-hero.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    text-align: center;
    padding: 4.5rem 0;
}

.memberIntroduction__hero-des {
    font-size: 2.45rem;
    font-weight: 700;
    line-height: 1;
    color: #3366CC;
    padding-bottom: 1rem;
}

.memberIntroduction__hero-des img {
    max-width: 40rem;
}

.memberIntroduction__hero-ttl {
    font-size: 5.5rem;
    font-weight: 700;
    line-height: 1;
    color: #3366CC;
    padding-bottom: 4rem;
}

.memberIntroduction__hero-percent {
    padding-bottom: 4.5rem;
}

.memberIntroduction__hero-percent img {
    max-width: 30rem;
}

.memberIntroduction__hero-text {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.4;
    color: #222;
    max-width: 68.5rem;
    margin: 0 auto;
    text-align: left;
}

.memberIntroduction .wrap__header {
    position: relative;
}

.memberIntroduction .wrap__header .bg_header {
    max-width: 821px;
}

.memberIntroduction .ttl-2 {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;
    color: #3366CC;
    position: absolute;
    top: 51px;
    left: 170px;
}

.memberIntroduction .ttl-2 span {
    font-size: 3.5rem;
}


/*# sourceMappingURL=usui.css.map */


/* style page-memberIntroduction  */

html {
    font-size: calc(10/380*100vw);
}

@media screen and (min-width: 969px) {
    html {
        font-size: 62.5%;
    }
}

.introductions {
    background: #FEF8F8;
    padding-top: 70px;
}

@media screen and (min-width: 969px) {
    .introductions {
        background: #FEF8F8;
        padding-top: 70px;
    }
}

.introductions .container {
    margin: 0 auto;
    width: 100%;
    padding: 0 1.5rem;
}

@media screen and (min-width: 969px) {
    .introductions .container {
        max-width: 980px;
        padding: 0;
    }
}

.introductions__hero {
    background-color: #FFFACB;
    text-align: center;
    /* padding: 4rem 1.5rem; */
}

@media screen and (min-width: 969px) {
    .introductions__hero {
        padding: 45px 0;
        background-image: url(../images/bg-hero.png);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
    }
}

.introductions__hero-des {
    font-size: 24.5px;
    font-weight: 700;
    line-height: 1;
    color: #3366CC;
    padding-bottom: 10px;
}

.introductions__hero-des img {
    max-width: 29.5rem;
    width: 100%;
    margin: 0 auto;
}

@media screen and (min-width: 969px) {
    .introductions__hero-des img {
        max-width: 512px;
        width: 100%;
    }
}

.introductions__hero-ttl {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1;
    color: #3366CC;
    padding-bottom: 2.2rem;
}

@media screen and (min-width: 969px) {
    .introductions__hero-ttl {
        font-size: 73px;
        padding-bottom: 40px;
    }
}

.introductions__hero-ttl img {
    max-width: 25rem;
    margin: 0 auto;
}

@media screen and (min-width: 969px) {
    .introductions__hero-ttl img {
        max-width: 850px;
        margin: 0 auto;
    }
}

.introductions__hero-percent {
    position: relative;
    background: url(../images/pt-22sp.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

@media screen and (min-width: 969px) {
    .introductions__hero-percent {
        margin-bottom: 3rem;
        position: relative;
        background: url(../images/pt-22.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }
}

.d-sp {
    display: none;
}

@media screen and (min-width: 969px) {
    .d-sp {
        display: block;
    }
}

.d-pc {
    display: block;
}

@media screen and (min-width: 969px) {
    .d-pc {
        display: none;
    }
}

.introductions__hero-percent p {
    color: #ffef64;
    font-size: 7.8rem;
    font-weight: bold;
    line-height: 1;
    padding-bottom: 13px;
}

@media screen and (min-width: 969px) {
    .introductions__hero-percent p {
        font-size: 134px;
    }
}

.introductions__hero-percent span {
    font-size: 5rem;
}

@media screen and (min-width: 969px) {
    .introductions__hero-percent span {
        font-size: 60px;
    }
}

@media screen and (min-width: 969px) {
    .introductions__hero-percent {
        margin-bottom: 45px;
    }
}

.introductions__hero-percent img {
    max-width: 9rem;
    width: 100%;
    padding-top: 1.5rem;
}

@media screen and (min-width: 969px) {
    .introductions__hero-percent img {
        max-width: 167px;
        padding-top: 20px;
    }
}

.bg__sp {
    background-image: url(../images/bg-sp.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding-top: 4rem;
    padding-bottom: 2rem;
}

@media screen and (min-width: 969px) {
    .bg__sp {
        background-image: unset;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        padding-top: 0;
        padding-bottom: 0;
    }
}

.introductions__hero-text {
    font-size: 1.3rem;
    font-weight: 500;
    color: #222;
    max-width: 688px;
    margin: 0 auto;
    text-align: left;
    padding: 3rem;
}

@media screen and (min-width: 969px) {
    .introductions__hero-text {
        font-size: 16px;
        padding: 0;
    }
}

.introductions .wrap__header {
    position: relative;
    margin-top: 3rem;
    margin-bottom: 1.7rem;
    text-align: center;
}

@media screen and (min-width: 969px) {
    .introductions .wrap__header {
        margin-top: 65px;
    }
}

.introductions .gifts-2 .wrap__header {
    margin-top: 35px;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-2 .wrap__header {
        margin-top: 115px;
    }
}

.introductions .wrap__header.m-0 {
    margin: 0;
}

.introductions .wrap__header .ttl-2 {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    color: #3366CC;
    position: absolute;
    top: 2.1rem;
    left: 50%;
    transform: translateX(-50%);
    padding-left: 2.5rem;
    white-space: nowrap;
    display: flex;
    align-items: center;
    letter-spacing: 1px;
}

@media screen and (min-width: 969px) {
    .introductions .wrap__header .ttl-2 {
        top: 51px;
        padding-left: 55px;
        font-size: 35px;
    }
}

.introductions .wrap__header .ttl-2 span {
    font-size: 2.2rem;
}

@media screen and (min-width: 969px) {
    .introductions .wrap__header .ttl-2 span {
        font-size: 50px;
        margin-left: 10px;
    }
}

.introductions .wrap__header .bg_header {
    max-width: 821px;
    width: 100%;
}

.introductions .benefits .container {
    padding: 0;
}

.benefits-video {
    width: calc(100% - 2rem);
    margin: 4rem auto 0;
}

@media screen and (min-width: 969px) {
    .benefits-video {
        width: calc(100% - 16rem);
        margin: 60px auto 0;
    }
}

.benefits-video iframe {
    width: 100%;
    height: 300px;
}

@media screen and (min-width: 969px) {
    .benefits-video iframe {
        width: 100%;
        height: 480px;
    }
}

.introductions .benefits__content {
    background: #fff;
    padding-top: 2rem;
    padding-bottom: 3.5rem;
    background-image: url(../images/bg-3.png);
    background-repeat: no-repeat;
    background-size: 160%;
    background-position: center;
}

@media screen and (min-width: 969px) {
    .introductions .benefits__content {
        padding: 40px;
        background-image: url(../images/bg-3.png);
        background-repeat: no-repeat;
        background-size: calc(100% - 20px);
        background-position: center;
    }
}

.introductions .benefits__content-ttl {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
    color: #C4AD53;
    text-align: center;
    background-position: 0 10px;
    max-width: 100%;
    margin: 0 auto;
    background-image: url(../images/bg-4sp.png);
    background-repeat: no-repeat;
    background-size: 6.9rem;
    background-position: center top;
    padding-top: 3rem;
    padding-bottom: 1rem;
}

@media screen and (min-width: 969px) {
    .introductions .benefits__content-ttl {
        font-size: 38px;
        background-image: url(../images/bg-4.png);
        background-repeat: no-repeat;
        background-size: contain;
        max-width: unset;
        margin: 0;
        margin-bottom: 10px;
        padding-top: 0;
        padding-bottom: 0;
    }
}

.introductions .benefits__content-thumnail figure {
    margin: 0 !important;
}

.introductions .benefits__content-thumnail img {
    width: 100%;
}

.introductions .benefits__content-text {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1;
    color: #222;
    text-align: right;
    padding-top: 0.5rem;
    padding-right: 2rem;
}

@media screen and (min-width: 969px) {
    .introductions .benefits__content-text {
        font-size: 15px;
        padding-top: 10px;
        padding-right: 0;
    }
}

.introductions .gifts-2 {
    padding-bottom: 4rem;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-2 {
        padding-bottom: 110px;
    }
}

.introductions .gifts-2 .gifts-ttl-2 {
    text-align: left;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-2 .gifts-ttl-2 {
        text-align: center;
    }
}

.introductions .gifts-ttl {
    font-size: 1.8rem;
    font-weight: 700;
    color: #C4AD53;
    line-height: 1.4;
    text-align: center;
    background-position: 0 10px;
    max-width: 685px;
    margin: 0 auto;
    margin-bottom: 80px;
    position: relative;
}

.introductions .gifts-ttl:after {
    background-image: url(../images/icc-1.png);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    position: absolute;
    top: 0.5rem;
    left: 3rem;
    height: 39px;
    width: 4.5rem;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-ttl:after {
        top: 10px;
        left: 0;
        height: 39px;
        width: 123px;
    }
}

.introductions .gifts-ttl:before {
    background-image: url(../images/icc-2.png);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    position: absolute;
    top: 0.9rem;
    right: 3rem;
    height: 39px;
    width: 4.5rem;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-ttl:before {
        right: 0;
        top: 10px;
        height: 39px;
        width: 123px;
    }
}

@media screen and (min-width: 969px) {
    .introductions .gifts-ttl {
        font-size: 38px;
    }
}

.introductions .gifts-ttl-2 {
    font-size: 1.4rem;
    font-weight: 500;
    color: #222;
    line-height: 1.55;
    text-align: center;
    margin-bottom: 8rem;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-ttl-2 {
        margin-bottom: 80px;
        font-size: 24px;
    }
}

.introductions .gifts .row {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.introductions .gifts .row.jus-space {
    justify-content: space-between;
}

.introductions .gifts .wrap__gifts {
    height: 100%;
    border: 4px solid #F37C7C;
    border-radius: 20px;
    overflow: hidden;
    background-color: #F37C7C;
}

.introductions .gifts .col-6 {
    max-width: 100%;
    width: 100%;
    position: relative;
}

.introductions .gifts .col-6.mb-8 {
    margin-bottom: 8rem;
}

.introductions .gifts .col-6.mb-2 {
    margin-bottom: 2rem;
}

.introductions .gifts .col-6.mb-1 {
    margin-bottom: 1rem;
}

@media screen and (min-width: 969px) {
    .introductions .gifts .col-6 {
        max-width: 465px;
        margin-bottom: 0 !important;
    }
}

.introductions .gifts .col-12 {
    width: 100%;
    position: relative;
}

.introductions .gifts-header-top {
    max-width: 346px;
    margin: 0 auto;
    background: url(../images/bg-6.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    top: -55px;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-header-top {
        top: -50px;
    }
}

.introductions .gifts-2 .gifts-header-top {
    top: -35px;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-2 .gifts-header-top {
        top: -40px;
    }
}

.introductions .gifts-header-top .row {
    align-items: center;
    min-height: 10.5rem;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-header-top .row {
        min-height: 97px;
    }
}

.introductions .gifts-2 .gifts-header-top .row {
    align-items: center;
    min-height: 6.5rem;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-2 .gifts-header-top .row {
        min-height: 80px;
    }
}

.introductions .gifts-header-top .col-4 {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    color: #fff;
    max-width: 27%;
    text-align: center;
    width: 100%;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-header-top .col-4 {
        font-size: 16px;
    }
}

.introductions .gifts-header-top .col-8 {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    color: #F37C7C;
    max-width: 73%;
    width: 100%;
    padding: 0 10px 0 0;
    text-align: center;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-header-top .col-8 {
        font-size: 20px;
    }
}

.introductions .gifts-header-top-2 {
    background: url(../images/bg-9.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    max-width: 274px;
}

.introductions .gifts-header-top-2 .col-12 {
    font-size: 2.3rem;
    font-weight: 700;
    line-height: 1.4;
    color: #F26D6D;
    text-align: center;
    width: 100%;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-header-top-2 .col-12 {
        font-size: 32px;
    }
}

.introductions .gifts-header {
    font-size: 2.4rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    text-align: center;
    background-color: #F37C7C;
    background-image: url(../images/bg-7.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding-top: 5.5rem;
    padding-bottom: 20px;
    overflow: hidden;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-header {
        font-size: 38px;
        padding-top: 55px;
        min-height: 219px;
    }
}

.introductions .gifts-header span {
    font-size: 2rem;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-header span {
        font-size: 28px;
    }
}

.introductions .gifts-header.pt-105 {
    padding-top: 63px;
    line-height: 1.4;
}

.introductions .gifts-header .text-1 {
    color: #FFED53;
    font-size: 6rem;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-header .text-1 {
        font-size: 90px;
    }
}

.introductions .gifts-header .text-2 {
    font-size: 2.2rem;
    color: #FFED53;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-header .text-2 {
        font-size: 36px;
    }
}

.introductions .gifts-header .text-3 {
    color: #FFED53;
    font-size: 3.5rem;
}

html {
    transition: all 0.5s ease-in;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-header .text-3 {
        font-size: 60px;
        line-height: 0;
        display: inline-block;
        margin-top: 30px;
    }
}

.introductions .gifts-header-2 {
    background-image: url(../images/bg-10.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-header-2 {
        padding-left: 0;
        padding-right: 0;
    }
}

.introductions .gifts-header-2 .des-1 {
    font-size: 2.2rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-header-2 .des-1 {
        font-size: 28px;
    }
}

.introductions .gifts-header-2 .row {
    margin: 15px auto;
    justify-content: center;
    align-items: flex-end;
    flex-wrap: wrap;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-header-2 .row {
        margin: 15px auto;
        flex-wrap: nowrap;
    }
}

.introductions .gifts-header-2 .des-2 {
    font-size: 5.3rem;
    font-weight: 700;
    color: #FFED53;
    line-height: 1;
    margin-top: 2rem;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-header-2 .des-2 {
        font-size: 90px;
        margin-top: 0;
    }
}

.introductions .gifts-header-2 .col-6 {
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-header-2 .col-6 {
        max-width: calc(50% - 15rem);
        align-items: flex-end;
    }
}

.introductions .gifts-header-2 .col-6 span {
    font-size: 1.4rem;
    color: #222;
    font-weight: 700;
    line-height: 1.2;
    width: 8rem;
    height: 8rem;
    border-radius: 50%;
    background-color: #Fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-header-2 .col-6 span {
        font-size: 16px;
        width: 90px;
        height: 90px;
    }
}

.introductions .gifts-header-2 .col-6 .number {
    font-size: 7rem;
    font-weight: 700;
    line-height: 1;
    color: #FFED53;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-header-2 .col-6 .number {
        font-size: 110px;
        line-height: 0.9;
    }
}

.introductions .gifts-header-2 .col-6 .text {
    font-size: 2.3rem;
    font-weight: 700;
    color: #FFED53;
    text-align: left;
    line-height: 1;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-header-2 .col-6 .text {
        font-size: 26px;
    }
}

.introductions .gifts-header-2 .col-6 .text-2 {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    max-width: 22px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 7rem;
}

@media screen and (min-width: 969px) {
    .introductions .gifts-header-2 .col-6 .text-2 {
        font-size: 22px;
        right: 10%;
    }
}

.introductions .gifts__content {
    padding: 1rem;
    overflow: hidden;
    background: #FEF8F8;
}

@media screen and (min-width: 969px) {
    .introductions .gifts__content {
        padding: 30px;
        min-height: 612px;
        height: 100%;
    }
}

.introductions .gifts-2 .gifts__content {
    min-height: unset;
}

.introductions .gifts__content-list {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: nowrap;
    border-bottom: 1px solid #B2B2B2;
}

.introductions .gifts__content-list:first-of-type {
    border-top: 1px solid #B2B2B2;
}

.introductions .gifts__content-list .left {
    max-width: 30%;
    width: 100%;
    background-color: #FCE2E2;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    padding: 0 1rem;
}

@media screen and (min-width: 969px) {
    .introductions .gifts__content-list .left {
        padding: 0;
        justify-content: center;
    }
}

.introductions .gifts__content-list .left p {
    font-size: 1.4rem;
    color: #F37C7C;
    font-weight: 500;
    line-height: 1.4;
    font-weight: 500;
}

@media screen and (min-width: 969px) {
    .introductions .gifts__content-list .left p {
        font-size: 18px;
    }
}

.introductions .gifts__content-list .right {
    max-width: 70%;
    width: 100%;
}

.introductions .gifts__content-list .right>div {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
}

.introductions .gifts__content-list .right p {
    font-size: 1.4rem;
    color: #222;
    line-height: 1.4;
    border-bottom: 1px solid #B2B2B2;
    padding: 16px 0;
    text-align: center;
    font-weight: 500;
}

@media screen and (min-width: 969px) {
    .introductions .gifts__content-list .right p {
        font-size: 16px;
    }
}

.introductions .gifts__content-list .right p:last-of-type {
    border-bottom: none;
}

.introductions .gifts__content-list .right p.p-custom {
    padding: 6px 0;
}

.introductions .gifts__content-list .right p.p-custom1 {
    padding: 44.8px 0;
}

.introductions .gifts__content-list .right p.p-custom2 {
    padding: 27px 0;
}

.introductions .gifts__content-list .right p span {
    color: #F37C7C;
    font-weight: 700;
}

.introductions .gr__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    padding-top: 1rem;
}

@media screen and (min-width: 969px) {
    .introductions .gifts .gr__btn {
        margin-top: 0;
        padding-top: 115px;
    }
}

@media screen and (min-width: 969px) {
    .introductions .gr__btn {
        padding-top: 110px;
        flex-wrap: nowrap;
    }
}

.introductions .gr__btn .btn {
    font-size: 2.4rem;
    font-weight: 700;
    color: #Fff;
    max-width: 528px;
    background-color: #F20730;
    border-radius: 50px;
    width: 100%;
    border: none;
    padding: 20px 0;
    cursor: pointer;
    position: relative;
}

@media screen and (min-width: 969px) {
    .introductions .gr__btn .btn {
        font-size: 32px;
    }
}

.introductions .gr__btn .btn.btn-back {
    background-color: #3366CC;
}

.introductions .gr__btn .btn.btn-back:after,
.introductions .gr__btn .btn.btn-apply:after {
    display: none;
}

.introductions .gr__btn .btn:after {
    content: "";
    border: 1.2rem solid transparent;
    border-top-color: #fff;
    position: absolute;
    top: 45%;
    right: 40px;
}

@media screen and (min-width: 969px) {
    .introductions .gr__btn .btn:after {
        border: 12px solid transparent;
        border-top-color: #fff;
    }
}

.introductions .gr__btn .btn:hover {
    opacity: 0.8;
}

.introductions .gr__btn .btn-2 {
    font-size: 1.8rem;
    background-color: #3366CC;
    line-height: 1.4;
    text-align: center;
}

@media screen and (min-width: 969px) {
    .introductions .gr__btn .btn-2 {
        font-size: 26px;
    }
}

.introductions .gr__btn .btn-2:after {
    top: 31%;
    right: 10px;
}

.introductions .gr__btn .btn.arr_right:after {
    border-top-color: transparent;
    border-left-color: #fff;
    top: 31%;
    right: 10px;
}

@media screen and (min-width: 969px) {
    .introductions .gr__btn .btn.arr_right:after {
        top: 39%;
        right: 40px;
    }
}

.introductions .gr__btn .btn-3 {
    background-color: #F20730;
}

.introductions .service {
    background-color: #FFFDEE;
    padding-top: 4rem;
    padding-bottom: 4rem;
}

@media screen and (min-width: 969px) {
    .introductions .service {
        padding-top: 115px;
        padding-bottom: 60px;
    }
}

.introductions .service-des {
    line-height: 1.55;
    font-size: 1.6rem;
    font-weight: 500;
    color: #222;
    text-align: center;
    padding: 20px 0;
}

@media screen and (min-width: 969px) {
    .introductions .service-des {
        font-size: 24px;
        padding: 20px 0;
        padding-bottom: 40px;
    }
}

.introductions .service__content .row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
}

.introductions .service__content .col-6 {
    max-width: 100%;
    width: 100%;
    margin-bottom: 20px;
}

@media screen and (min-width: 969px) {
    .introductions .service__content .col-6 {
        max-width: calc(50% - 10px);
    }
}

.introductions .service__content-ttl {
    font-size: 2rem;
    font-weight: 500;
    color: #fff;
    line-height: 1;
    background-color: #3366CC;
    padding: 13.5px 0 13.5px 20px;
    position: relative;
}

@media screen and (min-width: 969px) {
    .introductions .service__content-ttl {
        font-size: 26px;
    }
}

.introductions .service__content-ttl:after {
    content: "";
    width: 67px;
    height: 67px;
    background: url(../images/ic-2.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

.introductions .service__content-ttl.ic-1:after {
    content: "";
    width: 67px;
    height: 67px;
    background: url(../images/ic-3.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

.introductions .service__content-ttl.ic-3:after {
    content: "";
    width: 67px;
    height: 67px;
    background: url(../images/ic-5.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

.introductions .service__content-ttl.ic-2:after {
    content: "";
    width: 67px;
    height: 67px;
    background: url(../images/ic-4.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

.introductions .service__content_wrap {
    background-color: #FFFACB;
    padding: 20px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
}

@media screen and (min-width: 969px) {
    .introductions .service__content_wrap {
        flex-wrap: nowrap;
        min-height: 253px;
    }
}

.introductions .service__content_wrap img {
    max-width: 40%;
    margin: 0 auto;
}

@media screen and (min-width: 969px) {
    .introductions .service__content_wrap img {
        max-width: calc(100% - 290px);
    }
}

.introductions .service__content_wrap ul {
    max-width: 100%;
    padding-top: 2rem;
    margin-left: auto;
}

@media screen and (min-width: 969px) {
    .introductions .service__content_wrap ul {
        max-width: 278px;
        padding-top: 0;
    }
}

.introductions .service__content_wrap ul li {
    font-size: 1.4rem;
    color: #222;
    line-height: 1.4;
    font-weight: 400;
    display: flex;
    margin-bottom: 15px;
}

@media screen and (min-width: 969px) {
    .introductions .service__content_wrap ul li {
        font-size: 15px;
    }
}

.introductions .service__content_wrap ul li:last-of-type {
    margin-bottom: 0;
}

.introductions .introduction {
    background-color: #FFFDEE;
    padding-bottom: 35px;
}

@media screen and (min-width: 969px) {
    .introductions .introduction {
        padding-bottom: 105px;
    }
}

.introductions .introduction .gr__btn {
    margin-top: 0;
    padding-top: 50px;
}

@media screen and (min-width: 969px) {
    .introductions .introduction .gr__btn {
        padding-top: 110px;
    }
}

.introductions .introduction-ttl {
    font-size: 2.2rem;
    font-weight: 500;
    color: #fff;
    line-height: 1.4;
    background-color: #F26D6D;
    padding: 10px 20px;
}

@media screen and (min-width: 969px) {
    .introductions .introduction-ttl {
        font-size: 26px;
        line-height: 1;
    }
}

.introductions .introduction__content {
    padding-top: 20px;
}

.introductions .introduction__content .row {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    flex-wrap: wrap;
}

@media screen and (min-width: 969px) {
    .introductions .introduction__content .row {
        flex-wrap: nowrap;
    }
}

.introductions .introduction__content_left {
    max-width: 100%;
    width: 100%;
}

@media screen and (min-width: 969px) {
    .introductions .introduction__content_left {
        max-width: 280px;
    }
}

.introductions .introduction__content_left-ttl {
    text-align: center;
    font-size: 21px;
    font-weight: 500;
    line-height: 1.4;
    color: #F37C7C;
    padding-bottom: 45px;
}

.introductions .introduction__content_left-thumnail {
    text-align: center;
}

.introductions .introduction__content_left-thumnail img {
    width: 100%;
}

@media screen and (min-width: 969px) {
    .introductions .introduction__content_left-thumnail img {
        width: 90%;
    }
}

.introductions .introduction__content_right {
    max-width: 100%;
}

@media screen and (min-width: 969px) {
    .introductions .introduction__content_right {
        max-width: calc(100% - 290px);
    }
}

.introductions .introduction__content_right-ttl {
    font-size: 15px;
    font-weight: 400;
    color: #fff;
    width: 65px;
    height: 65px;
    border-radius: 50%;
    background-color: #F26D6D;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
}

.introductions .introduction__content_right-ttl span {
    font-size: 31px;
    font-weight: 700;
    display: block;
    line-height: 0;
    width: 100%;
    text-align: center;
    margin-top: -25px;
}

.introductions .introduction__content_right .col-4 {
    max-width: 100%;
    width: 100%;
    position: relative;
    margin: 0 2rem 4rem;
}

.introductions .introduction__content_right .col-4:last-of-type {
    margin: 0 2rem 0;
}

@media screen and (min-width: 969px) {
    .introductions .introduction__content_right .col-4 {
        margin: 0 !important;
        max-width: calc(33.33% - 10px);
    }
}

.introductions .introduction__content_right .col-4:after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: url(../images/ic-6.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 33px;
    height: 31px;
    left: -25px;
    z-index: 99;
}

@media screen and (min-width: 969px) {
    .introductions .introduction__content_right .col-4:after {
        content: "";
    }
}

.introductions .introduction__content_right .col-4:first-of-type:after {
    display: none;
}

.page-complete .title-page {
    padding-bottom: 50px;
}

.page-complete p.text {
    padding-bottom: 100px;
}

.page-complete .gr__btn {
    margin-top: 0;
    padding-top: 0;
    /* max-width: 100px; */
    margin: 0 auto;
}

.page-complete .gr__btn a.btn:after {
    display: none;
}

.introductions .introduction__content_right .col-4 .wrap {
    border: 4px solid #F26D6D;
    border-radius: 10px;
    padding: 6.5rem 2rem 0;
    position: relative;
    min-height: 365px;
    background: #fff;
    height: 100%;
    position: relative;
}

@media screen and (min-width: 969px) {
    .introductions .introduction__content_right .col-4 .wrap {
        padding: 50px 15px 0 15px;
    }
}

.introductions .introduction__content_right .col-4 .thumnail-position {
    line-height: 0;
}

@media screen and (min-width: 969px) {
    .introductions .introduction__content_right .col-4 .thumnail-position {
        position: absolute;
        left: 0;
        bottom: 0;
    }
}

.introductions .introduction__content_right .col-4 img {
    width: 100%;
}

.introductions .introduction__content_right .col-4 p {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.4;
    color: #222;
}

@media screen and (min-width: 969px) {
    .introductions .introduction__content_right .col-4 p {
        font-size: 15px;
    }
}

.introductions .referral {
    padding-top: 6rem;
    padding-bottom: 10rem;
    background-color: #F5F7FC;
}

@media screen and (min-width: 969px) {
    .introductions .referral {
        padding-top: 75px;
        padding-bottom: 185px;
    }
}

.introductions .referral-2 {
    padding-bottom: 0;
}

.introductions .referral-2 .referral__form {
    padding-bottom: 0;
}

@media screen and (min-width: 969px) {
    .introductions .referral-2 {
        padding-bottom: 0;
    }
}

.introductions .referral-ttl {
    font-size: 2.8rem;
    color: #222;
    font-weight: 700;
    line-height: 1;
    padding-bottom: 2rem;
    text-align: center;
}

@media screen and (min-width: 969px) {
    .introductions .referral-ttl {
        font-size: 45px;
        padding-bottom: 50px;
    }
}

.introductions .referral-ttl.pb-10 {
    padding-bottom: 2rem;
}

@media screen and (min-width: 969px) {
    .introductions .referral-ttl.pb-10 {
        padding-bottom: 20px;
    }
}

.introductions .referral__form {
    padding-bottom: 3rem;
}

@media screen and (min-width: 969px) {
    .introductions .referral__form {
        padding-bottom: 50px;
    }
}

.introductions .referral__form-ttl {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1;
    color: #fff;
    position: relative;
    padding: 16px 0 16px 30px;
    background-color: #3366CC;
}

.introductions .referral__form-ttl::before {
    content: "";
    background-image: url(../images/ic-7.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 16px;
    height: 100%;
    width: 16px;
    height: 100%;
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
}

@media screen and (min-width: 969px) {
    .introductions .referral__form-ttl {
        font-size: 28px;
    }
}

.introductions .referral__form_content {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap;
    border-bottom: 1px solid #ccc;
}

@media screen and (min-width: 969px) {
    .introductions .referral__form_content {
        flex-wrap: nowrap;
    }
}

.introductions .referral__form_content:last-of-type {
    border-bottom: none;
}

.introductions .referral__form_content-left {
    max-width: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    background-color: #EBF0FA;
}

@media screen and (min-width: 969px) {
    .introductions .referral__form_content-left {
        max-width: 227px;
        padding: 10px 0;
    }
}

.introductions .referral .wrap__header {
    margin-bottom: 30px;
}

@media screen and (min-width: 969px) {
    .introductions .referral .wrap__header {
        margin-bottom: 40px;
    }
}

.introductions .referral__form_content.js_changeForm {
    margin-bottom: 50px;
    border-bottom: none;
}

.introductions .referral__form_content.js_changeForm .referral__form_content-left {
    background-color: #FFEF64;
}

.introductions .referral__form_content.js_changeForm .referral__form_content-left h3 {
    font-size: 18px;
}

.introductions .referral__form_content.js_changeForm .referral__form_content-right p {
    font-size: 18px;
}

.introductions .referral__form_content-left h3 {
    font-size: 1.4rem;
    font-weight: 400;
    color: #222;
    line-height: 1.4;
    padding-left: 25px;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

@media screen and (min-width: 969px) {
    .introductions .referral__form_content-left h3 {
        font-size: 14px;
        padding-bottom: 0;
        padding-top: 0;
    }
}

.introductions .referral__form_content-left h3 span {
    font-size: 1.2rem;
    font-weight: 400;
    background: #F20730;
    padding: 0 5px;
    color: #Fff;
    margin-left: 10px;
}

@media screen and (min-width: 969px) {
    .introductions .referral__form_content-left h3 span {
        font-size: 13px;
    }
}

.introductions .referral__form_content-right {
    padding: 1rem;
    background-color: #fff;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
    max-width: 100%;
    width: 100%;
    word-break: break-all;
}

@media screen and (min-width: 969px) {
    .introductions .referral__form_content-right {
        max-width: calc(100% - 227px);
        padding: 20px;
    }
}

.introductions .referral__form_content-right p {
    font-size: 15px;
    font-weight: 400;
    color: #222;
    line-height: 1.4;
    padding-right: 15px;
    min-width: 45px;
}

.introductions .referral__form_content-right p a {
    color: #3366CC;
}

.introductions .referral__form_content-right p.w-100 {
    width: 100%;
}

.introductions .referral__form_content-right p.pt-15 {
    padding-top: 15px;
}

.introductions .referral__form_content-right p.pl-15 {
    padding-left: 15px;
}

.introductions .referral__form_content-right p.fz-13 {
    font-size: 1.3rem;
}

@media screen and (min-width: 969px) {
    .introductions .referral__form_content-right p.fz-13 {
        font-size: 13px;
    }
}

.introductions .referral__form_content-right p.pb-10 {
    padding-bottom: 10px;
}

.error {
    width: 100%;
    font-size: 12px;
    color: red;
}

.introductions .referral__form_content-right .list-form {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    padding-right: 20px;
}

.introductions .referral__form_content-right .list-form.mb-1 {
    margin-bottom: 1rem;
}

@media screen and (min-width: 969px) {
    .introductions .referral__form_content-right .list-form.mb-1 {
        margin-bottom: 0;
    }
}

.introductions .referral__form_content-right .list-form.w-100 {
    width: 100%;
    padding-right: 0;
}

.introductions .referral__form_content-right .list-form.w-220 {
    max-width: 220px;
    padding-right: 0;
    width: 100%;
}

.introductions .referral__form_content-right .list-form.pb-15 {
    padding-bottom: 15px;
}

.introductions .referral__form_content-right .list-form.pb-10 {
    padding-bottom: 10px;
}

.introductions .referral__form_content-right input:not([type="radio"]):not([type="checkbox"]),
.introductions .referral__form_content-right select {
    max-width: 100%;
    width: 100%;
    padding: 10px;
    border-radius: 0;
    border: 1px solid #ccc;
    color: #222;
}

.introductions .referral__form_content-right input:not([type="radio"]):not([type="checkbox"]).w-135,
.introductions .referral__form_content-right select.w-135 {
    max-width: calc(100% - 45px);
}

@media screen and (min-width: 969px) {
    .introductions .referral__form_content-right input:not([type="radio"]):not([type="checkbox"]).w-135,
    .introductions .referral__form_content-right select.w-135 {
        max-width: 135px;
    }
}

.introductions .referral__form_content-right input:not([type="radio"]):not([type="checkbox"]).w-375,
.introductions .referral__form_content-right select.w-375 {
    max-width: 375px;
}

.pl-45 {
    padding-left: 45px;
}

@media screen and (min-width: 969px) {
    .pl-45 {
        padding-left: 0;
    }
}

.pt-5 {
    padding-top: 5px;
}

@media screen and (min-width: 969px) {
    .pt-5 {
        padding-top: 0;
    }
}

.introductions .referral__form_content-right input:not([type="radio"]):not([type="checkbox"]).w-175,
.introductions .referral__form_content-right select.w-175 {
    max-width: 175px;
}

.introductions .referral__form_content-right p.text-danger {
    color: red;
}

.introductions .referral__form_content-right input[type="radio"],
.introductions .referral__form_content-right input[type="checkbox"] {
    margin: 0;
    margin-right: 1rem;
}

@media screen and (min-width: 969px) {
    .introductions .referral__form_content-right input[type="radio"],
    .introductions .referral__form_content-right input[type="checkbox"] {
        margin-right: 10px;
    }
}

.introductions .referral__form_content-right textarea {
    width: 100%;
    border: 1px solid #ccc;
    padding: 10px;
}

.introductions .referral .gr__btn {
    padding-top: 0;
}

.introductions__footer {
    font-size: 14px;
    color: #fff;
    font-weight: 400;
    line-height: 1.75;
    text-align: center;
    background-color: #3366CC;
    padding: 28px 0;
}

.introductions__footer .h-pc {
    display: block;
}

@media screen and (min-width: 969px) {
    .introductions__footer .h-pc {
        display: none;
    }
}

.introductions__header #mainnav {
    background: #3366CC;
}

.introductions__header .container {
    max-width: 980px;
    padding: 0;
    margin: 0 auto;
}

.introductions__header #mainnav ul li a {
    color: #36c;
}

@media screen and (min-width: 969px) {
    .introductions__header #mainnav ul li a {
        color: #fff;
        line-height: 70px;
    }
}

.introductions__header #mainnav ul li a:hover {
    color: #fff;
}

@media screen and (min-width: 969px) {
    .introductions__header #mainnav ul li a:hover {
        color: #36c;
    }
}

.form {
    display: none;
}

.form.show {
    display: block;
}

.introductions__header #menuBtn {
    background: #fff;
}

.introductions__header #menuBtn:before,
.introductions__header #menuBtn:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 18px;
    height: 2px;
    background: #fff;
    transition: .3s;
}

.introductions__header #mainnav {
    opacity: 1;
}

.label-form {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

.form-heading-message {
    text-align: center;
    padding-bottom: 2rem;
}

@media screen and (min-width: 969px) {
    .form-heading-message {
        text-align: center;
        padding-bottom: 40px;
    }
}

.page-complete {
    padding: 0 1.5rem;
    min-height: calc(100% - 16.4rem);
}

@media screen and (min-width: 969px) {
    .page-complete {
        padding: 0;
        min-height: calc(100% - 150px);
    }
}

.page-complete .container {
    padding: 0 0 4rem;
    text-align: center;
}

@media screen and (min-width: 969px) {
    .page-complete .container {
        padding: 60px 0;
        text-align: center;
    }
}

.page-complete .title-page h1 {
    font-size: 4rem;
}

@media screen and (min-width: 969px) {
    .page-complete .title-page h1 {
        font-size: 60px;
    }
}

.page-complete {
    background-color: #F5F7FC;
}

body .introductions .referral__form_content-right.w-custom .list-form.w-220 {
    flex-wrap: wrap;
}

@media (max-width: 968px) {
    .introductions .referral__form_content-right.w-custom .list-form.w-220 {
        max-width: 50%;
        flex-wrap: nowrap;
    }
    .introductions .referral__form_content-right.w-custom .list-form.w-220 p {
        text-align: center;
        padding: 0 5px;
    }
}

#header.introductions__header .hlogo {
    width: 52px;
    float: left;
    margin: 11px 10px 0;
}

body #header.introductions__header #mainnav {
    height: 70px !important;
}

@media (max-width: 968px) {
    body #header.introductions__header #mainnav {
        height: auto!important;
    }
}


/*# sourceMappingURL=usui.css.map */