@charset "UTF-8";

@font-face {
  font-family: noteserif400;
  font-style: normal;
  font-weight: 700;
  src: url("font/noteserif400.woff2") format("woff")
}

body,
html {
  height: 100%;
  padding: 0;
  font-size: 62.5%
}

body,
html {
  width: 100%;
  margin: 0
}

body {
  color: #000;
  font-family: noteserif400, serif;
  min-width: 80pc
}

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

p {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.8
}

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

a {
  text-decoration: underline;
  color: inherit
}

a:hover img {
  opacity: .7
}

img {
  border: 0
}

.sp {
  display: none !important
}

.header {
  height: 8pc;
  width: 100%;
  background: #fff
}

.header p.disc {
  padding: 10px 20px 9pt;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 400
}

.header .inner {
  padding: 0 20px
}

.header .inner h1,
.header .inner p.h1 {
  width: 190px;
  float: left
}

.header .inner nav {
  float: left
}

.header .inner nav ul {
  display: flex;
  align-items: center
}

.header .inner nav ul li {
  list-style-type: none;
  border-bottom: 4px solid #fff
}

.header .inner nav ul li.n-link {
  padding: 25px 10px;
  font-size: 1pc;
  font-size: 1.6rem;
  display: block
}

.header .inner nav ul li:hover {
  border-bottom: 4px solid #5b6eb4;
  cursor: pointer
}

.header .inner nav ul li a {
  padding: 25px 10px;
  font-size: 18px;
  font-size: 1.8rem;
  display: block;
  display: block
}

.header .inner nav ul li.parent,
.header .inner nav ul li.parent2,
.header .inner nav ul li.parent3,
.header .inner nav ul li.parent4 {
  position: relative
}

.header .inner nav ul li.parent ul.child {
  width: 15pc
}

.header .inner nav ul li.parent2 ul.child2,
.header .inner nav ul li.parent ul.child {
  position: absolute;
  height: auto;
  display: block;
  opacity: 0;
  z-index: 4;
  top: 81px;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  visibility: hidden
}

.header .inner nav ul li.parent2 ul.child2 {
  width: 270px
}

.header .inner nav ul li.parent3 ul.child3 {
  width: 15pc
}

.header .inner nav ul li.parent3 ul.child3,
.header .inner nav ul li.parent4 ul.child4 {
  position: absolute;
  height: auto;
  display: block;
  z-index: 4;
  opacity: 0;
  top: 81px;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  visibility: hidden
}

.header .inner nav ul li.parent4 ul.child4 {
  width: 330px
}

.header .inner nav ul li.parent2:hover ul.child2,
.header .inner nav ul li.parent3:hover ul.child3,
.header .inner nav ul li.parent4:hover ul.child4,
.header .inner nav ul li.parent5:hover ul.child5,
.header .inner nav ul li.parent6:hover ul.child6,
.header .inner nav ul li.parent7:hover ul.child7,
.header .inner nav ul li.parent:hover ul.child {
  visibility: visible;
  opacity: 1;
  top: 5pc;
  left: 0
}

.header .inner nav ul li.parent2 ul.child2 li,
.header .inner nav ul li.parent3 ul.child3 li,
.header .inner nav ul li.parent4 ul.child4 li,
.header .inner nav ul li.parent5 ul.child5 li,
.header .inner nav ul li.parent6 ul.child6 li,
.header .inner nav ul li.parent7 ul.child7 li,
.header .inner nav ul li.parent ul.child li {
  width: 100%;
  height: auto;
  border-bottom: 1px solid #fff
}

.header .inner nav ul li.parent2 ul.child2 li a,
.header .inner nav ul li.parent3 ul.child3 li a,
.header .inner nav ul li.parent4 ul.child4 li a,
.header .inner nav ul li.parent5 ul.child5 li a,
.header .inner nav ul li.parent6 ul.child6 li a,
.header .inner nav ul li.parent7 ul.child7 li a,
.header .inner nav ul li.parent ul.child li a {
  display: block;
  width: 100%;
  padding: 10px;
  text-align: left;
  color: #333;
  background: #f0f3fd;
  line-height: 1;
  font-size: 15px;
  font-size: 1.5rem
}

.header .inner nav ul li.parent2 ul.child2 li a:hover,
.header .inner nav ul li.parent3 ul.child3 li a:hover,
.header .inner nav ul li.parent4 ul.child4 li a:hover,
.header .inner nav ul li.parent5 ul.child5 li a:hover,
.header .inner nav ul li.parent6 ul.child6 li a:hover,
.header .inner nav ul li.parent7 ul.child7 li a:hover,
.header .inner nav ul li.parent ul.child li a:hover {
  background: #2e438f;
  color: #fff
}

.header .inner nav ul li ul li a svg {
  color: #919dcb;
  margin-right: 8px
}

.header .inner nav ul li.parent ul.child li:nth-last-of-type(1) {
  border-bottom: 1px solid #fff
}

.header .header-contact {
  float: right;
  display: flex;
  align-items: center
}

.header .header-contact .header-tel {
  font-size: 30px;
  font-size: 3rem;
  font-style: italic;
  line-height: 1.5;
  margin-top: -10px
}

.header .header-contact .header-tel span {
  display: block;
  background: #eee;
  font-size: 15px;
  font-size: 1.5rem;
  text-align: center
}

.header .header-contact .header-tel img {
  margin-right: 10px
}

.header .header-contact .h-contact,
.header .header-contact .header-fb {
  margin-left: 15px
}

.main-image {
  position: relative;
  z-index: 2
}

.main-image,
.main-image img {
  width: 100%;
  height: auto
}

.main-image .float {
  position: absolute;
  top: 141px;
  right: 50%;
  width: 556px;
  height: 370px;
  margin-right: 40px
}

@media screen and (min-width:920px) and (max-width:1677px) {
  .main-image .float {
    width: 33.2vw;
    height: auto
  }
}

.wrap {
  position: relative;
  width: 75pc;
  display: flex;
  justify-content: space-between;
  margin: -17vw auto 70px;
  z-index: 3
}

.wrap .main-contents {
  width: 840px
}

.wrap .main-contents .for-general {
  width: 100%;
  height: auto;
  background: #fff;
  border: 1px solid #da5b60;
  margin-bottom: 50px;
  position: relative
}

.wrap .main-contents .for-general h2 {
  width: 100%;
  height: 81px;
  background: url(../img/common/h2-bg02.png);
  background-repeat: no-repeat;
  text-align: center;
  font-size: 2pc;
  font-size: 3.2rem;
  color: #fff;
  font-weight: 400;
  line-height: 81px;
  margin-bottom: 46px
}

.wrap .main-contents .for-general h2:before {
  content: url(../img/common/icon-corner.png);
  position: absolute;
  left: 0;
  top: 0;
  z-index: auto;
  z-index: 2;
  line-height: 0
}

.wrap .main-contents .for-general h2 span {
  font-family: Italianno, cursive;
  margin-left: 20px
}

.wrap .main-contents .for-general .box-wrap {
  display: flex;
  justify-content: space-between;
  padding: 0 40px 50px
}

.wrap .main-contents .for-general .box-wrap .box {
  width: 360px
}

.wrap .main-contents .for-general .box-wrap .box p {
  margin-bottom: 27px;
  font-size: 18px;
  font-size: 1.8rem
}

.wrap .main-contents .for-general .box-wrap .box p.title {
  font-size: 30px;
  font-size: 3rem;
  color: #da5b60;
  margin-bottom: 8px;
  line-height: 1.5
}

.wrap .main-contents .for-general .box-wrap .box .for-detail a {
  display: block;
  width: 100%;
  text-align: center;
  padding: 18px;
  border: 1px solid #da5b60;
  color: #da5b60;
  font-size: 20px;
  font-size: 2rem;
  position: relative;
  line-height: 1
}

.wrap .main-contents .for-general .box-wrap .box .for-detail a:after {
  content: ">";
  position: absolute;
  right: 25px;
  top: 15px;
  color: #da5b60
}

.wrap .main-contents .for-general .box-wrap .box .for-detail a:hover {
  background: #da5b60;
  color: #fff
}

.wrap .main-contents .for-general .box-wrap .box .for-detail a:hover:after {
  color: #fff
}

.wrap .main-contents .for-general .box-wrap .box:nth-of-type(1) p {
  margin-bottom: 51px
}

.wrap .main-contents .for-general .box-wrap .box:nth-of-type(1) p.title {
  margin-bottom: 1pc
}

.u-wrap .main-contents p.intro-txt {
  font-size: 20px;
  line-height: 1.5;
  text-align: center;
  margin: 40px auto 24px
}

.u-wrap .main-contents p.intro-txt2 {
  font-size: 1pc;
  line-height: 1.5;
  text-align: center;
  margin: 30px auto 18px
}

.box1 {
  display: flex
}

.u-wrap .main-contents .box1 h3 {
  margin: 0 auto 1pc
}

p.career-wrap {
  margin-bottom: 8px
}

span.career {
  background: #fa8d91;
  box-shadow: 0 0 0 3px #fa8d91;
  border: dashed 1px #fff;
  padding: .2em .5em;
  color: #fff
}

.box1 .image {
  margin-right: 20px
}

.box1 .image img {
  margin: 0
}

.box1 .txt {
  padding-top: 8px
}

.u-wrap .main-contents .box1 .txt h4 {
  margin-top: 0
}

.box-2,
.box-3 {
  display: flex;
  justify-content: space-between
}

.box-2 .image {
  width: 48%;
  height: auto
}

.box-3 .image {
  width: 32%;
  height: auto
}

.box-2 .image img,
.box-3 .image img {
  width: 100%;
  height: auto
}

a.for-mc {
  display: block;
  width: 340px;
  text-align: center;
  padding: 15px 0;
  color: #fff !important;
  margin: 20px auto;
  background: #fa8d91;
  font-size: 1.6rem;
  border-radius: 10px;
  text-decoration: none
}

a.for-mc:hover {
  background: #f0c2c4;
  color: #999
}

.wrap .main-contents .to-company {
  width: 100%;
  height: auto;
  background: #fff;
  border: 1px solid #6174b7;
  margin-bottom: 50px;
  position: relative;
  z-index: 1
}

.wrap .main-contents .to-company:before {
  content: url(../img/common/icon-corner.png);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  line-height: 0
}

.wrap .main-contents .to-company h2 {
  width: 100%;
  height: 81px;
  background: url(../img/common/h2-bg.png);
  background-repeat: no-repeat;
  text-align: center;
  font-size: 2pc;
  font-size: 3.2rem;
  color: #fff;
  font-weight: 400;
  line-height: 81px;
  margin-bottom: 46px
}

.wrap .main-contents .to-company h2 span {
  font-family: Italianno, cursive;
  margin-left: 20px
}

.wrap .main-contents .to-company .box-wrap {
  display: flex;
  justify-content: space-between;
  padding: 0 40px 50px
}

.wrap .main-contents .to-company .box-wrap .box {
  width: 360px
}

.wrap .main-contents .to-company .box-wrap .box p {
  margin-bottom: 30px;
  font-size: 18px;
  font-size: 1.8rem
}

.wrap .main-contents .to-company .box-wrap .box p.title {
  font-size: 30px;
  font-size: 3rem;
  color: #6174b7;
  margin-bottom: 1pc;
  line-height: 1.5
}

.wrap .main-contents .to-company .box-wrap .box .for-detail a {
  display: block;
  width: 100%;
  text-align: center;
  padding: 18px;
  border: 1px solid #6174b7;
  color: #6174b7;
  font-size: 20px;
  font-size: 2rem;
  position: relative;
  line-height: 1
}

.wrap .main-contents .to-company .box-wrap .box .for-detail a:after {
  content: ">";
  position: absolute;
  right: 25px;
  top: 15px;
  color: #6174b7
}

.wrap .main-contents .to-company .box-wrap .box .for-detail a:hover {
  background: #6174b7;
  color: #fff
}

.wrap .main-contents .to-company .box-wrap .box .for-detail a:hover:after {
  color: #fff
}

.wrap .main-contents .to-company .box-wrap .box:nth-of-type(1) p {
  margin-bottom: 94px
}

.wrap .main-contents .to-company .box-wrap .box:nth-of-type(1) p.title {
  margin-bottom: 1pc
}

.wrap .main-contents .company-wrap {
  display: flex;
  justify-content: space-between;
  padding: 0 40px 50px
}

.wrap .main-contents .company-wrap .txt {
  width: 360px
}

.wrap .main-contents .company-wrap .txt p {
  margin-bottom: 24px;
  font-size: 18px;
  font-size: 1.8rem
}

.wrap .main-contents .company-wrap .txt p.title {
  font-size: 30px;
  font-size: 3rem;
  color: #6174b7;
  margin-bottom: 8px;
  line-height: 1.5
}

.wrap .main-contents .company-wrap .txt .for-detail a {
  display: block;
  width: 100%;
  text-align: center;
  padding: 18px;
  border: 1px solid #6174b7;
  color: #6174b7;
  font-size: 20px;
  font-size: 2rem;
  position: relative;
  line-height: 1
}

.wrap .main-contents .company-wrap .txt .for-detail a:after {
  content: ">";
  position: absolute;
  right: 25px;
  top: 15px;
  color: #6174b7
}

.wrap .main-contents .company-wrap .txt .for-detail a:hover {
  background: #6174b7;
  color: #fff
}

.wrap .main-contents .company-wrap .txt .for-detail a:hover:after {
  color: #fff
}

.wrap .main-contents .company-wrap .image {
  width: 360px
}

.wrap .main-contents .top-school {
  width: 100%;
  height: auto;
  background: #fff;
  border: 1px solid #0f8253;
  margin-bottom: 50px;
  position: relative
}

.wrap .main-contents .top-school:before {
  content: url(../img/common/icon-corner.png);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 5;
  line-height: 0
}

.wrap .main-contents .top-school h2 {
  width: 100%;
  height: 81px;
  background: url(../img/common/h2-bg03.png);
  background-repeat: no-repeat;
  text-align: center;
  font-size: 2pc;
  font-size: 3.2rem;
  color: #fff;
  font-weight: 400;
  line-height: 81px;
  margin-bottom: 46px
}

.wrap .main-contents .top-school h2 span {
  font-family: Italianno, cursive;
  margin-left: 20px
}

.wrap .main-contents .top-school .box-wrap {
  display: flex;
  justify-content: space-between;
  padding: 0 40px 50px
}

.wrap .main-contents .top-school .box-wrap .box {
  width: 360px
}

.wrap .main-contents .top-school .box-wrap .box p {
  margin-bottom: 30px;
  font-size: 18px;
  font-size: 1.8rem
}

.wrap .main-contents .top-school .box-wrap .box p.title {
  font-size: 30px;
  font-size: 3rem;
  color: #0f8253;
  margin-bottom: 1pc;
  line-height: 1.5
}

.wrap .main-contents .top-school .box-wrap .box .for-detail a {
  display: block;
  width: 100%;
  text-align: center;
  padding: 18px;
  border: 1px solid #0f8253;
  color: #0f8253;
  font-size: 20px;
  font-size: 2rem;
  position: relative;
  line-height: 1
}

.wrap .main-contents .top-school .box-wrap .box .for-detail a:after {
  content: ">";
  position: absolute;
  right: 25px;
  top: 15px;
  color: #0f8253
}

.wrap .main-contents .top-school .box-wrap .box .for-detail a:hover {
  background: #0f8253;
  color: #fff
}

.wrap .main-contents .top-school .box-wrap .box .for-detail a:hover:after {
  color: #fff
}

.wrap .main-contents .top-school .box-wrap .box:nth-of-type(2) p {
  margin-bottom: 4pc
}

.wrap .main-contents .top-school .box-wrap .box:nth-of-type(2) p.title {
  margin-bottom: 1pc
}

.wrap .main-contents .top-case {
  width: 100%;
  height: auto;
  background: #fff;
  border: 1px solid #2e438f;
  position: relative;
  background: url(../img/top/case-bg.png);
  background-position: top center;
  background-repeat: no-repeat;
  padding: 86px 40px 58px
}

.wrap .main-contents .top-case h2 {
  width: 100%;
  text-align: center;
  font-size: 2pc;
  font-size: 3.2rem;
  color: #333;
  font-weight: 400;
  margin-bottom: 46px
}

.wrap .main-contents .top-case h2 span {
  font-family: Italianno, cursive;
  margin-left: 20px;
  display: block;
  color: #2e438f
}

.wrap .main-contents .top-case .box-wrap .box {
  padding: 46px 0 40px;
  border-top: 1px solid #2e438f
}

.u-wrap .main-contents .box-wrap .box {
  padding: 0 0 40px
}

.u-wrap .main-contents .box-wrap .box p.category,
.wrap .main-contents .top-case .box-wrap .box p.category {
  width: 380px;
  background: #5b6eb4;
  text-align: center;
  padding: 5px 0;
  color: #fff;
  margin-bottom: 15px;
  font-size: 18px;
  font-size: 1.8rem
}

.u-wrap .main-contents .box-wrap .box p.name,
.wrap .main-contents .top-case .box-wrap .box p.name {
  display: flex;
  align-items: center;
  font-size: 24px;
  font-size: 2.4rem;
  color: #2e438f;
  margin-bottom: 18px
}

.u-wrap .main-contents .box-wrap .box p.name span,
.wrap .main-contents .top-case .box-wrap .box p.name span {
  font-size: 1pc;
  font-size: 1.6rem;
  color: #333
}

.u-wrap .main-contents .box-wrap .box .case-wrap,
.wrap .main-contents .top-case .box-wrap .box .case-wrap {
  display: flex;
  justify-content: space-between
}

.u-wrap .main-contents .box-wrap .box .case-wrap .image,
.wrap .main-contents .top-case .box-wrap .box .case-wrap .image {
  width: 20pc;
  height: auto;

}
.u-wrap .main-contents .box-wrap .box .case-wrap .image img,
.wrap .main-contents .top-case .box-wrap .box .case-wrap .image img {
  width: 100%;
  height: auto
}

.wrap .main-contents .top-case .box-wrap .box .case-wrap .txt {
  width: 410px
}

.u-wrap .main-contents .box-wrap .box .case-wrap .txt {
  width: 5in
}

.u-wrap .main-contents .box-wrap .box .case-wrap .txt p,
.wrap .main-contents .top-case .box-wrap .box .case-wrap .txt p {
  font-size: 17px;
  font-size: 1.7rem;
  margin-bottom: 10px
}

.u-wrap .main-contents .box-wrap .box .case-wrap .txt p span,
.wrap .main-contents .top-case .box-wrap .box .case-wrap .txt p span {
  background: #eee;
  padding: 5px 30px;
  margin-right: 15px
}

.u-wrap .main-contents .box-wrap .box.case-wrap .txt p.comment,
.wrap .main-contents .top-case .box-wrap .box .case-wrap .txt p.comment {
  font-size: 18px;
  font-size: 1.8rem
}

.u-wrap .main-contents .box-wrap .box .case-wrap .txt p.more a,
.wrap .main-contents .top-case .box-wrap .box .case-wrap .txt p.more a {
  color: #2e438f;
  font-size: 18px;
  font-size: 1.8rem
}

.u-wrap .main-contents .box-wrap .box .case-wrap .txt p.more a:hover,
.u-wrap .main-contents .box-wrap .box .case-wrap .txt p.more a:hover svg,
.wrap .main-contents .top-case .box-wrap .box .case-wrap .txt p.more a:hover,
.wrap .main-contents .top-case .box-wrap .box .case-wrap .txt p.more a:hover svg {
  color: #f85f5f
}

.u-wrap .main-contents .box-wrap .box .case-wrap .txt p svg,
.wrap .main-contents .top-case .box-wrap .box .case-wrap .txt p svg {
  color: #919dcb;
  margin-right: 20px
}

.u-wrap .main-contents .box-wrap .box,
.wrap .main-contents .top-case .box-wrap .box:nth-last-of-type(2) {
  border-bottom: 1px solid #2e438f;
  margin-bottom: 50px
}

.u-wrap .main-contents .for-detail a,
.wrap .main-contents .top-case .for-detail a {
  display: block;
  width: 360px;
  text-align: center;
  padding: 18px;
  border: 1px solid #2e438f;
  color: #2e438f;
  font-size: 20px;
  font-size: 2rem;
  position: relative;
  line-height: 1;
  margin: 0 auto
}

.u-wrap .main-contents .for-detail a:after,
.wrap .main-contents .top-case .for-detail a:after {
  content: ">";
  position: absolute;
  right: 25px;
  top: 15px;
  color: #2e438f
}

.u-wrap .main-contents .for-detail a:hover,
.wrap .main-contents .top-case .for-detail a:hover {
  background: #2e438f;
  color: #fff
}

.u-wrap .main-contents .for-detail a:hover:after,
.wrap .main-contents .top-case .for-detail a:hover:after {
  color: #fff
}

aside {
  width: 20pc
}

aside .side-contact {
  width: 20pc;
  height: 324px;
  background: url(../img/common/side-bg.png);
  padding-top: 148px;
  text-align: center;
  margin-bottom: 50px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .4)
}

aside .side-contact p.side-tel {
  margin-bottom: 8px
}

aside .sidemenu {
  widows: 100%;
  margin-bottom: 50px;
  box-shadow: 0 0 3px rgba(0, 0, 0, .3)
}

aside .sidemenu p.title {
  padding: 3px 0;
  text-align: center;
  background: url(../img/common/side-menu-bg.png);
  color: #fff;
  font-family: Italianno, cursive;
  font-size: 2pc;
  font-size: 3.2rem;
  line-height: 1
}

aside .sidemenu ul li {
  background: #f2f4fd;
  list-style-type: none;
  font-size: 19px;
  font-size: 1.9rem;
  padding: 15px;
  margin-bottom: 2px;
  display: inline-block;
  width: 100%
}

aside .sidemenu ul li a {
  display: inherit;
  padding: 0;
  font-size: 19px;
  font-size: 1.9rem
}

aside .sidemenu ul li a:hover {
  color: #f85f5f
}

aside .sidemenu ul li ul {
  border-left: 1px solid #ccc;
  margin: 10px 8px
}

aside .sidemenu ul li ul li {
  padding: 5px;
  padding-left: 20px
}

aside .sidemenu ul li ul li a {
  padding: 0;
  font-size: 1pc;
  font-size: 1.6rem
}

aside .sidemenu ul li ul li a:hover {
  color: #f85f5f
}

aside .sidemenu ul li svg {
  margin-right: 10px;
  color: #919dcb
}

.maps {
  margin: 0 auto 65px;
  overflow: hidden
}

.maps,
.maps iframe {
  width: 100%;
  height: 500px
}

.u-main-image {
  width: 100%;
  height: 250px;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  text-align: center
}

.u-main-image h1,
.u-main-image p.page-title {
  text-align: center;
  font-size: 3pc;
  font-size: 4.8rem;
  font-weight: 400;
  padding-top: 87px;
  line-height: 1.1;
  color: #fff
}

.u-main-image h1 span,
.u-main-image p.page-title span {
  font-size: 36px;
  font-size: 3.6rem;
  font-family: Italianno, cursive;
  color: #fcc0c2
}

.page-id-7 .u-main-image {
  background-image: url(../img/page/main-concept.jpg)
}

.archive .u-main-image,
.blog .u-main-image,
.error404 .u-main-image,
.page-id-3 .u-main-image,
.page-id-26 .u-main-image,
.page-id-28 .u-main-image,
.page-id-32 .u-main-image,
.single-post .u-main-image {
  background-image: url(../img/page/main-case.jpg)
}

.page-id-20 .u-main-image {
  background-image: url(../img/page/main-general.jpg)
}

.page-id-22 .u-main-image {
  background-image: url(../img/page/main-company.jpg)
}

.page-id-45 .u-main-image {
  background-image: url(../img/page/main-school.jpg)
}

.page-id-135 .u-main-image {
  background-image: url(../img/page/main-bridal.jpg)
}

#breadcrumbs {
  width: 75pc;
  margin: 0 auto;
  padding: 40px 0
}

.u-wrap {
  width: 75pc;
  margin: 0 auto 70px;
  display: flex;
  justify-content: space-between
}

.u-wrap .main-contents {
  width: 840px
}

.u-wrap .main-contents img,
.u-wrap .single-contents img {
  max-width: 100%;
  height: auto;
  margin: 10px 0
}

.u-wrap .main-contents h2 {
  width: 100%;
  height: 75px;
  background: url(../img/common/h2-bg.png);
  background-repeat: no-repeat;
  text-align: left;
  font-size: 2pc;
  font-size: 3.2rem;
  color: #fff;
  font-weight: 400;
  line-height: 75px;
  margin: 2pc 0;
  padding: 0 46px;
  position: relative
}

.u-wrap .main-contents h2#ceremony,
.u-wrap .main-contents h2#party,
.u-wrap .main-contents h2#training,
.u-wrap .main-contents h3#forevent {
  margin-top: 90pt
}

.u-wrap .main-contents h2:before {
  content: url(../img/common/icon-corner.png);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 5;
  line-height: 0
}

.u-wrap .main-contents h2:first-child,
.u-wrap .single-contents h2:first-child {
  margin-top: 0
}

.u-wrap .main-contents h3 {
  font-size: 2.5rem
}

.u-wrap .main-contents h3,
.u-wrap .main-contents h3 .bridal-name {
  font-size: 30px;
  padding-bottom: 8px;
  border-bottom: 1px solid #7997c3;
  margin: 30px 0
}

.u-wrap .main-contents h3 .bridal-name {
  font-size: 2rem
}

.u-wrap .main-contents h4 {
  color: #2e438f;
  font-size: 24px;
  font-size: 2.4rem;
  margin: 20px 0
}

.u-wrap .main-contents p {
  margin-bottom: 10px
}

.u-wrap .single-contents p.date {
  margin-bottom: 0;
  font-weight: 700;
  font-family: noteserif700
}

.u-wrap .single-contents {
  width: 840px
}

.u-wrap .single-contents .category {
  width: 380px;
  background: #5b6eb4;
  text-align: center;
  padding: 5px 0;
  color: #fff;
  margin-bottom: 15px;
  font-size: 18px;
  font-size: 1.8rem
}

.u-wrap .single-contents p.count,
.u-wrap .single-contents p.place {
  font-size: 1.4rem;
  font-weight: 700;
  font-family: noteserif700
}

.u-wrap .single-contents p.count span,
.u-wrap .single-contents p.place span {
  padding: 5px 10px;
  background: #fa8d91;
  color: #fff;
  border-radius: 5px;
  margin-right: 20px;
  font-weight: 700;
  font-family: noteserif700
}

.u-wrap .single-contents h1 {
  width: 100%;
  background-repeat: no-repeat;
  text-align: left;
  font-size: 2pc;
  font-size: 3.2rem;
  color: #5b6eb4;
  font-weight: 700;
  font-family: noteserif700;
  line-height: 75px;
  margin: 0 0 2pc;
  border-bottom: 2px solid #5b6eb4;
  position: relative
}

.u-wrap .single-contents h2 {
  font-size: 30px;
  font-size: 3rem;
  padding-bottom: 8px;
  border-bottom: 1px solid #7997c3;
  margin: 30px 0
}

.u-wrap .single-contents h3 {
  color: #2e438f;
  font-size: 24px;
  font-size: 2.4rem;
  margin: 20px 0
}

.u-wrap .single-contents h4 {
  font-size: 20px;
  font-size: 2rem;
  margin: 20px 0
}

.u-wrap .single-contents p {
  margin-bottom: 10px
}

.u-wrap aside {
  width: 20pc
}

.l-privacy li {
  font-size: 14px;
  margin: 10px 0;
  list-style-type: none
}

.l-privacy li ul {
  padding: 0 1em;
  margin-bottom: 20px
}

.l-privacy h3:first-child {
  margin-top: 0
}

p.office {
  margin-top: 20px
}

p.office span {
  font-size: 1pc;
  font-weight: 700;
  font-family: noteserif700
}

footer .footer-logoarea {
  width: 100%;
  text-align: center;
  background: url(../img/common/ftr-wave.jpg);
  background-repeat: repeat-x;
  background-position: bottom center;
  padding-bottom: 8pc
}

footer .footer-logoarea .footer-intro {
  font-size: 42px;
  font-size: 4.2rem;
  text-align: center;
  margin-bottom: 30px
}

footer .footer-logoarea .footer-logo {
  text-align: center;
  margin-bottom: 30px
}

footer .footer-logoarea .footer-adress {
  text-align: center
}

footer .footer-logoarea .footer-adress p {
  margin-bottom: 10px
}

footer .footer-logoarea .footer-adress .footer-contact-wrap {
  display: flex;
  justify-content: center
}

footer .footer-logoarea .footer-adress .footer-contact-wrap .footer-tel {
  font-size: 30px;
  font-size: 3rem;
  font-style: italic;
  line-height: 1.5;
  margin-top: -10px;
  margin: 0 20px
}

footer .footer-logoarea .footer-adress .footer-contact-wrap .footer-tel span {
  display: block;
  background: #eee;
  font-size: 15px;
  font-size: 1.5rem;
  text-align: center
}

footer .footer-logoarea .footer-adress .footer-contact-wrap .footer-tel img {
  margin-right: 10px
}

footer .footer-logoarea .footer-adress .footer-contact-wrap .footer-contact {
  margin: 5px 20px 0
}

footer .f-nav {
  width: 100%;
  background: url(../img/common/ftr-bg.png);
  background-repeat: repeat-x;
  padding: 29px 0
}

footer .f-nav ul {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff
}

footer .f-nav ul li {
  padding: 0;
  list-style: none
}

footer .f-nav ul li a {
  color: #fff;
  font-size: 14px;
  font-size: 1.4rem;
  border-bottom: 0;
  padding: 0 10px
}

footer .f-nav ul li a:hover {
  color: #ee0
}

footer .copyright {
  text-align: center;
  font-size: 14px;
  font-size: 1.4rem;
  padding: 10px 0
}

#page_top {
  position: fixed;
  bottom: -300px;
  right: 20px;
  width: 122px;
  height: 129px;
  background: url(../img/common/btn_pageup.png);
  background-repeat: no-repeat;
  z-index: 4
}

#page_top a {
  display: block;
  width: 75pt;
  height: 75pt;
  padding-top: 38px;
  font-size: 1pc;
  color: #fff;
  text-align: center
}

#page_top:hover {
  opacity: .7
}

.page-404 p {
  text-align: center;
  font-size: 1.6rem;
  margin-bottom: 20px
}

.page-404 p:first-child {
  font-weight: 700;
  font-family: noteserif700
}

.main-contents .for-list,
.page-404 .for-top a,
.single-contents .for-list {
  display: block;
  width: 280px;
  text-align: center;
  padding: 15px 0;
  color: #fff;
  margin: 60px auto 40px;
  background: #fa8d91;
  font-size: 1.6rem;
  border-radius: 10px
}

.main-contents .for-list:hover,
.page-404 .for-top a:hover,
.single-contents .for-list:hover {
  background: #f0c2c4
}

ul.sitemap {
  margin-bottom: 40px
}

ul.sitemap li {
  list-style-type: none;
  font-size: 1.5rem;
  font-weight: 700;
  font-family: noteserif700;
  padding: 10px 20px;
  color: #2e438f;
  border-bottom: 1px dotted #ccc
}

ul.sitemap li svg {
  margin-right: 1pc
}

ul.sitemap li a {
  font-size: 1.5rem;
  display: inline-block;
  padding: 0;
  color: #2e438f
}

ul.sitemap li a:hover {
  color: #ab71e5
}

ul.sitemap li ul.child {
  margin: 10px 1.5em
}

ul.sitemap li ul.child li {
  border-bottom: 0
}

ul.sitemap li ul.child li a {
  font-size: 1.3rem;
  color: #666
}

ul.sitemap li ul.child li a:hover {
  text-decoration: underline;
  color: #666
}

.u-wrap .main-contents .box,
.u-wrap .main-contents .box-2,
.u-wrap .main-contents .box-3 {
  margin-bottom: 30px
}

.u-wrap .main-contents .box .image {
  width: 25pc;
  height: 250px;
  overflow: hidden
}

.u-wrap .main-contents .box .image img,
.u-wrap .main-contents .box-2 .image img,
.u-wrap .main-contents .box-3 .image img {
  max-width: 100%;
  height: auto
}

.u-wrap .main-contents .box .txt {
  width: 420px;
  height: auto;
  line-height: 1.8;
  font-size: 14px;
  padding-right: 20px
}

.u-wrap .main-contents .box-2 .image {
  padding: 10px
}

.u-wrap .main-contents .box-3 .image {
  width: 32%;
  height: 14.8vw;
  overflow: hidden
}

.u-wrap .main-contents .box-3 .image2 {
  width: 32%;
  overflow: hidden
}

.u-wrap .table {
  margin-bottom: 30px;
  border: 1px solid #ccc
}

.u-wrap .table dl {
  display: flex;
  border-bottom: 1px solid #ccc
}

.u-wrap .table dl:nth-last-of-type(1) {
  border-bottom: 0
}

.u-wrap .table dl dt {
  width: 35%;
  padding: 10px;
  background: #eee;
  border-right: 1px solid #ccc;
  font-weight: 700;
  font-family: noteserif700;
  font-size: 1.4rem
}

.u-wrap .table dl dd {
  width: 65%;
  padding: 10px;
  font-size: 1.4rem
}

.u-wrap ul.list li {
  padding: 10px 0;
  font-size: 1.4rem;
  list-style-type: none
}

.u-wrap ul.list li a {
  font-size: 1.4rem;
  display: block
}

.u-wrap ul.list li:before {
  font-family: Font Awesome\ 5 Free;
  font-weight: 900;
  content: "\f138";
  margin-right: 10px;
  color: #da5b60
}

.btn-wrap-2 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap
}

.btn-wrap-2 a {
  display: block;
  width: 40%;
  text-align: center;
  padding: 15px 0;
  color: #fff !important;
  margin: 20px auto;
  background: #fa8d91;
  font-size: 1.6rem;
  border-radius: 10px
}

.btn-wrap-3 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap
}

.btn-wrap-3 a {
  display: block;
  width: 32%;
  text-align: center;
  padding: 15px 0;
  color: #fff !important;
  margin: 20px auto;
  background: #fa8d91;
  font-size: 1.6rem;
  border-radius: 10px
}

.btn-wrap-2 a:hover,
.btn-wrap-3 a:hover {
  background: #f0c2c4;
  color: #999
}

.contact-intro {
  text-align: center;
  font-size: 14px;
  margin-bottom: 30px
}

.contact {
  width: 100%;
  margin-bottom: 40px
}

.contact dl {
  display: flex;
  border-bottom: 1px dotted #999
}

.contact dl:first-child {
  border-top: 1px dotted #999
}

.contact dl.last {
  margin-bottom: 40px
}

.contact dl dt {
  width: 25%;
  padding: 10px;
  font-weight: 700;
  font-family: noteserif700;
  font-size: 1.4rem
}

.contact dl dt span {
  padding: 1px 5px;
  border-radius: 5px;
  text-align: center;
  color: #fff;
  margin-right: 10px;
  font-size: 9pt
}

.contact dl dt span.required {
  background: #e00
}

.contact dl dt span.any {
  background: #aaa
}

.contact dl dd {
  width: 75%;
  padding: 1pc 10px;
  font-size: 1.4rem
}

.contact dl dd input.zip {
  width: 16%;
  padding: 5px;
  font-size: 1.4rem;
  margin-bottom: 10px
}

.contact dl dd input[type="email"],
.contact dl dd input[type="text"],
.contact dl dd textarea {
  width: 100%;
  padding: 5px;
  font-size: 1.4rem
}

.contact dl dd textarea {
  height: 200px
}

.u-wrap .main-contents p.prapori {
  text-align: center;
  margin: 30px auto
}

span.placeholder {
  font-size: 1.3rem;
  color: #999
}

.mw_wp_form_preview span.placeholder {
  display: none
}

.submit-area {
  text-align: center
}

.submit-area input[type="submit"] {
  width: 280px;
  border: 0;
  text-align: center;
  padding: 15px 0;
  font-size: 1pc;
  color: #fff;
  background: #f5868a;
  margin: 0 auto 40px;
  border-radius: 10px
}

.submit-area input[type="submit"]:hover {
  background: #f0c2c4
}

.submit-area input.return {
  width: 200px;
  border: 0;
  text-align: center;
  padding: 15px 0;
  font-size: 1pc;
  color: #fff;
  background: #aaa;
  margin: 0 10px 40px;
  border-radius: 10px
}

.u-wrap .main-contents p.thanks-txt {
  text-align: center;
  font-size: 23px;
  margin: 30px 0;
  font-weight: 700;
  font-family: noteserif700
}

.u-wrap .main-contents p.thanks-sub {
  text-align: center;
  font-size: 15px;
  margin-bottom: 20px;
  line-height: 2
}

.u-wrap .main-contents p.thanks-shop {
  text-align: center;
  font-size: 15px;
  margin-bottom: 40px;
  line-height: 2;
  font-weight: 700;
  font-family: noteserif700
}

.u-wrap .main-contents .for-top {
  text-align: center;
  margin-top: 40px
}

.u-wrap .main-contents .for-top a {
  background: #fa8d91;
  text-align: center;
  color: #fff;
  padding: 10px 20px;
  margin: 40px auto;
  border-radius: 5px;
  font-size: 1.6rem
}

@media screen and (min-width:320) and (max-width:767) {
  .wrap {
    width: 100%
  }
}