/*
Theme Name:		Welcart Assertive Child Theme
Template:		welcart_assertive
Theme URI:		https://www.welcart.com/archives/15110.html
Author:			Collne.Inc
Author URI:		https://www.collne.com/
Description:	Assertive Child is the Welcart Assertive Child Theme.
Version:		1.0
License:		GNU General Public License v2 or later
License URI:	http://www.gnu.org/licenses/gpl-2.0.html
Tags:			responsive-layout, assertive, one-columns, left-sidebar or right-sidebar
*/

@charset "UTF-8";

html {
    /* visibility: hidden */
}

html.loading-delay,
html.wf-active {
    visibility: visible
}

body,
html {
    width: 100%
}

body {
    font-family: "Noto Serif JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游明朝 Medium", "游明朝", "Yu Mincho Medium", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
    font-size: 1rem;
    line-height: 1.8;
    letter-spacing: .08em;
    color: #333;
    background: #f9f9f3;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    -webkit-overflow-scrolling: touch
}

main {
    display: block
}

.center {
    text-align: center
}

.right {
    text-align: right
}

.bold {
    font-weight: 700
}

.block-center {
    margin: 0 auto
}

.letter-spacing-none {
    letter-spacing: 0
}

.site-content{
    margin: 0 0 40px;
}

#primary .list-content{
	padding: 0 15px;
}

.section .section-inner {
    padding: 80px 20px;
    width: 1200px;
    margin: 0 auto;
    position: relative
}

.section .section-full-inner {
    width: 100%;
    padding: 80px 0
}

.section .section-full-inner.no-padding-top,
.section .section-inner.no-padding-top {
    padding-top: 0
}

.section .section-full-inner.no-padding-bottom,
.section .section-inner.no-padding-bottom {
    padding-bottom: 0
}

.section .section-inner.last-section {
    padding-bottom: 150px
}

.section .section-inner.breadcrumb,
.section .section-inner.post {
    padding: 0
}

.flex-box {
    display: flex;
    flex-wrap: wrap
}

.flex-2-1 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -2% -20px
}

.flex-2-1 .f-box {
    width: 46%;
    margin: 0 2% 20px
}

.flex-3-1,
.flex-3-2 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -1% -20px
}

.flex-3-1 .f-box,
.flex-3-2 .f-box {
    width: 31.3%;
    margin: 0 1% 20px
}

.flex-4-1,
.flex-4-2 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -1% -15px
}

.flex-4-1 .f-box,
.flex-4-2 .f-box {
    width: 23%;
    margin: 0 1% 15px
}

.mb-hh {
    margin-bottom: 80px
}

.mb-h {
    margin-bottom: 60px
}

.mb-m {
    margin-bottom: 40px
}

.mb-s {
    margin-bottom: 20px
}

.lh-h {
    line-height: 2.2
}

p.mt {
    margin-top: 30px
}

@media only screen and (max-width:1199px) {
    .section .section-inner {
        width: calc(100% - 40px);
        padding-left: 0;
        padding-right: 0
    }
}

@media only screen and (max-width:1024px) {
    main.main>.wrapper {
        margin-left: 0
    }

    .section .section-inner {
        padding: 50px 0
    }

    .section .section-full-inner {
        padding: 50px 0
    }
}

@media only screen and (max-width:767px) {
    .section .section-inner {
        padding: 40px 0;
        width: calc(100% - 30px)
    }

    .section .section-full-inner {
        padding: 40px 0
    }

    .flex-2-1,
    .flex-3-1 {
        margin: 0
    }

    .flex-2-1 .f-box,
    .flex-3-1 .f-box {
        width: 100%;
        margin: 0 0 15px
    }

    .flex-2-1 .f-box:last-child,
    .flex-3-1 .f-box:last-child {
        margin-bottom: 0
    }

    .flex-3-2,
    .flex-4-2 {
        margin: 0 -1% -7px
    }

    .flex-3-2 .f-box,
    .flex-4-2 .f-box {
        width: 48%;
        margin: 0 1% 7px
    }

    .flex-4-1 {
        margin: 0
    }

    .flex-4-1 .f-box {
        width: 100%;
        margin-bottom: 30px
    }

    .mb-hh {
        margin-bottom: 40px
    }

    .mb-h {
        margin-bottom: 30px
    }

    .mb-m {
        margin-bottom: 20px
    }

    .mb-s {
        margin-bottom: 10px
    }

    p.mt {
        margin-top: 15px
    }
}

.tel a {
    color: inherit
}

.aligncenter {
    display: block;
    margin: 0 auto
}

.alignright {
    float: right
}

.alignleft {
    float: left
}

img[class*=attachment-],
img[class*=wp-image-] {
    height: auto;
    max-width: 100%
}

.clearfix {
    overflow: hidden;
    zoom: 1
}

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

.wysiwyg-editor p+p {
    margin-top: 1.5em
}

.wysiwyg-editor img {
    width: auto;
    max-width: 100%
}

.wysiwyg-editor a {
    color: #7f7773;
    text-decoration: underline
}

.wysiwyg-editor a:hover {
    text-decoration: none
}

.wysiwyg-editor iframe {
    max-width: 100%
}

.yt-wrapper {
    position: relative;
    width: 100%
}

.yt-wrapper:before {
    content: "";
    display: block;
    padding-top: 56.25%
}

.yt-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

@media screen and (min-width:1025px) {
    .pc-br::before {
        content: "\A";
        white-space: pre
    }
}

@media screen and (min-width:1025px) and (max-width:1500px) {
    .middle-br::before {
        content: "\A";
        white-space: pre
    }
}

@media screen and (min-width:768px) and (max-width:1024px) {
    .tb-br::before {
        content: "\A";
        white-space: pre
    }
}

@media screen and (max-width:767px) {
    .sp-br::before {
        content: "\A";
        white-space: pre
    }
}

td {
    vertical-align: middle
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #333;
    line-height: 1.6;
    font-weight: 400
}

a,
p a {
    color: #333
}

a.autolink {
    text-decoration: underline;
    color: #7f7773
}

a.autolink:hover {
    text-decoration: none
}

a:not(.no-hover):hover {
    color: #7f7773
}

a:not([href]) {
    cursor: default !important
}

a:not([href]):hover {
    cursor: default !important;
    text-decoration: none !important
}

a img {
    transition: opacity .2s ease
}

a:not(.no-hover):hover img {
    opacity: .7;
    transition: opacity .2s ease
}

table tbody tr,
table thead tr {
    border: none
}

img {
    vertical-align: bottom;
    width: 100%;
    height: auto;
    aspect-ratio: attr(width)/attr(height);
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-touch-callout: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

img[src$=".svg"] {
    width: 100%;
    height: auto
}

li {
    list-style: none
}

input[type=button],
input[type=submit] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box
}

input[type=button]::-webkit-search-decoration,
input[type=submit]::-webkit-search-decoration {
    display: none
}

input[type=button]::focus,
input[type=submit]::focus {
    outline-offset: -2px
}

.m0 {
    margin: 0 !important
}

.m0-top {
    margin-top: 0 !important
}

.sp {
    display: none
}

.sp-inline {
    display: none
}

.sp-flex {
    display: none
}

.tb {
    display: none
}

.tb-inline {
    display: none
}

.tb-flex {
    display: none
}

.pc {
    display: block
}

.pc-inline {
    display: inline-block
}

@media only screen and (max-width:1024px) {
    .pc {
        display: none
    }

    .pc-inline {
        display: none
    }
}

@media only screen and (max-width:1024px) {
    .pc {
        display: none !important
    }

    .pc-inline {
        display: none !important
    }

    .tb {
        display: block !important
    }

    .tb-inline {
        display: inline-block !important
    }

    .tb-flex {
        display: flex !important
    }
}

@media only screen and (max-width:767px) {
    .pc {
        display: none !important
    }

    .pc-inline {
        display: none !important
    }

    .tb {
        display: none !important
    }

    .tb-inline {
        display: none !important
    }

    .tb-flex {
        display: none !important
    }

    .sp {
        display: block !important
    }

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

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

.ofi-wrapper {
    width: 100%;
    height: 0;
    padding-top: 66.66%;
    position: relative;
    overflow: hidden
}

.ofi-wrapper img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    -o-object-position: center center;
    object-position: center center;
    vertical-align: bottom
}

.ofi-wrapper video {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    font-family: 'object-fit: cover; object-position: center center';
    vertical-align: bottom
}

.ofi-wrapper-contain {
    height: 100%
}

.ofi-wrapper-contain img {
    width: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center center;
    object-position: center center;
    font-family: 'object-fit: contain; object-position: center center';
    vertical-align: bottom
}

aside .widget.widget_search {
    padding: 0
}

aside .widget h5 {
    padding-bottom: .2em;
    font-family: "Nanum Myeongjo", serif;
    font-weight: 700;
    line-height: 1;
    font-size: 1.25rem
}

aside .widget.posts_holder li {
    padding: 14px 0;
    margin: 0;
    font-size: .875rem;
    border-bottom: 1px dotted #ccc
}

aside .widget.posts_holder li ul li:last-child {
    border-bottom: none
}

aside .widget.posts_holder li:hover {
    color: #7f7773;
    text-decoration: underline
}

aside .widget.posts_holder li.menu-item-has-children>ul.sub-menu,
aside .widget.posts_holder li.page_item_has_children>ul.children {
    padding-left: 10px
}

aside #recent-posts-ex-2 li {
    padding: 0;
    margin: 0
}

aside #recent-posts-ex-2 li .post-date {
    display: block
}

aside #recent-posts-ex-2 li:not(:first-child) {
    margin-top: .4em;
    padding-top: .4em;
    border-top: 1px solid #ccc
}

aside .widget a {
    color: inherit
}

aside .widget {
    margin: 0 0 5em
}

aside .recent-post-box .flex-box .img-box {
    width: 55%
}

aside .recent-post-box .flex-box .meta-box {
    width: 45%;
    padding-left: 10px
}

aside .recent-post-box .flex-box .meta-box .post-title {
    margin-bottom: 1em;
    letter-spacing: 0;
    line-height: 1.5
}

aside .recent-post-box .flex-box .meta-box .date {
    font-size: .75rem;
    line-height: 1.2
}

aside .recent-post-box .flex-box .meta-box .cat-box {
    line-height: 1.3
}

aside .recent-post-box .flex-box .meta-box .cat-box li {
    display: inline-block;
    font-size: .75rem;
    border-bottom: none;
    padding: 0;
    line-height: 1.2
}

@media only screen and (max-width:767px) {
    aside.sidebar {
        margin-top: 3em
    }

    aside .widget {
        margin: 0 0 1.8em
    }
}

aside .widget .post-date {
    display: block;
    font-size: .8em
}

.dl-table dd,
.dl-table dl,
.dl-table dt {
    box-sizing: border-box;
    font-size: 1em;
    margin-bottom: 0;
    font-weight: 400
}

.dl-table dd,
.dl-table dt {
    padding: 0 10px
}

.dl-table dt {
    width: 20%;
    float: left;
    text-align: left
}

.dl-table dd {
    margin-left: 20%;
    margin-bottom: 0
}

.dl-table dd:after {
    content: '';
    display: block;
    clear: both
}

.border-table dl {
    border-bottom: 1px solid #e1e1e1
}

.border-table dd,
.border-table dt {
    padding: .6em .6em 0 .6em;
    border-top: 1px solid #e1e1e1
}

.border-table dt {
    width: 20%;
    text-align: left
}

.border-table dd {
    margin-left: 20%;
    text-align: left;
    padding-bottom: .6em
}

/*header*/
.site-title a img{
  max-width: 200px;
}
.site-branding{
	padding: 2px 0;
}
.outer-menu .hamburger span {
	font-size: .6rem;
}
/* header {
    background: 0 0;
    height: auto
}

header.fixed {
    position: fixed;
    width: 100%;
    z-index: 200
}

header .logo-wrap {
    position: fixed;
    top: 15px;
    left: 15px;
    width: 210px;
    height: 90px;
    z-index: 100;
    transition: .6s ease-out;
    opacity: 0
}

header .logo-wrap.is-scroll {
    opacity: 1
}

header .menu-btn-wrap {
    position: fixed;
    top: 0;
    right: 0;
    display: flex;
    background-color: #b7afaa;
    z-index: 1000;
    width: 75px;
    height: 75px;
    border-radius: 0 0 0 5px
}

@media only screen and (max-width:1024px) {
    header .logo-wrap .logo-wrapper img {
        height: 75px !important;
        width: auto !important
    }
}

@media only screen and (max-width:767px) {
    header .logo-wrap {
        top: 8px;
        left: 8px
    }

    header .logo-wrap .logo-wrapper img {
        height: 60px !important
    }

    header .menu-btn-wrap {
        width: 60px;
        height: 60px
    }
}

header .full-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999
}

.menu-container {
    width: 100%;
    margin: 0 auto
}

.menu-button-wrapper {
    display: flex !important;
    align-items: center;
    margin-top: -17px;
    width: 75px;
    justify-content: center;
    cursor: pointer
}

.menu-button,
.menu-button span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box
}

.menu-button {
    position: relative;
    width: 40px;
    height: 15px
}

.menu-button span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
    border-radius: 4px
}

.menu-button span:nth-of-type(1) {
    top: 0
}

.menu-button span:nth-of-type(2) {
    bottom: 0;
    width: 70%;
    transition: .3s
}

.menu-button-wrapper:hover .menu-button span:nth-of-type(2) {
    width: 100%
}

.menu-button-wrapper.menu-opened .menu-button span:nth-of-type(1) {
    transform: translateY(7px) rotate(-30deg)
}

.menu-button-wrapper.menu-opened .menu-button span:nth-of-type(2) {
    transform: translateY(-7px) rotate(30deg);
    width: 100%
}

.menu-button-wrapper .menu-button .txt {
    font-size: .8em;
    font-weight: 700;
    color: #fff;
    position: absolute;
    bottom: -29px;
    left: 50%;
    transform: translateX(-50%);
    font-size: .85em
}

.menu-button-wrapper .menu-button .txt.close {
    display: none
}

.menu-button-wrapper.menu-opened .menu-button .txt {
    display: none
}

.menu-button-wrapper.menu-opened .menu-button .txt.close {
    display: block
}

.g-menu {
    background: #f9f9f3;
    position: fixed;
    width: 100%;
    height: 100vh;
    opacity: 0;
    visibility: hidden;
    transition: .5s ease-out
}

.g-menu .flex-box {
    width: 100%;
    margin: 0 auto;
    height: 100%;
    align-items: center
}

.g-menu .flex-box .img-box {
    width: 40%;
    height: 100%
}

.g-menu .flex-box .img-box .img-inner-box {
    width: 100%;
    height: 100%;
    transition: .6s;
    background: url(assets/img/top/nav-00.jpg) center center/cover no-repeat
}

.g-menu .flex-box .img-box .img-inner-box.hover-menu01 {
    background: url(assets/img/top/nav-01.jpg) center center/cover no-repeat
}

.g-menu .flex-box .img-box .img-inner-box.hover-menu02 {
    background: url(assets/img/top/nav-02.jpg) center center/cover no-repeat
}

.g-menu .flex-box .img-box .img-inner-box.hover-menu03 {
    background: url(assets/img/top/nav-03.jpg) center center/cover no-repeat
}

.g-menu .flex-box .img-box .img-inner-box.hover-menu04 {
    background: url(assets/img/top/nav-04.jpg) center center/cover no-repeat
}

.g-menu .flex-box .img-box .img-inner-box.hover-menu05 {
    background: url(assets/img/top/nav-05.jpg) center center/cover no-repeat
}

.g-menu .flex-box .img-box .img-inner-box.hover-menu06 {
    background: url(assets/img/top/nav-06.jpg) center center/cover no-repeat
}

.g-menu .flex-box .nav-box {
    width: 60%;
    overflow-y: scroll;
    height: 100vh;
    display: flex;
    justify-content: center
}

.g-menu .flex-box .nav-box::-webkit-scrollbar {
    width: 6px
}

.g-menu .flex-box .nav-box::-webkit-scrollbar-track {
    background-color: #f9f9f3
}

.g-menu .flex-box .nav-box::-webkit-scrollbar-thumb {
    border-radius: 8px;
    background-color: #ddd9d8
}

.g-menu .flex-box .nav-box .nav-center-box {
    display: flex;
    align-items: center;
    padding: 50px 0
}

.g-menu .flex-box .nav-box .nav-center-box .nav-inner-box {
    max-width: 480px;
    display: inline-block;
    max-height: 100%
}

.g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-logo {
    width: 200px;
    height: auto;
    margin-bottom: 1.5em
}

.g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-menu-type1 {
    margin-bottom: 2em
}

.g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-menu-type1 li a {
    position: relative
}

.g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-menu-type1 li a::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 6px;
    height: 10px;
    background: url(assets/img/icon-arrow01.svg) center/contain no-repeat;
    opacity: 0;
    transition: .3s
}

.g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-menu-type1 li a p {
    font-size: 1.4vw;
    padding: .2em 0;
    transition: .3s;
    display: inline-block
}

.g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-menu-type1 li a:hover {
    position: relative
}

.g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-menu-type1 li a:hover::after {
    opacity: 1
}

.g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-menu-type1 li a:hover p {
    transform: translateX(.8em)
}

.g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-menu-type2 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -2% 2em
}

.g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-menu-type2 li {
    width: 46%;
    margin: 0 2%;
    border-bottom: #999 1px solid
}

.g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-menu-type2 li a p {
    font-size: 1.0625rem;
    padding: .3em 0 .2em;
    position: relative
}

.g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-menu-type2 li a p::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    width: 6px;
    height: 10px;
    background: url(assets/img/icon-arrow01.svg) center/contain no-repeat;
    transition: .3s
}

.g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-menu-type2 li a:hover p::after {
    right: .5em
}

.g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .sns-box {
    padding-bottom: 1.5em
}

.g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .sns-box img {
    width: 40px;
    margin-right: 1em
}

.g-menu.open {
    opacity: 1;
    z-index: 999;
    visibility: visible
}

.g-menu::-webkit-scrollbar {
    display: none
}

.g-menu .g-menu-contents .btn-type2 {
    margin-bottom: 10px
}

.g-menu .g-menu-contents .sns-box {
    margin-top: 10px
}

.g-menu .g-menu-contents .sns-box i {
    font-size: 1.875rem;
    margin-right: 8px
}

.g-menu .g-menu-contents .sns-box i.insta01,
.g-menu .g-menu-contents .sns-box i.insta02 {
    position: relative
}

.g-menu .g-menu-contents .sns-box i.insta01::after,
.g-menu .g-menu-contents .sns-box i.insta02::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 8px;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    background: url(/wp-content/themes/hana-sou/assets/img/insta-hanging.svg) top center/contain no-repeat
}

.g-menu .g-menu-contents .sns-box i.insta02::after {
    background: url(/wp-content/themes/hana-sou/assets/img/insta-colorsand.svg) top center/contain no-repeat
}

.g-menu .g-menu-contents .tel-txt {
    font-size: 1.375rem
}

.g-menu .g-menu-contents .tel-txt .s-txt {
    font-size: .5em
}

@media only screen and (max-width:1024px) {
    header.fixed {
        position: fixed;
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw
    }

    header.fixed.on {
        position: fixed
    }

    .g-menu .flex-box {
        align-items: stretch
    }

    .g-menu .flex-box .img-box {
        display: none
    }

    .g-menu .flex-box .nav-box {
        width: 100%;
        padding: 120px 5%
    }

    .g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-menu-type1 {
        margin-bottom: 2em
    }

    .g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-menu-type1 li a p {
        font-size: 1.625rem
    }
}

@media only screen and (max-width:767px) {
    .logo-wrapper a img {
        width: auto !important
    }

    .menu-button-wrapper {
        width: 60px
    }

    .menu-button-wrapper .menu-button {
        width: 30px
    }

    .menu-button-wrapper .menu-button .txt {
        font-size: .7em;
        bottom: -24px
    }

    .g-menu .flex-box .nav-box {
        padding: 40px 15px 80px
    }

    .g-menu .flex-box .nav-box .nav-center-box {
        padding: 0
    }

    .g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-logo {
        width: 200px;
        height: auto;
        margin-bottom: 1.5em
    }

    .g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-menu-type1 {
        margin-bottom: 2em
    }

    .g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-menu-type1 li a p {
        font-size: 1.25rem
    }

    .g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-menu-type2 li a p {
        font-size: .875rem;
        letter-spacing: 0;
        padding: .8em 0 .6em;
        position: relative
    }

    .g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-menu-type2 li a p::after {
        right: .3em
    }

    .g-menu .flex-box .nav-box .nav-center-box .nav-inner-box .nav-menu-type2 li a:hover p::after {
        right: 0
    }
} */

footer {
    margin-top: 4em
}

.footer-fixed-btn {
    display: none
}

@media only screen and (max-width:767px) {
    .footer-fixed-btn {
        display: flex;
        z-index: 100;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 50px;
        background-color: #7f7773
    }

    .footer-fixed-btn .f-box {
        width: 50%;
        text-align: center
    }

    .footer-fixed-btn .f-box .inner-box {
        width: 100%;
        height: 50px;
        display: flex;
        align-items: center;
        justify-content: center
    }

    .footer-fixed-btn .f-box .inner-box .b-txt {
        font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans Japanese", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
        font-size: .9375rem;
        color: #fff
    }

    .footer-fixed-btn .f-box .inner-box .b-txt .f-icon {
        width: 30px;
        margin-right: 10px
    }

    .footer-fixed-btn .f-box:first-child {
        position: relative
    }

    .footer-fixed-btn .f-box:first-child::after {
        content: "";
        position: absolute;
        width: 1px;
        height: 50px;
        background-color: #a7a19e;
        top: 0;
        right: 0
    }
}

footer .footer-01-sec {
    background: url(assets/img/top/footer-bg.jpg) center/cover no-repeat;
    position: relative
}

footer .footer-01-sec::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .55)
}

footer .footer-01-sec .content01 {
    text-align: center;
    color: #fff;
    position: relative;
    z-index: 10
}

footer .footer-01-sec .content01 .txt1 {
    display: inline-block;
    font-size: 1.625rem;
    border-bottom: #fff 1px solid;
    margin-bottom: 1.5em
}

footer .footer-01-sec .content01 .tel-txt {
    font-size: 3rem;
    line-height: 1.3
}

footer .footer-01-sec .content01 .tel-txt a {
    color: #fff
}

footer .footer-01-sec .content01 .tel-txt span {
    font-size: .5em
}

footer .footer-01-sec .content01 .txt2 {
    font-size: 1.125rem
}

footer .footer-01-sec .content01 .btn-wrap {
    margin: 2.5em 0 1em
}

footer .footer-01-sec .content01 .btn-wrap .line {
    max-width: 260px
}

@media only screen and (max-width:767px) {
    footer .footer-01-sec {
        background: url(assets/img/top/footer-bg-sp.jpg) center/cover no-repeat
    }

    footer .footer-01-sec .section-inner {
        padding: 70px 0
    }

    footer .footer-01-sec .content01 .txt1 {
        font-size: 1.375rem
    }

    footer .footer-01-sec .content01 .tel-txt {
        font-size: 2.375rem
    }
}

footer .footer-02-sec .content-wrap {
    padding: 50px 5% 15px
}

footer .footer-02-sec .content-wrap .content01 .logo-box {
    flex-grow: 1
}

footer .footer-02-sec .content-wrap .content01 .logo-box .logo {
    max-width: 350px
}

footer .footer-02-sec .content-wrap .content01 .link-box {
    width: 100%;
    max-width: 450px;
    margin: 0 -1.5%
}

footer .footer-02-sec .content-wrap .content01 .link-box .f-box {
    width: 47%;
    margin: 0 1.5%
}

footer .footer-02-sec .content-wrap .content01 .link-box .f-box li a {
    padding: .2em 0;
    display: block;
    font-size: .875rem
}

footer .footer-02-sec .content-wrap .content01 .link-box .sns-box {
    margin: 1em 0 3em
}

footer .footer-02-sec .content-wrap .content01 .link-box .sns-box .sns-icon {
    width: 40px;
    margin-right: 10px
}

footer .footer-02-sec .content-wrap .content02 .copy {
    text-align: right;
    font-size: .8125rem
}

@media only screen and (max-width:1024px) {
    footer .footer-02-sec .content-wrap .content01 .logo-box .logo {
        max-width: 180px
    }
}

@media only screen and (max-width:767px) {
    footer .footer-02-sec .content-wrap {
        padding: 50px 15px 65px
    }

    footer .footer-02-sec .content-wrap .content01 .logo-box {
        width: 100%;
        text-align: center;
        margin-bottom: 30px
    }

    footer .footer-02-sec .content-wrap .content01 .logo-box .logo {
        max-width: 250px
    }

    footer .footer-02-sec .content-wrap .content01 .link-box {
        width: 100%;
        max-width: none
    }

    footer .footer-02-sec .content-wrap .content01 .link-box .sns-box {
        text-align: center
    }

    footer .footer-02-sec .content-wrap .content01 .link-box .sns-box .sns-icon {
        margin: 0 8px
    }

    footer .footer-02-sec .content-wrap .content02 .copy {
        text-align: center
    }
}

input.wpcf7-back,
input.wpcf7-confirm,
input.wpcf7-submit {
    -webkit-appearance: none
}

.wpcf7 form.wpcf7-form p {
    margin-bottom: 20px
}

input.wpcf7-form-control.wpcf7-date,
input.wpcf7-form-control.wpcf7-number,
input.wpcf7-form-control.wpcf7-text,
select.wpcf7-form-control.wpcf7-select,
textarea.wpcf7-form-control.wpcf7-textarea {
    width: 100%
}

#ui-datepicker-div {
    z-index: 1000 !important
}

input.wpcf7-form-control.wpcf7-date,
input.wpcf7-form-control.wpcf7-number,
input.wpcf7-form-control.wpcf7-quiz,
input.wpcf7-form-control.wpcf7-text {
    font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans Japanese", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 1em;
    color: #333;
    line-height: 1.6
}

select.wpcf7-form-control.wpcf7-select,
select.wpcf7-form-control.wpcf7-text {
    font-size: 1em;
    color: #333;
    line-height: 1.6
}

textarea.wpcf7-form-control.wpcf7-textarea {
    font-size: 1em;
    color: #333;
    line-height: 1.6
}

.wpcf7-spinner {
    display: block;
    margin: 0 auto
}

.requied {
    font-size: .8em;
    color: #fff;
    display: inline-block;
    padding: 0 .3em;
    background: #ed1c24;
    border-radius: 2px;
    margin-left: .5em
}

.table-res-form {
    width: 100%;
    border: 1px #cdcdcd solid
}

.table-res-form.no-border {
    border-top: none
}

.table-res-form.no-border tr:first-child {
    border-top: none
}

.table-res-form tr {
    border-top: 1px #cdcdcd solid
}

.table-res-form td,
.table-res-form th {
    padding: 1.5em .6em;
    background: #fff;
    text-align: left
}

.table-res-form th {
    width: 25%;
    border-right: 1px solid #cdcdcd;
    text-align: right;
    vertical-align: middle
}

.table-res-form input[type=email],
.table-res-form input[type=number],
.table-res-form input[type=tel],
.table-res-form input[type=text] {
    border: 1px #cdcdcd solid !important;
    padding: .5em !important;
    border-radius: 5px;
    width: 100% !important;
    margin: 0
}

.table-res-form select,
.table-res-form textarea {
    border: 1px #cdcdcd solid !important;
    padding: .5em !important;
    border-radius: 5px;
    width: 100% !important;
    margin: 0
}

.table-res-form input[type=email]:focus,
.table-res-form input[type=number]:focus,
.table-res-form input[type=tel]:focus,
.table-res-form input[type=text]:focus {
    background: #fafafa !important;
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, .5) !important
}

.table-res-form select:focus,
.table-res-form textarea:focus {
    background: #fafafa !important;
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, .5) !important
}

.table-res-form .emarks {
    margin-top: .8em;
    font-size: .75em;
    color: red
}

.table-res-form .file-list li:not(:first-child) {
    margin-top: .8em
}

.table-res-form ::-moz-placeholder {
    color: #ddd
}

.table-res-form :-ms-input-placeholder {
    color: #ddd
}

.table-res-form ::placeholder {
    color: #ddd
}

.table-res-form .wpcf7-radio .wpcf7-list-item {
    margin: 0 1em 0 0;
    line-height: 2.5
}

.table-res-form .wpcf7-checkbox .wpcf7-list-item {
    margin: 0 1em 0 0;
    line-height: 2.5
}

.table-res-form .wpcf7-checkbox .wpcf7-list-item.last {
    margin: 0
}

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

    .table-res-form td,
    .table-res-form th {
        width: calc(100%);
        display: block;
        border-right: none
    }

    .table-res-form th {
        padding-bottom: 0;
        text-align: left
    }

    .table-res-form .empty {
        display: none
    }
}

.table-res-submit {
    padding: 4em 0 0 0;
    text-align: center
}

.table-res-submit p {
    margin-bottom: 0
}

.table-res-submit .wpcf7-confirm,
.table-res-submit .wpcf7-submit {
    font-family: inherit !important;
    height: auto !important;
    border-radius: inherit !important;
    text-align: center !important;
    color: #fff !important;
    display: inline-block !important;
    font-size: 1em !important;
    font-weight: 700 !important;
    line-height: 3.75em !important;
    padding: 0 3em !important;
    position: relative !important;
    text-decoration: none !important;
    border: none !important;
    background: #7f7773 !important;
    position: relative !important;
    transition: all .15s ease-out;
    margin: 3em 0 !important
}

.table-res-submit .wpcf7-back {
    font-family: inherit !important;
    height: auto !important;
    border-radius: inherit !important;
    text-align: center !important;
    color: #666 !important;
    display: inline-block !important;
    font-size: 1em !important;
    font-weight: 700 !important;
    line-height: 3.75em !important;
    padding: 0 3em !important;
    position: relative !important;
    text-decoration: none !important;
    background: #eee !important;
    position: relative !important;
    transition: all .15s ease-out;
    border-radius: none !important;
    margin: 3em 0 !important
}

.table-res-submit .wpcf7-confirm:hover,
.table-res-submit .wpcf7-submit:hover {
    background: rgba(26, 26, 26, .7) !important
}

.table-res-submit .wpcf7-back:hover {
    background: #ccc !important
}

.table-res-form.products-form {
    margin-bottom: 3em
}

.table-res-form.products-form input[type=text],
.table-res-form.products-form select {
    font-size: 1em;
    box-sizing: border-box
}

.table-res-form.products-form th {
    width: 15%
}

.table-res-form.products-form .vc_row-flex p[class*="c"] {
    display: none
}

.table-res-form.products-form .vc_row-flex:first-child p[class*="c"] {
    display: block
}

.table-res-form.products-form .shipment-row input[name*=num] {
    text-align: right
}

.wpcf7-checkbox>.wpcf7-list-item.first {
    margin-left: 0
}

.wpcf7-checkbox.vertical>.wpcf7-list-item {
    display: block;
    margin: 0
}

div.wpcf7-response-output {
    font-size: 1em
}

.input-group {
    position: relative;
    display: table;
    border-collapse: separate
}

.input-group-addon:first-child {
    border-right: 0
}

.input-group .f-control:first-child,
.input-group-addon:first-child {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.input-group-btn:first-child>.btn,
.input-group-btn:first-child>.btn-group>.btn,
.input-group-btn:first-child>.dropdown-toggle {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,
.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.input-group-addon {
    padding: 6px 12px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    color: #555;
    text-align: center;
    background-color: #eee;
    border: 1px solid #ccc;
    border-radius: 4px;
    width: 1%;
    white-space: nowrap;
    vertical-align: middle
}

.input-group-btn {
    width: 1%;
    white-space: nowrap;
    vertical-align: middle
}

.input-group .f-control,
.input-group-addon,
.input-group-btn {
    display: table-cell
}

.input-group .f-control:last-child,
.input-group-addon:last-child {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important
}

.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,
.input-group-btn:first-child>.btn:not(:first-child) {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important
}

.input-group-btn:last-child>.btn,
.input-group-btn:last-child>.btn-group>.btn,
.input-group-btn:last-child>.dropdown-toggle {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important
}

.input-group .f-control,
.input-group-addon,
.input-group-btn {
    display: table-cell
}

.input-group .f-control {
    position: relative;
    z-index: 2;
    float: left;
    width: 100%;
    margin-bottom: 0
}

span[class*=zipcode] input {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important
}

span[class*=zipcode]>div {
    font-size: 14px !important;
    margin-bottom: 1em !important
}

span[class*=addr1]>input,
span[class*=pref]>select {
    margin-bottom: 1em !important
}

.wpcf7-confirm:not([disabled])+.recaptcha-btn {
    cursor: pointer
}

.wpcf7-confirm[disabled] {
    background: #eee !important;
    color: #aaa !important;
    border: 1px #eee solid !important;
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, .5) !important
}

.wpcf7-confirm[disabled]+.recaptcha-btn {
    background: #eee !important;
    color: #aaa !important;
    border: 1px #eee solid !important;
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, .5) !important
}

.wpcf7-submit[disabled] {
    background: #eee !important;
    color: #aaa !important;
    border: 1px #eee solid !important;
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, .5) !important
}

.table-res-submit .wpcf7-submit[disabled]:hover {
    background: #eee !important;
    color: #aaa !important;
    border: 1px #eee solid !important;
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, .5) !important
}

.table-res-submit .wpcf7-confirm[disabled]+.recaptcha-btn:hover,
.table-res-submit .wpcf7-confirm[disabled]:hover {
    background: #eee !important;
    color: #aaa !important;
    border: 1px #eee solid !important;
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, .5) !important
}

.table-res-submit .wpcf7-confirm:hover {
    box-shadow: none !important;
    cursor: pointer
}

.table-res-submit .wpcf7-submit:hover {
    box-shadow: none !important;
    cursor: pointer
}

.table-res-submit .wpcf7-back:hover {
    background: #ccc !important;
    box-shadow: none !important
}

.table-res-submit .ajax-loader {
    display: none !important
}

div.wpcf7-response-output {
    margin: 2em .5em 1em !important;
    padding: .2em 1em !important;
    border: 2px solid red;
    background: #fff !important;
    color: #2e2f30 !important
}

div.wpcf7-mail-sent-ok {
    border: 2px solid #ccc !important;
    background: #fff !important;
    color: #2e2f30 !important
}

div.wpcf7-aborted,
div.wpcf7-mail-sent-ng {
    border: 2px solid red !important;
    background: #fff !important;
    color: #2e2f30 !important
}

div.wpcf7-spam-blocked {
    border: 2px solid orange !important;
    background: #fff !important;
    color: #2e2f30 !important
}

div.wpcf7-acceptance-missing,
div.wpcf7-validation-errors {
    border: 2px solid #f7e700 !important;
    background: #fff !important;
    color: #2e2f30 !important
}

div.wpcf7-response-output.wpcf7-mail-sent-ok:before,
div.wpcf7-response-output.wpcf7-validation-errors:before {
    content: none !important
}

.archive-box .contents-wrapper,
.single-box .contents-wrapper {
    display: flex;
    flex-wrap: nowrap
}

.archive-box .contents-wrapper .contents-box,
.single-box .contents-wrapper .contents-box {
    width: 67%;
    margin-right: 5%
}

.archive-box .contents-wrapper .sidebar-box,
.single-box .contents-wrapper .sidebar-box {
    width: 28%
}

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

    .archive-box .contents-wrapper,
    .single-box .contents-wrapper {
        flex-wrap: wrap
    }

    .archive-box .contents-wrapper .contents-box,
    .single-box .contents-wrapper .contents-box {
        width: 100%;
        margin-right: 0
    }

    .archive-box .contents-wrapper .sidebar-box,
    .single-box .contents-wrapper .sidebar-box {
        width: 100%;
        margin-top: 5em
    }
}

.archive-list>li:not(.acv_open)>ul {
    display: none
}

.archive-list li.acv_open:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f068";
    margin-right: .5em
}

.archive-list li:not(.acv_open)::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f067";
    margin-right: .5em
}

.archive-list li:hover {
    text-decoration: none !important;
    cursor: pointer
}

.archive-list li ul li a:hover {
    text-decoration: underline
}

.archive-list li .month-archive-list>li::before {
    content: none
}

.archive-box {
    margin-bottom: 60px
}

.archive-box .f-box {
    margin-bottom: 3em
}

.archive-box .f-box .item .meta-box {
    margin: .6em 0
}

.archive-box .f-box .item .meta-box .t {
    font-size: 1.375rem;
    line-height: 1.4;
    margin-bottom: .4em;
    letter-spacing: 0;
    font-weight: 400
}

.archive-box .f-box .item .meta-box .date {
    font-size: .875rem;
    line-height: 1.5
}

.archive-box .f-box .item .meta-box .cat-box li {
    display: inline-block;
    font-size: .875rem;
    line-height: 1.5
}

.archive-box .f-box .item .meta-box .cat-box li:nth-child(n+2)::before {
    content: "/ ";
    margin-left: .5em
}

.archive-box .f-box a:hover .item .meta-box .t {
    color: #7f7773
}

.archive-box .f-box a:hover .item .meta-box .date {
    color: #7f7773
}

.archive-box .f-box a:hover .item .meta-box .cat-box li {
    color: #7f7773
}

.pagination {
    display: inline-block;
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    margin-top: 40px
}

.pagination .pagination-icon {
    display: inline-block
}

.pagination ul {
    display: inline-block;
    list-style-type: none;
    margin: 0;
    padding: 0
}

.pagination ul li {
    float: left;
    margin-bottom: .5em
}

.pagination .pagination-icon,
.pagination ul li {
    position: relative;
    width: 38px;
    height: 38px;
    line-height: 38px;
    margin: 0 11px 0 0;
    text-align: center;
    font-size: 18px;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    white-space: nowrap;
    outline: 0;
    border-radius: 4px;
    text-shadow: none;
    transition: all .3s ease-in-out;
    color: #333;
    border-radius: 0;
    display: flex;
    align-items: center;
    display: inline-block
}

.pagination ul li {
    border: 1px solid #ddd
}

.pagination ul li.current {
    background: #333;
    border: 1px solid #333;
    color: #fff;
    cursor: auto
}

.pagination ul li:hover a {
    background: #333;
    border: 1px solid #333;
    color: #fff;
    border-radius: 0
}

.pagination .pagination-icon:hover a {
    color: #aaa
}

.pagination a {
    display: block
}

.pagination .fa {
    font-size: 1em
}

.pagination ul li a:hover .fa {
    color: #fff
}

.pagination {
    text-align: center
}

.single-box .contents-wrapper .contents-box .content-inner-box {
    border-radius: 4px;
    background-color: #fbfbf6;
    box-shadow: 1px 1px 2px rgba(0, 0, 0, .1)
}

.single-box .contents-wrapper .contents-box .content-inner-box .title-box {
    padding: 2em 2em 1em
}

.single-box .contents-wrapper .contents-box .content-inner-box .title-box .t {
    font-size: 1.8rem;
    margin-bottom: .5em;
    position: relative
}

.single-box .contents-wrapper .contents-box .content-inner-box .title-box .box1 .date {
    display: inline-block;
    margin-right: 1.5em;
    font-size: .8125rem
}

.single-box .contents-wrapper .contents-box .content-inner-box .title-box .box1 .cat-box {
    display: inline-block
}

.single-box .contents-wrapper .contents-box .content-inner-box .title-box .box1 .cat-box li {
    display: inline-block;
    font-size: .8125rem
}

.single-box .contents-wrapper .contents-box .content-inner-box .title-box .box1 .cat-box li:nth-child(n+2)::before {
    content: "/ ";
    margin-left: .5em
}

.single-box .contents-wrapper .contents-box .content-inner-box .d {
    padding: 2em 2.5em
}

.single-box .contents-wrapper .contents-box .link-box {
    display: flex;
    flex-wrap: nowrap;
    margin: 1em 0 1em;
    padding-top: 1em
}

.single-box .contents-wrapper .contents-box .link-box .link {
    width: 50%
}

.single-box .contents-wrapper .contents-box .link-box .link:last-child {
    text-align: right
}

.single-post-sec .link-box {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    margin: 120px 0 100px;
    align-items: center
}

.single-post-sec .link-box .center-box {
    margin: 30px
}

@media only screen and (max-width:767px) {
    .post-single-sec .section-inner {
        padding-top: 100px
    }

    .single-box .contents-wrapper .contents-box .content-inner-box {
        background-color: #fff;
        box-shadow: 1px 1px 3px rgba(0, 0, 0, .1)
    }

    .single-box .contents-wrapper .contents-box .content-inner-box .title-box {
        padding: 1em 15px 1em
    }

    .single-box .contents-wrapper .contents-box .content-inner-box .title-box .t {
        font-size: 1.375rem;
        letter-spacing: 0
    }

    .single-box .contents-wrapper .contents-box .content-inner-box .d {
        padding: 1.5em 15px
    }
}

.h2-type1 {
    font-family: "Nanum Myeongjo", serif;
    font-size: 3.75rem;
    margin-bottom: .8em;
    text-align: center;
    line-height: 1.2
}

.h2-type2 {
    font-size: 2.375rem;
    margin-bottom: 1.2em;
    display: inline-block;
    position: relative
}

.h2-type2::after,
.h2-type2::before {
    content: "";
    position: absolute;
    width: .8em;
    height: 1px;
    background-color: #333;
    top: 50%;
    transform: translateY(-50%)
}

.h2-type2::before {
    left: -1.6em
}

.h2-type2::after {
    right: -1.6em
}

@media only screen and (max-width:767px) {
    .h2-type1 {
        font-size: 3rem;
        margin-bottom: .5em
    }

    .h2-type2 {
        font-size: 1.75rem;
        line-height: 1.4
    }

    .h2-type2::after,
    .h2-type2::before {
        width: .6em
    }

    .h2-type2::before {
        left: -1em
    }

    .h2-type2::after {
        right: -1em
    }
}

.font-m {
    font-size: 1.25rem
}

@media only screen and (max-width:767px) {
    .font-m {
        font-size: 1.125rem
    }
}

a .btn-type1 {
    width: 100%;
    max-width: 200px;
    display: inline-block;
    border: #333 1px solid;
    text-align: center;
    background-color: #f9f9f3;
    position: relative;
    padding: .3em
}

a .btn-type1:after,
a .btn-type1:before {
    content: "";
    position: absolute;
    display: block;
    transition: all .3s
}

a .btn-type1::before {
    top: 50%;
    right: 1.2em;
    transform: translateY(-50%);
    width: 6px;
    height: 10px;
    background: url(assets/img/icon-arrow01.svg) center/contain no-repeat;
    opacity: 0
}

a .btn-type1::after {
    opacity: 0;
    right: -2px;
    bottom: -2px;
    background: #333;
    z-index: -1;
    width: 0;
    height: 0
}

a:hover .btn-type1::before {
    right: .8em;
    opacity: 1
}

a:hover .btn-type1::after {
    opacity: 1;
    width: calc(100% + 2px);
    height: calc(100% + 2px)
}

/* .ef-zoomin .mask {
    display: block;
    line-height: 0;
    overflow: hidden
}

.ef-zoomin .mask img {
    transform: scale(1);
    transition: .5s ease-out
}

.ef-zoomin:hover .mask img {
    transform: scale(1.05)
}

.ef-fade {
    opacity: 0;
    transition: all 2s
}

.ef-fade.on {
    opacity: 1
} */

.swiper-container {
    width: 100%;
    height: 100vh
}

.swiper-container .swiper-wrapper .swiper-slide {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center
}

.top-01-sec .content01 {
    width: 100%;
}

.top-01-sec .video-box {
    position: relative;
    height: calc(100vh - 92px);
    overflow: hidden;
}

.top-01-sec .video-box video {
    position: absolute;
    top: 50%;
    left: 50%;
		transform: translateX(-50%) translateY(-50%);
    width: auto;
    height: 100%;
}
@media only screen and (max-width:1024px) {
	.top-01-sec .video-box {
			height: 50vh;
	}
}

.top-08-sec h2 {
 margin-bottom: 0;
}

.top-02-sec .content01 {
    max-width: 1600px;
    margin: 0 auto -40px
}

.top-02-sec .content01 .f-box {
    width: 47%;
    margin: 0 1.5% 40px
}

.top-02-sec .content01 .f-box h2 {
    font-size: 1.625rem;
    margin: .3em 0
}

.top-02-sec .content01 .f-box .txt {
    font-size: 1.125rem;
    list-style: 1.6;
    margin-bottom: 1em
}

@media only screen and (max-width:1024px) {
    .top-02-sec .content01 {
        margin: 0 2% -40px
    }

    .top-02-sec .content01 .f-box {
        width: 47%
    }
}

@media only screen and (max-width:767px) {
    .top-02-sec .content01 {
        margin: 0 15px -40px
    }

    .top-02-sec .content01 .f-box {
        width: 100%;
        margin: 0 0 40px
    }

    .top-02-sec .content01 .f-box h2 {
        font-size: 1.625rem;
        margin: .3em 0
    }

    .top-02-sec .content01 .f-box .txt {
        font-size: 1.125rem;
        list-style: 1.6;
        margin-bottom: 1em
    }
}

.top-03-sec .content01 {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto
}

.top-03-sec .content01 .inner-box {
    align-items: center;
    background-color: #fbfbf6;
    padding: 15px;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, .1);
    transition: .3s
}

.top-03-sec .content01 .inner-box .img-box {
    width: 45%
}

.top-03-sec .content01 .inner-box .txt-box {
    width: 55%;
    padding-left: 5%;
    text-align: center
}

.top-03-sec .content01 .inner-box .txt-box h2 {
    font-size: 1.625rem;
    margin-bottom: .5em
}

.top-03-sec .content01 .inner-box .txt-box .logo {
    width: 80%;
    margin-bottom: 1em
}

.top-03-sec .content01 .inner-box .txt-box .center {
    z-index: 2;
    position: relative
}

.top-03-sec .content01 .inner-box .txt-box .center .btn-type1 {
    background-color: #fbfbf6
}

.top-03-sec .content01 a:hover .inner-box {
    transform: translateY(-5px)
}

.top-03-sec .desc-txt {
    text-align: center;
    margin-top: .8em
}

@media only screen and (max-width:767px) {
    .top-03-sec .content01 .inner-box .img-box {
        width: 100%;
        margin-bottom: 25px
    }

    .top-03-sec .content01 .inner-box .txt-box {
        width: 100%;
        padding-left: 0
    }
}

.top-04-sec .content01 {
    margin: 0 -1.5%
}

.top-04-sec .content01 .f-box {
    width: 30.3%;
    margin: 0 1.5%
}

.top-04-sec .content01 .f-box .img-wrap {
    position: relative;
    cursor: pointer
}

.top-04-sec .content01 .f-box .img-wrap .icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 25%
}

@media only screen and (max-width:767px) {
    .top-04-sec .content01 {
        margin: 0
    }

    .top-04-sec .content01 .f-box {
        width: 86%;
        margin: 0 auto 32px
    }
}

.top-05-sec .section-full-inner {
    padding-top: 120px
}

.top-05-sec .content01 {
    padding: 0 3%
}

.top-05-sec .content01 .img-box {
    width: 42%;
    background: url(assets/img/top/top-05-01.jpg) center/cover no-repeat
}

.top-05-sec .content01 .txt-box {
    width: 58%;
    padding: 30px 0 30px 2.5%
}

.top-05-sec .content01 .txt-box .h2-type1 {
    text-align: left
}

.top-05-sec .content01 .txt-box .post-wrap .inner-box {
    padding: 2em 10px;
    border-bottom: #ccc 1px solid;
    transition: .3s
}

.top-05-sec .content01 .txt-box .post-wrap .inner-box .post-img-box {
    width: 38%
}

.top-05-sec .content01 .txt-box .post-wrap .inner-box .post-txt-box {
    width: 62%;
    padding-left: 2em
}

.top-05-sec .content01 .txt-box .post-wrap .inner-box .post-txt-box .post-title {
    font-size: 1.5rem;
    margin-bottom: 1em
}

.top-05-sec .content01 .txt-box .post-wrap .inner-box .post-txt-box .cat-box li {
    display: inline-block
}

.top-05-sec .content01 .txt-box .post-wrap .inner-box .post-txt-box .cat-box li:nth-child(n+2)::before {
    content: "/ ";
    margin-left: .5em
}

.top-05-sec .content01 .txt-box .post-wrap a:hover .inner-box {
    background-color: #f1f1e6
}

.top-05-sec .content01 .txt-box .btn-box {
    margin-top: 2em
}

@media only screen and (max-width:767px) {
    .top-05-sec .section-full-inner {
        padding-top: 40px
    }

    .top-05-sec .content01 {
        padding: 0 15px
    }

    .top-05-sec .content01 .img-box {
        display: none
    }

    .top-05-sec .content01 .txt-box {
        width: 100%;
        padding: 0
    }

    .top-05-sec .content01 .txt-box .h2-type1 {
        text-align: center;
        margin-bottom: .4em
    }

    .top-05-sec .content01 .txt-box .post-wrap .inner-box {
        padding: 1em 10px
    }

    .top-05-sec .content01 .txt-box .post-wrap .inner-box .post-txt-box {
        padding-left: 1em
    }

    .top-05-sec .content01 .txt-box .post-wrap .inner-box .post-txt-box .post-title {
        font-size: 1.0625rem;
        margin-bottom: .8em
    }

    .top-05-sec .content01 .txt-box .post-wrap .inner-box .post-txt-box .date {
        font-size: .875rem;
        line-height: 1.4
    }

    .top-05-sec .content01 .txt-box .post-wrap .inner-box .post-txt-box .cat-box li {
        font-size: .875rem
    }

    .top-05-sec .content01 .txt-box .btn-box {
        text-align: center
    }
}

.top-07-sec .content01 {
    text-align: center
}

.top-07-sec .content01 .title {
    font-size: 2.25rem;
    margin-bottom: .8em
}

.top-07-sec .content01 .txt+.txt {
    margin-top: 1em
}

@media only screen and (max-width:767px) {
    .top-07-sec .section-inner {
        padding-top: 80px
    }
}

.title-sec {
    width: 100%;
    height: 570px;
    margin-bottom: 60px
}

.title-sec .title-box {
    width: 100%;
    height: 100%;
    position: relative;
    padding: 0 20px
}

.title-sec .title-box .title-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    text-align: center;
    width: 90%
}

.title-sec .title-box .title-wrap .en {
    font-family: "Nanum Myeongjo", serif;
    font-size: 3rem;
    line-height: 1.2;
		margin-bottom: 8px;
}

.title-sec .title-box .title-wrap h1 {
    font-size: 2.375rem;
		margin-bottom: 0;
}

.title-sec .title-box .title-wrap .en span,
.title-sec .title-box .title-wrap h1 span {
    display: inline-block
}

.title-sec.no-title-image {
    height: 380px;
    margin-bottom: 0
}

.title-sec.photo-wedding {
    background: url(assets/img/photo-wedding/p-wedding-title.jpg) center/cover no-repeat
}

.title-sec.seijin-photo {
    background: url(assets/img/seijin-photo/seijin-title.jpg) center/cover no-repeat
}

.title-sec.wedding-party {
    background: url(assets/img/wedding-party/w-party-title.jpg) center/cover no-repeat
}

.title-sec.dress-rental {
    background: url(assets/img/dress-rental/dress-title.jpg) center/cover no-repeat
}

.title-sec.kids-photo {
    background: url(assets/img/kids-photo/kids-title.jpg) center/cover no-repeat
}

.title-sec.after-party {
    background: url(assets/img/after-party/a-party-title.jpg) center/cover no-repeat
}

.title-sec.lucoco {
    background: url(assets/img/lucoco/lucoco-title.jpg) center/cover no-repeat
}

.title-sec.company {
    background: url(assets/img/company/company-title.jpg) center/cover no-repeat
}

@media screen and (max-width:767px) {
    .title-sec {
        height: 380px;
        margin-bottom: 20px
    }

    .title-sec .title-box .title-wrap .en {
        font-size: 2rem
    }

    .title-sec .title-box .title-wrap h1 {
        font-size: 1.6875rem
    }

    .title-sec.no-title-image {
        height: 240px;
        padding-top: 60px
    }

    .title-sec.photo-wedding {
        background: url(assets/img/photo-wedding/p-wedding-title-sp.jpg) center/cover no-repeat
    }

    .title-sec.seijin-photo {
        background: url(assets/img/seijin-photo/seijin-title-sp.jpg) center/cover no-repeat
    }

    .title-sec.wedding-party {
        background: url(assets/img/wedding-party/w-party-title-sp.jpg) center/cover no-repeat
    }

    .title-sec.dress-rental {
        background: url(assets/img/dress-rental/dress-title-sp.jpg) center/cover no-repeat
    }

    .title-sec.kids-photo {
        background: url(assets/img/kids-photo/kids-title-sp.jpg) center/cover no-repeat
    }

    .title-sec.after-party {
        background: url(assets/img/after-party/a-party-title-sp.jpg) center/cover no-repeat
    }

    .title-sec.lucoco {
        background: url(assets/img/lucoco/lucoco-title-sp.jpg) center/cover no-repeat
    }

    .title-sec.company {
        background: url(assets/img/company/company-title-sp.jpg) center/cover no-repeat
    }
}

.breadcrumb .section-full-inner {
    padding: 15px 0 100px;
    margin-left: 8.3%
}

#breadcrumb {
    font-size: .8em;
    color: #a0a0a0;
    padding: 0 0 1.2em
}

#breadcrumb a {
    color: #a0a0a0
}

#breadcrumb a:hover {
    text-decoration: underline
}

#breadcrumb ul {
    display: table;
    list-style: none;
    margin: 0
}

#breadcrumb ul li {
    margin: 0 9px 0 0;
    float: left
}

#breadcrumb ul li:last-child {
    color: #7f7773
}

#breadcrumb ul li:not(:first-child)::before {
    padding: 0 9px 0 0;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900
}

@media screen and (max-width:767px) {
    .breadcrumb .section-full-inner {
        padding: 15px 15px 50px;
        margin-left: 0
    }
}

.ser-concept-sec .content01 {
    text-align: center
}

.ser-concept-sec .content01 .title {
    font-size: 2.25rem;
    margin-bottom: .8em
}

.ser-concept-sec .content01 .txt+.txt {
    margin-top: 1em
}

.ser-concept-sec .content02 {
    width: 100%;
    max-width: 850px;
    margin: 3em auto 0
}

@media screen and (max-width:767px) {
    .ser-concept-sec .content01 .title {
        font-size: 1.875rem;
        letter-spacing: 0
    }
}

.ser-feature-sec .content01 {
    background-color: #fbfbf6;
    padding: 3em 1em
}

.ser-feature-sec .content01 .h2-type2 {
    margin-bottom: 1.2em
}

.ser-feature-sec .content01 .flex-box .f-box {
    width: 28.3%;
    margin: 0 2.5%
}

.ser-feature-sec .content01 .flex-box .f-box .en {
    font-family: "Nanum Myeongjo", serif;
    color: #fff;
    font-size: .8125rem;
    font-weight: 700;
    display: inline-block;
    background-color: #819a94;
    padding: 0 .5em;
    border-radius: 4px;
    margin-bottom: .5em
}

.ser-feature-sec .content01 .flex-box .f-box h3 {
    font-size: 1.625rem;
    margin-bottom: .4em
}

.ser-feature-sec .content01 .flex-box .f-box.m-b {
    margin-bottom: 30px
}

.ser-feature-sec .content01 .flex-box.pc-column2 .f-box {
    width: 45%
}

@media screen and (max-width:1024px) {
    .ser-feature-sec .content01 {
        box-shadow: 1px 1px 3px rgba(0, 0, 0, .1)
    }

    .ser-feature-sec .content01 .flex-box {
        margin-bottom: -30px
    }

    .ser-feature-sec .content01 .flex-box .f-box {
        width: 100%;
        margin: 0 auto 30px;
        max-width: 550px
    }
}

@media screen and (max-width:767px) {
    .ser-feature-sec .content01 .flex-box .f-box {
        margin: 0 0 30px
    }

    .ser-feature-sec .content01 .flex-box .f-box h3 {
        font-size: 1.625rem
    }

    .ser-feature-sec .content01 .flex-box.pc-column2 .f-box {
        width: 100%
    }
}

.ser-plan-sec .plan-d-txt {
    text-align: center;
    margin-bottom: 25px
}

.ser-plan-sec .cat-box {
    width: 28%;
    margin-right: 6%
}

.ser-plan-sec .cat-box .sticky-box {
    position: sticky;
    top: 100px
}

.ser-plan-sec .cat-box .sticky-box .cat-list-box:nth-child(n+2) {
    margin-top: 2em
}

.ser-plan-sec .cat-box .sticky-box .cat-title {
    color: #819a94;
    border-bottom: #ccc 1px solid;
    font-size: 1.125rem;
    padding: .5em 0
}

.ser-plan-sec .cat-box .sticky-box ul.cat-list {
    padding: 1em 0
}

.ser-plan-sec .cat-box .sticky-box ul.cat-list li a {
    padding: .4em 0;
    display: block;
    position: relative
}

.ser-plan-sec .cat-box .sticky-box ul.cat-list li a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: .5em;
    transform: translateY(-50%);
    width: 6px;
    height: 10px;
    background: url(assets/img/icon-arrow01.svg) center/contain no-repeat;
    transition: .3s
}

.ser-plan-sec .cat-box .sticky-box ul.cat-list li a:hover::after {
    right: 0
}

.ser-plan-sec .plan-box {
    width: 66%
}

.ser-plan-sec .plan-box .plan {
    margin-bottom: 40px
}

.ser-plan-sec .plan-box .plan:last-child {
    margin-bottom: 0
}

.ser-plan-sec .plan-box .title-box {
    border-bottom: #ccc 1px solid;
    padding: 1.5em 0
}

.ser-plan-sec .plan-box .title-box .name-box {
    width: calc(100% - 160px)
}

.ser-plan-sec .plan-box .title-box .name-box .name {
    font-size: 1.75rem
}

.ser-plan-sec .plan-box .title-box .price-box {
    width: 160px
}

.ser-plan-sec .plan-box .title-box .price-box .price {
    color: #819a94;
    line-height: 1.5;
    text-align: right
}

.ser-plan-sec .plan-box .title-box .price-box .price .num {
    font-family: "Nanum Myeongjo", serif;
    font-size: 2em
}

.ser-plan-sec .plan-box .detail-box {
    padding: 2em 0
}

.ser-plan-sec .plan-box .detail-box ul li {
    font-size: 1.25rem;
    position: relative;
    padding-left: 1.3em
}

.ser-plan-sec .plan-box .detail-box ul li::before {
    content: "";
    position: absolute;
    width: .6em;
    height: .6em;
    background-color: #819a94;
    border-radius: 50%;
    top: .7em;
    left: 0
}

.ser-plan-sec .plan-box .detail-box table.option-list {
    width: 100%
}

.ser-plan-sec .plan-box .detail-box table.option-list tr {
    border-bottom: #ccc dotted 1px
}

.ser-plan-sec .plan-box .detail-box table.option-list tr th {
    font-weight: 400;
    text-align: left;
    font-size: 1.125rem
}

.ser-plan-sec .plan-box .detail-box table.option-list tr td {
    text-align: right;
    width: 150px;
    font-size: .875rem
}

.ser-plan-sec .plan-box .detail-box table.option-list tr td .num {
    font-size: 1.3em
}

.ser-plan-sec .plan-box .detail-box table.option-list tr td,
.ser-plan-sec .plan-box .detail-box table.option-list tr th {
    padding: .6em 0
}

.ser-plan-sec .plan-box .detail-box.option {
    padding-left: 1em;
    padding-right: 1em
}

.ser-plan-sec .plan-box .img-box {
    margin-top: 2em
}

.ser-plan-sec .plan-box .t {
    margin-top: 2em
}

.ser-plan-sec .plan-box .txt-box {
    margin-top: 2em
}

.ser-plan-sec .plan-box .txt-box .txt+.txt {
    margin-top: 1em
}

.ser-plan-sec .plan-frame {
    background: #fbfbf6;
    border-radius: 4px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .1);
    padding: 0 30px
}

.ser-plan-sec .plan-frame.cat-list-box {
    padding: 0 18px
}

.ser-plan-sec .content02 {
    margin-top: 1em
}

@media screen and (max-width:1024px) {
    .ser-plan-sec .plan-box .title-box .name-box {
        width: 100%;
        margin-bottom: .3em
    }

    .ser-plan-sec .plan-box .title-box .price-box {
        width: 100%
    }
}

@media screen and (max-width:767px) {
    .ser-plan-sec .cat-box {
        width: 100%;
        margin-right: 0;
        position: sticky;
        top: 75px;
        z-index: 5
    }

    .ser-plan-sec .cat-box .sticky-box {
        position: relative;
        top: auto;
        background: #7f7773;
        box-shadow: 0 1px 4px rgba(0, 0, 0, .1);
        margin-bottom: 30px
    }

    .ser-plan-sec .cat-box .sticky-box .cat-list-box:nth-child(n+2) {
        margin-top: 0
    }

    .ser-plan-sec .cat-box .sticky-box .cat-title {
        font-size: .8125rem;
        color: #fff;
        padding: .2em 0
    }

    .ser-plan-sec .cat-box .sticky-box ul.cat-list {
        padding: .4em 0;
        line-height: 1.1
    }

    .ser-plan-sec .cat-box .sticky-box ul.cat-list li {
        display: inline-block;
        background-color: #fbfbf6;
        border-radius: 4px;
        margin-bottom: .2em
    }

    .ser-plan-sec .cat-box .sticky-box ul.cat-list li a {
        padding: .1em .4em;
        font-size: .875rem;
        color: #333;
        letter-spacing: 0
    }

    .ser-plan-sec .cat-box .sticky-box ul.cat-list li a::after {
        content: none
    }

    .ser-plan-sec .plan-box {
        width: 100%
    }

    .ser-plan-sec .plan-box .title-box {
        padding: 1em 0 .5em
    }

    .ser-plan-sec .plan-box .title-box .name-box .name {
        font-size: 1.5rem
    }

    .ser-plan-sec .plan-box .title-box .price-box .price {
        font-size: .75rem
    }

    .ser-plan-sec .plan-box .detail-box {
        padding: 2em 0
    }

    .ser-plan-sec .plan-box .detail-box ul li {
        font-size: 1.125rem;
        padding-left: 1em;
        line-height: 1.4;
        margin-bottom: .8em;
        letter-spacing: 0
    }

    .ser-plan-sec .plan-box .detail-box ul li::before {
        width: .6em;
        height: .6em;
        top: .5em
    }

    .ser-plan-sec .plan-box .detail-box table.option-list tr th {
        font-size: 1.0625rem;
        line-height: 1.4;
        letter-spacing: 0
    }

    .ser-plan-sec .plan-box .detail-box table.option-list tr td {
        width: 105px;
        font-size: .75rem
    }

    .ser-plan-sec .plan-box .detail-box table.option-list tr td .num {
        font-size: 1.3em
    }

    .ser-plan-sec .plan-box .detail-box table.option-list tr td,
    .ser-plan-sec .plan-box .detail-box table.option-list tr th {
        padding: 1em 0
    }

    .ser-plan-sec .plan-box .detail-box.option {
        padding-left: 0;
        padding-right: 0
    }

    .ser-plan-sec .plan-frame {
        background: #fbfbf6;
        border-radius: 4px;
        box-shadow: 0 1px 4px rgba(0, 0, 0, .1);
        padding: 0 20px
    }

    .ser-plan-sec .plan-frame.cat-list-box {
        padding: 0 18px;
        background: 0 0;
        box-shadow: none
    }
}

.ser-flow-sec .content01,
.ser-flow-sec .content02 {
    width: 100%;
    max-width: 800px;
    margin: 0 auto
}

.ser-flow-sec .content01 .flow-box {
    display: flex
}

.ser-flow-sec .content01 .flow-box .step-box {
    width: 130px;
    position: relative
}

.ser-flow-sec .content01 .flow-box .step-box::before {
    content: "";
    position: absolute;
    width: 1px;
    height: calc(100% - 55px);
    top: 47px;
    left: 2em;
    background-color: #ccc
}

.ser-flow-sec .content01 .flow-box .step-box .en {
    font-size: 1.5rem;
    color: #819a94;
    font-family: "Nanum Myeongjo", serif
}

.ser-flow-sec .content01 .flow-box .txt-box {
    width: calc(100% - 130px);
    padding-bottom: 2em
}

.ser-flow-sec .content01 .flow-box .txt-box .title {
    font-size: 1.375rem;
    margin-bottom: .3em
}

.ser-flow-sec .content01 .flow-box .txt-box .txt {
    font-size: 1.125rem
}

.ser-flow-sec .content01 .flow-box .txt-box .txt a {
    text-decoration: underline
}

.ser-flow-sec .content01 .flow-box:last-child .step-box::before {
    content: none
}

.ser-flow-sec .content02 {
    margin-top: 3em
}

.ser-flow-sec .content02 ul {
    padding-left: 1.4em
}

.ser-flow-sec .content02 ul li {
    text-indent: -1.4em
}

.ser-flow-sec .content02 ul li::before {
    content: '※ '
}

.ser-flow-sec .content02 .hosoku-title {
    display: inline-block;
    border-bottom: #333 1px solid;
    margin: 1.5em 0 .5em
}

@media screen and (max-width:767px) {
    .ser-flow-sec .content01 .flow-box .step-box {
        width: 90px
    }

    .ser-flow-sec .content01 .flow-box .step-box .en {
        font-size: 1.25rem;
        padding: .2em 0
    }

    .ser-flow-sec .content01 .flow-box .txt-box {
        width: calc(100% - 90px)
    }

    .ser-flow-sec .content01 .flow-box .txt-box .txt {
        letter-spacing: 0
    }

    .ser-flow-sec .content02 ul li {
        letter-spacing: 0;
        line-height: 1.4;
        margin-bottom: .8em
    }

    .ser-flow-sec .content02 .hosoku-title {
        display: inline-block;
        border-bottom: #333 1px solid;
        margin: 1.5em 0 .5em
    }
}

.ser-faq-sec .content01 {
    width: 100%;
    max-width: 800px;
    margin: 0 auto
}

.ser-faq-sec .content01 .faq-box {
    border-bottom: #ccc 1px solid;
    padding: 2em 0
}

.ser-faq-sec .content01 .faq-box .a-txt,
.ser-faq-sec .content01 .faq-box .q-txt {
    position: relative;
    padding-left: 45px
}

.ser-faq-sec .content01 .faq-box .a-txt::before,
.ser-faq-sec .content01 .faq-box .q-txt::before {
    position: absolute;
    font-size: 1.375rem;
    font-weight: 400;
    border: #819a94 1px solid;
    width: 32px;
    height: 32px;
    top: 0;
    left: 0;
    padding: .2em;
    line-height: .8;
    text-align: center
}

.ser-faq-sec .content01 .faq-box .q-txt {
    font-weight: 700;
    font-size: 1.25rem;
    margin-bottom: .5em
}

.ser-faq-sec .content01 .faq-box .q-txt::before {
    content: 'Q';
    background-color: #819a94;
    color: #fff
}

.ser-faq-sec .content01 .faq-box .a-txt {
    font-size: 1.125rem
}

.ser-faq-sec .content01 .faq-box .a-txt::before {
    content: 'A';
    color: #819a94
}

.photo-wedding-02-sec .content02 {
    width: 100%;
    max-width: 600px;
    margin: 60px auto 0
}

.photo-wedding-02-sec .content02 .img-wrap {
    position: relative;
    cursor: pointer
}

.photo-wedding-02-sec .content02 .img-wrap .icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 20%
}

.lapo-desc-sec .content01 {
    max-width: 1640px;
    padding: 0 20px;
    margin: 0 auto
}

.lapo-desc-sec .content01 .flex-box {
    align-items: center;
    background-color: #fbfbf6
}

.lapo-desc-sec .content01 .flex-box .img-box {
    width: 50%
}

.lapo-desc-sec .content01 .flex-box .txt-box {
    width: 50%;
    padding: 0 3%
}

.lapo-desc-sec .content01 .flex-box .txt-box h2 {
    font-size: 1.625rem
}

.lapo-desc-sec .content01 .flex-box .txt-box .lapo {
    font-size: 2.125rem;
    margin-bottom: .8em
}

.lapo-desc-sec .content01 .flex-box .txt-box .txt+.txt {
    margin-top: 1em
}

@media screen and (max-width:1024px) {
    .lapo-desc-sec .content01 {
        max-width: 600px
    }

    .lapo-desc-sec .content01 .flex-box {
        box-shadow: 1px 1px 3px rgba(0, 0, 0, .1)
    }

    .lapo-desc-sec .content01 .flex-box .img-box {
        width: 100%
    }

    .lapo-desc-sec .content01 .flex-box .txt-box {
        width: 100%;
        padding: 1.8em
    }

    .lapo-desc-sec .content01 .flex-box .txt-box h2 {
        font-size: 1.5rem
    }

    .lapo-desc-sec .content01 .flex-box .txt-box .lapo {
        font-size: 1.6875rem
    }
}

@media screen and (max-width:767px) {
    .lapo-desc-sec .content01 .flex-box .txt-box {
        width: 100%;
        padding: 1.8em
    }

    .lapo-desc-sec .content01 .flex-box .txt-box h2 {
        font-size: 1.25rem;
        font-weight: 700
    }

    .lapo-desc-sec .content01 .flex-box .txt-box .lapo {
        line-height: 1.4;
        margin-top: .3em
    }
}

/* .lucoco-02-sec .content01 .img-box,
.lucoco-03-sec .content01 .img-box {
    max-width: 600px;
    margin: 0 auto 35px
}

.lucoco-02-sec .lucoco-swiper .swiper-button-next,
.lucoco-02-sec .lucoco-swiper .swiper-button-prev,
.lucoco-03-sec .lucoco-swiper .swiper-button-next,
.lucoco-03-sec .lucoco-swiper .swiper-button-prev {
    opacity: 0;
    background-color: rgba(0, 0, 0, .3);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    transition: .3s
}

.lucoco-02-sec .lucoco-swiper .swiper-button-next::after,
.lucoco-02-sec .lucoco-swiper .swiper-button-prev::after,
.lucoco-03-sec .lucoco-swiper .swiper-button-next::after,
.lucoco-03-sec .lucoco-swiper .swiper-button-prev::after {
    font-size: 1.125rem;
    color: #fff;
    font-weight: 700
}

.lucoco-02-sec .lucoco-swiper .swiper-button-next:hover,
.lucoco-02-sec .lucoco-swiper .swiper-button-prev:hover,
.lucoco-03-sec .lucoco-swiper .swiper-button-next:hover,
.lucoco-03-sec .lucoco-swiper .swiper-button-prev:hover {
    background-color: rgba(0, 0, 0, .6)
}

.lucoco-02-sec .lucoco-swiper .swiper-pagination,
.lucoco-03-sec .lucoco-swiper .swiper-pagination {
    opacity: 0;
    transition: .3s
}

.lucoco-02-sec .lucoco-swiper .swiper-pagination .swiper-pagination-bullet-active,
.lucoco-03-sec .lucoco-swiper .swiper-pagination .swiper-pagination-bullet-active {
    background-color: #fff
}

.lucoco-02-sec .lucoco-swiper:hover .swiper-button-next,
.lucoco-02-sec .lucoco-swiper:hover .swiper-button-prev,
.lucoco-03-sec .lucoco-swiper:hover .swiper-button-next,
.lucoco-03-sec .lucoco-swiper:hover .swiper-button-prev {
    opacity: 1
}

.lucoco-02-sec .lucoco-swiper:hover .swiper-pagination,
.lucoco-03-sec .lucoco-swiper:hover .swiper-pagination {
    opacity: 1
}

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

    .lucoco-02-sec .lucoco-swiper,
    .lucoco-03-sec .lucoco-swiper {
        padding-bottom: 20px
    }

    .lucoco-02-sec .lucoco-swiper .swiper-pagination,
    .lucoco-03-sec .lucoco-swiper .swiper-pagination {
        opacity: 1;
        bottom: -4px
    }

    .lucoco-02-sec .lucoco-swiper .swiper-pagination .swiper-pagination-bullet-active,
    .lucoco-03-sec .lucoco-swiper .swiper-pagination .swiper-pagination-bullet-active {
        background-color: #7f7773
    }
} */

.gallery-01-sec {
    max-width: 1600px;
    margin: 0 auto
}

.company-01-sec .content02 {
    width: 100%;
    max-width: 850px;
    margin: 3em auto 0
}

.company-02-sec .content01 .txt {
    font-size: 1.125rem;
    text-align: justify
}

.company-02-sec .content01 .txt+.txt {
    margin-top: 2em
}

.company-02-sec .content01 .name-box {
    text-align: right;
    margin-top: 2em
}

.company-02-sec .content01 .name-box .posi {
    font-size: 1.125rem
}

.company-02-sec .content01 .name-box .name {
    font-size: 1.375rem
}

.company-03-sec .content01 {
    max-width: 800px;
    margin: 0 auto
}

.company-03-sec .content01 table {
    width: 100%;
    margin-bottom: 30px
}

.company-03-sec .content01 table tr {
    border-bottom: #ccc 1px solid
}

.company-03-sec .content01 table tr td,
.company-03-sec .content01 table tr th {
    padding: 1em 0
}

.company-03-sec .content01 table tr th {
    white-space: nowrap;
    width: 50px;
    padding-right: 1em;
    padding-left: 1em
}

.company-03-sec .content01 table tr td ul {
    padding-left: 1em
}

.company-03-sec .content01 table tr td ul li {
    text-indent: -1.2em
}

.company-03-sec .content01 table tr td ul li::before {
    content: "・"
}

.company-03-sec .content01 .grid-box {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    grid-gap: 10px;
    margin-bottom: 40px
}

.company-03-sec .content01 .grid-box .box1 {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3
}

.company-03-sec .content01 .grid-box .box2 {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2
}

.company-03-sec .content01 .grid-box .box3 {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3
}

/*お問い合わせ*/
.contact-01-sec .txt-type1 {
    margin-bottom: 2em
}

.contact-01-sec .box {
    margin-bottom: 80px
}

.contact-01-sec .box .tel-num {
    font-size: 2.5rem;
    line-height: 1.4;
    margin-bottom: 0;
}

.contact-01-sec .box .tel-num .s {
    font-size: .5em
}

.contact-01-sec .box .time {
    font-size: .875rem
}

.contact-01-sec .box .form-txt {
    margin-bottom: 1em
}

.contact-01-sec .btn-type2 {
    margin: 1em 0;
    padding: 1em;
    font-size: 1.375rem;
    text-align: center;
    background-color: #444;
    color: #fff;
    display: inline-block;
    max-width: 400px;
    width: 100%;
    transition: .5s
}

.contact-01-sec a:hover .btn-type2 {
    background-color: #666
}

.contact-01-sec h3.h3-type1 {
    font-size: 1.25rem;
    border-left: 10px solid #444;
    padding-left: .8em;
    margin-bottom: .6em;
    font-weight: 700
}

.privacy-sec .policy-box .box {
    margin-bottom: 3em
}

.privacy-sec .policy-box .box h3 {
    border-bottom: #333 1px solid;
    margin-bottom: .5em
}

.privacy-sec .policy-box .box p {
    margin-bottom: 1em
}

.privacy-sec .policy-box .box ol {
    counter-reset: num;
    list-style-type: none
}

.privacy-sec .policy-box .box ol li {
    position: relative
}

.privacy-sec .policy-box .box ol li::before {
    counter-increment: num;
    content: counters(num, "-") ". ";
    position: absolute;
    left: 0
}

.privacy-sec .policy-box .box ol>li {
    padding-left: 1.5em
}

.privacy-sec .policy-box .box ol>li ol>li {
    padding-left: 2.5em
}

.privacy-sec .policy-box .box ol>li ol>li ol>li {
    padding-left: 3.5em
}

/*特定商取引法に基づく表記*/
.law-01-sec table{
  border: 1px solid #ccc;
}
.law-01-sec table tr{
	border-bottom: 1px solid #ccc;
}
.law-01-sec table th{
	border-right: 1px solid #ccc;
	vertical-align: top;
}
.law-01-sec table th,.law-01-sec table td{
	padding: 1em;
}
.law-01-sec table .card-icon{
	width: 45px;
	margin-right: 3px;
}
.law-01-sec table td p{
	margin-bottom: 0;
}

.grecaptcha-badge {
    visibility: hidden
}

.recaptcha-txt {
    font-size: .75rem;
    text-align: center
}

.recaptcha-txt .en {
    font-size: .65rem
}

.notfound-sec h2 {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 30px
}

.notfound-sec h2 .s {
    font-size: 1.5rem
}

.notfound-sec .btn-wrapper {
    margin-top: 30px
}

#ie-header-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    overflow: hidden;
    background-color: rgba(0, 0, 0, .8)
}

#ie-header-bar #header-inner {
    width: 100%;
    max-width: 1100px;
    margin: 60px auto;
    font-size: 16px;
    color: #fff;
    padding: 0 20px
}

#page-top {
    position: fixed;
    bottom: 33px;
    right: 20px;
    z-index: 50
}

#page-top img {
    width: 58px;
    height: 58px;
    transition: .3s
}

#page-top a:hover img {
    transform: translateY(-8px)
}

#page-top.none {
    display: none !important
}

@media only screen and (max-width:767px) {
    #page-top {
        bottom: 58px;
        right: 12px
    }

    #page-top img {
        width: 45px;
        height: 45px
    }
}

/*商品詳細*/
#itempage .slider-for .slick-slide a::before{
	padding-top: 66.6% !important;
}
