@charset "UTF-8";

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-style: normal;
  font-weight: 400;
  vertical-align: baseline;
  background: transparent
}

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

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

ol,
ul {
  list-style: none
}

blockquote,
q {
  quotes: none
}

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

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

input,
select {
  vertical-align: middle
}

* {
  box-sizing: border-box
}

img,
picture {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto
}

html {
  font-size: 62.5%
}

body {
  font-size: 1.4rem;
  font-family: Hiragino Kaku Gothic ProN, ヒラギノ角ゴ Pro W3, 游ゴシック体, Yu Gothic, YuGothic, メイリオ, Meiryo, sans-serif;
  line-height: 2;
  background: #fff;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
  letter-spacing: .1ex
}

body,
body a {
  color: #333350
}

body a:active,
body a:hover,
body a:link,
body a:visited {
  color: #333350;
  text-decoration: none
}

@media only screen and (min-width:768px) {
  body {
    font-size: 1.5rem;
    line-height: 1.8;
    letter-spacing: .2ex
  }

  body,
  body a {
    color: #333350
  }

  body a[href^="tel:"] {
    pointer-events: none;
    cursor: default
  }
}

@font-face {
  font-family: josefinsans;
  src: url(/fonts/josefinsans-regular-webfont.woff2) format("woff2");
  src: url(/fonts/josefinsans-regular-webfont.woff) format("woff");
  font-weight: 400
}

.en {
  font-family: josefinsans, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ Pro W3, sans-serif
}

br.pc {
  display: none
}

@media only screen and (min-width:768px) {
  br.sp {
    display: none
  }

  br.pc {
    display: block
  }
}

#page {
  width: 100%
}

@media only screen and (min-width:768px) {
  #page {
    min-width: 1280px
  }
}

#header {
  padding-top: 60px
}

#header .con_header {
  width: 100%;
  height: 60px;
  background: #fff;
  position: fixed;
  z-index: 10;
  left: 0;
  top: 0;
  padding: 0 3px 0 10px
}

#header .con_header .box_header {
  display: flex;
  align-items: center
}

#header .con_header .box_header .con_logo {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto
}

#header .con_header .box_header .con_logo h1 {
  order: 1;
  height: 30px;
  margin-top: 3px
}

#header .con_header .box_header .con_logo h1 a {
  display: block;
  height: 100%
}

#header .con_header .box_header .con_logo h1 a img {
  display: block;
  height: 100%;
  width: auto;
  margin: 0
}

#header .con_header .box_header .con_logo .txt {
  color: #f10065;
  font-size: 1rem;
  line-height: 1
}

#header .con_header .box_header .menu_public {
  order: 1;
  flex: 0 0 50px
}

#header .con_header .box_header .menu_public .btn_menu>.ic {
  position: relative
}

#header .con_header .box_header .menu_public .btn_menu>.ic .bar {
  width: 18px;
  height: 1px;
  display: block;
  background: #333350;
  position: absolute;
  left: 50%;
  top: 14px;
  margin-left: -9px;
  -webkit-transition: all .2s ease-in-out 0ms;
  -moz-transition: all .2s ease-in-out 0ms;
  -ms-transition: all .2s ease-in-out 0ms;
  -o-transition: all .2s ease-in-out 0ms;
  transition-property: all;
  transition-duration: .2s;
  transition-timing-function: ease-in-out;
  transition-delay: 0ms
}

#header .con_header .box_header .menu_public .btn_menu>.ic .bar.bar1 {
  margin-top: -7px
}

#header .con_header .box_header .menu_public .btn_menu>.ic .bar.bar3 {
  margin-top: 7px
}

#header .con_header .box_header .menu_public .btn_menu.open>.ic .bar.bar1 {
  margin-top: 0;
  transform: rotate(45deg)
}

#header .con_header .box_header .menu_public .btn_menu.open>.ic .bar.bar2 {
  opacity: 0;
  width: 0
}

#header .con_header .box_header .menu_public .btn_menu.open>.ic .bar.bar3 {
  margin-top: 0;
  transform: rotate(-45deg)
}

#header .con_header .box_header .menu_public .menu {
  display: none
}

@media only screen and (max-width:767px) {
  #header .con_header .box_header .menu_public .menu {
    position: absolute;
    left: 0;
    top: 60px;
    width: 100vw;
    height: 100vh;
    height: calc(100vh - 60px);
    background: #f10065;
    background: linear-gradient(45deg, #ffca00, #ffca00 10%, #f10065 50%, #f10065);
    padding: 15vh 30px 0
  }

  #header .con_header .box_header .menu_public .menu .public {
    display: flex;
    flex-direction: column;
    height: 100%
  }

  #header .con_header .box_header .menu_public .menu .public li:first-child a:after {
    display: none
  }

  #header .con_header .box_header .menu_public .menu .public li a {
    display: block;
    color: #fff;
    text-align: center;
    font-size: 5vw;
    padding: 4vw 0;
    position: relative;
    letter-spacing: .2ex;
    text-indent: .2ex
  }

  #header .con_header .box_header .menu_public .menu .public li a:after {
    content: "";
    display: block;
    width: 5vw;
    border-top: 1px solid #fff;
    position: absolute;
    left: 50%;
    top: 0;
    margin-left: -2.5vw
  }
}

#header .con_header .box_header .menu_member {
  flex: 0 0 100px
}

#header .con_header .box_header .menu_member .member {
  display: flex;
  justify-content: flex-end
}

#header .con_header .box_header .menu_member .member li {
  width: 50px
}

#header .con_header .box_header .btn_menu {
  display: block;
  height: 60px;
  width: 50px;
  text-align: center;
  padding-top: 8px
}

#header .con_header .box_header .btn_menu>.ic {
  display: block;
  width: 26px;
  height: 26px;
  margin: 0 auto
}

#header .con_header .box_header .btn_menu>.txt {
  display: block;
  font-size: 1rem;
  line-height: 1;
  white-space: nowrap;
  margin-top: 8px
}

@media only screen and (min-width:768px) {
  #header {
    padding-top: 80px
  }

  #header .con_header {
    height: 80px;
    padding: 0 30px 0 35px;
    min-width: 1280px
  }

  #header .con_header .box_header {
    height: 100%
  }

  #header .con_header .box_header .con_logo {
    flex: 0 1 auto;
    flex-direction: row;
    align-items: center
  }

  #header .con_header .box_header .con_logo h1 {
    order: 0;
    height: auto;
    width: 176px
  }

  #header .con_header .box_header .con_logo h1 a {
    height: auto
  }

  #header .con_header .box_header .con_logo h1 a img {
    display: block;
    width: 100%;
    height: auto
  }

  #header .con_header .box_header .con_logo .txt {
    margin-left: 12px;
    margin-top: 10px;
    font-size: 1.3rem;
    line-height: 1.8
  }

  #header .con_header .box_header .menu_public {
    order: 0;
    flex: 0 1 auto;
    padding-left: 45px
  }

  #header .con_header .box_header .menu_public .btn_menu {
    display: none
  }

  #header .con_header .box_header .menu_public .menu {
    display: block !important
  }

  #header .con_header .box_header .menu_public .menu .public {
    display: flex
  }

  #header .con_header .box_header .menu_public .menu .public li {
    margin-left: 30px;
    margin-top: 10px
  }

  #header .con_header .box_header .menu_public .menu .public li:first-child {
    margin-left: 0
  }

  #header .con_header .box_header .menu_public .menu .public li a {
    -webkit-transition: color .2s ease-in-out 0ms;
    -moz-transition: color .2s ease-in-out 0ms;
    -ms-transition: color .2s ease-in-out 0ms;
    -o-transition: color .2s ease-in-out 0ms;
    transition-property: color;
    transition-duration: .2s;
    transition-timing-function: ease-in-out;
    transition-delay: 0ms
  }

  #header .con_header .box_header .menu_public .menu .public li a:hover {
    color: #f10065
  }

  #header .con_header .box_header .menu_member {
    flex: 1 1 auto
  }

  #header .con_header .box_header .menu_member .member {
    width: 100%
  }

  #header .con_header .box_header .menu_member .member li {
    width: auto;
    margin-left: 25px
  }

  #header .con_header .box_header .btn_menu {
    display: flex;
    align-items: center;
    height: auto;
    width: auto;
    padding: 0;
    -webkit-transition: all .2s ease-in-out 0ms;
    -moz-transition: all .2s ease-in-out 0ms;
    -ms-transition: all .2s ease-in-out 0ms;
    -o-transition: all .2s ease-in-out 0ms;
    transition-property: all;
    transition-duration: .2s;
    transition-timing-function: ease-in-out;
    transition-delay: 0ms
  }

  #header .con_header .box_header .btn_menu:hover {
    opacity: .7
  }

  #header .con_header .box_header .btn_menu>.txt {
    font-size: 1.4rem;
    margin: 0 0 0 5px
  }
}

#contents {
  width: 100%
}

#footer {
  background: #f9f9fa
}

#footer .con_footer .con_sitemap {
  padding: 20px 15px
}

#footer .con_footer .con_sitemap .con_f_basemenu h2 {
  width: 54%;
  margin: 0 auto
}

#footer .con_footer .con_sitemap .con_f_basemenu h2 a {
  display: block
}

#footer .con_footer .con_sitemap .con_f_basemenu ul {
  display: flex;
  justify-content: center;
  margin-top: 20px
}

#footer .con_footer .con_sitemap .con_f_basemenu ul li {
  width: 20%;
  margin: 0 1%
}

#footer .con_footer .con_sitemap .con_f_basemenu ul li a {
  display: block;
  text-align: center
}

#footer .con_footer .con_sitemap .con_f_basemenu ul li a i {
  display: block;
  width: 40%;
  margin: 0 auto
}

#footer .con_footer .con_sitemap .con_f_basemenu ul li a span {
  display: block;
  text-align: center;
  font-size: 3vw;
  line-height: 1;
  margin-top: 2.4vw
}

#footer .con_footer .con_sitemap .box_sitemap dl dd a {
  position: relative;
  display: inline-block;
  padding-left: 5vw
}

#footer .con_footer .con_sitemap .box_sitemap dl dd a:before {
  content: "";
  display: block;
  width: 3vw;
  border-top: 1px solid #333350;
  position: absolute;
  top: 50%;
  left: 0
}

#footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu {
  margin-top: 20px
}

#footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl {
  border: 1px solid #ebebed;
  border-radius: 5px;
  background: #fff;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  height: 27vw
}

#footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl dt {
  width: 50%;
  height: 26vw;
  padding-right: 5vw;
  position: relative
}

#footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl dt:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 15vw;
  height: 15vw;
  box-sizing: border-box;
  margin-top: -7.5vw;
  border-top: 3px solid #ebebed;
  border-right: 3px solid #ebebed;
  transform: scaleX(.3) rotate(45deg);
  pointer-events: none
}

#footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl dt a {
  display: block;
  text-align: center;
  height: 100%;
  padding-top: 5vw
}

#footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl dt a i {
  display: block;
  width: 20%;
  margin: 0 auto
}

#footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl dt a span {
  display: block;
  text-align: center;
  line-height: 1;
  margin-top: 3.5vw;
  font-size: 3.4vw
}

#footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl dd {
  width: 50%;
  line-height: 2
}

#footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl dd a {
  font-size: 3.4vw;
  padding-left: 6vw
}

#footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl dd a:before {
  width: 3vw
}

#footer .con_footer .con_sitemap .box_sitemap .con_f_pagemenu {
  padding: 0 10px;
  margin-top: 15px;
  font-size: 3.4vw
}

#footer .con_footer .con_sitemap .box_sitemap .con_f_pagemenu ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center
}

#footer .con_footer .con_sitemap .box_sitemap .con_f_pagemenu ul li {
  margin: 4px 10px 0
}

#footer .con_footer .con_sitemap .box_sitemap .con_f_pagemenu ul li:first-child {
  width: 100%;
  margin: 4px 0 0
}

#footer .con_footer .con_sitemap .box_sitemap .con_f_pagemenu ul li:first-child dl {
  display: flex;
  justify-content: center
}

#footer .con_footer .con_sitemap .box_sitemap .con_f_pagemenu ul li:first-child dl dd {
  margin-left: 2vw
}

#footer .con_footer .con_sitemap .box_sitemap .con_f_pagemenu ul li:first-child dl dd a {
  padding-left: 5vw
}

#footer .con_footer .con_f_partner {
  background: #fff;
  padding: 5px 0 20px
}

#footer .con_footer .con_f_partner ul {
  display: flex;
  flex-wrap: wrap
}

#footer .con_footer .con_f_partner ul li {
  width: 32vw;
  padding: 0 1vw 0 3vw;
  margin-top: 15px
}

#footer .con_footer .con_f_partner ul li a {
  display: flex;
  align-items: center
}

#footer .con_footer .con_f_partner ul li a i {
  display: block;
  width: 6vw
}

#footer .con_footer .con_f_partner ul li a span {
  font-size: 3vw;
  padding-left: 1.5vw
}

#footer .con_footer .con_f_other .box_f_other {
  padding: 20px 0 25px
}

#footer .con_footer .con_f_other .box_f_other .con_f_sns ul {
  display: flex;
  justify-content: center
}

#footer .con_footer .con_f_other .box_f_other .con_f_sns ul li {
  width: 46px;
  margin: 0 10px
}

#footer .con_footer .con_f_other .box_f_other .con_f_sns ul li a {
  display: block;
  padding: 4px
}

#footer .con_footer .con_f_other .box_f_other .con_f_othermenu {
  margin-top: 15px
}

#footer .con_footer .con_f_other .box_f_other .con_f_othermenu ul {
  display: flex;
  justify-content: center;
  line-height: 1
}

#footer .con_footer .con_f_other .box_f_other .con_f_othermenu ul li {
  border-left: 1px solid #333350;
  padding: 0 3vw
}

#footer .con_footer .con_f_other .box_f_other .con_f_othermenu ul li:first-child {
  border: none
}

#footer .con_footer .con_f_other .box_f_other .con_f_othermenu ul li a {
  font-size: 3vw
}

#footer .con_footer .con_f_other .box_f_other .copyright {
  text-align: center;
  font-size: 2.6vw;
  margin-top: 15px
}

@media only screen and (min-width:768px) {
  #footer .con_footer .con_sitemap {
    width: 1080px;
    margin: 0 auto;
    padding: 50px 0 35px;
    display: flex
  }

  #footer .con_footer .con_sitemap .con_f_basemenu {
    width: 300px
  }

  #footer .con_footer .con_sitemap .con_f_basemenu h2 {
    width: 184px;
    margin: 0
  }

  #footer .con_footer .con_sitemap .con_f_basemenu h2 a {
    -webkit-transition: opacity .2s ease-in-out 0ms;
    -moz-transition: opacity .2s ease-in-out 0ms;
    -ms-transition: opacity .2s ease-in-out 0ms;
    -o-transition: opacity .2s ease-in-out 0ms;
    transition-property: opacity;
    transition-duration: .2s;
    transition-timing-function: ease-in-out;
    transition-delay: 0ms
  }

  #footer .con_footer .con_sitemap .con_f_basemenu h2 a:hover {
    opacity: .7
  }

  #footer .con_footer .con_sitemap .con_f_basemenu ul {
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-top: 25px;
    width: 260px
  }

  #footer .con_footer .con_sitemap .con_f_basemenu ul li {
    width: 50%;
    margin: 0
  }

  #footer .con_footer .con_sitemap .con_f_basemenu ul li a {
    text-align: left;
    color: #858596
  }

  #footer .con_footer .con_sitemap .con_f_basemenu ul li a:hover {
    -webkit-transition: opacity .2s ease-in-out 0ms;
    -moz-transition: opacity .2s ease-in-out 0ms;
    -ms-transition: opacity .2s ease-in-out 0ms;
    -o-transition: opacity .2s ease-in-out 0ms;
    transition-property: opacity;
    transition-duration: .2s;
    transition-timing-function: ease-in-out;
    transition-delay: 0ms
  }

  #footer .con_footer .con_sitemap .con_f_basemenu ul li a:hover:hover {
    opacity: .7
  }

  #footer .con_footer .con_sitemap .con_f_basemenu ul li a i {
    width: 22px;
    margin: 0;
    display: inline-block;
    vertical-align: middle
  }

  #footer .con_footer .con_sitemap .con_f_basemenu ul li a span {
    display: inline-block;
    vertical-align: middle;
    font-size: 1.5rem;
    margin: 0 0 0 8px
  }

  #footer .con_footer .con_sitemap .box_sitemap {
    width: 780px
  }

  #footer .con_footer .con_sitemap .box_sitemap dl dd a {
    padding-left: 20px
  }

  #footer .con_footer .con_sitemap .box_sitemap dl dd a:before {
    width: 10px
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu {
    margin: 0
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl {
    border-radius: 10px;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    height: auto;
    padding: 5px 10px
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl dt {
    width: auto;
    height: auto;
    padding: 0 30px 0 0
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl dt:after {
    width: 40px;
    height: 40px;
    margin-top: -20px
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl dt a {
    padding: 20px 40px;
    -webkit-transition: background .2s ease-in-out 0ms;
    -moz-transition: background .2s ease-in-out 0ms;
    -ms-transition: background .2s ease-in-out 0ms;
    -o-transition: background .2s ease-in-out 0ms;
    transition-property: background;
    transition-duration: .2s;
    transition-timing-function: ease-in-out;
    transition-delay: 0ms
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl dt a:hover {
    background: #f9f9fa
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl dt a i {
    display: inline-block;
    vertical-align: middle;
    width: 24px
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl dt a span {
    display: inline-block;
    vertical-align: middle;
    font-size: 1.5rem;
    margin: 0 0 0 1ex
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl dd {
    width: auto;
    line-height: 1;
    flex: 1 1 auto;
    padding-left: 20px
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl dd a {
    font-size: 1.5rem;
    padding: 25px 13px 25px 32px;
    border-radius: 6px;
    -webkit-transition: background .2s ease-in-out 0ms;
    -moz-transition: background .2s ease-in-out 0ms;
    -ms-transition: background .2s ease-in-out 0ms;
    -o-transition: background .2s ease-in-out 0ms;
    transition-property: background;
    transition-duration: .2s;
    transition-timing-function: ease-in-out;
    transition-delay: 0ms
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl dd a:hover {
    background: #f9f9fa
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_searchmenu dl dd a:before {
    width: 10px;
    left: 12px
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_pagemenu {
    font-size: 1.5rem;
    padding: 0;
    margin-top: 18px
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_pagemenu ul {
    justify-content: flex-start
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_pagemenu ul li {
    margin: 0 0 0 30px
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_pagemenu ul li a:hover {
    -webkit-transition: opacity .2s ease-in-out 0ms;
    -moz-transition: opacity .2s ease-in-out 0ms;
    -ms-transition: opacity .2s ease-in-out 0ms;
    -o-transition: opacity .2s ease-in-out 0ms;
    transition-property: opacity;
    transition-duration: .2s;
    transition-timing-function: ease-in-out;
    transition-delay: 0ms
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_pagemenu ul li a:hover:hover {
    opacity: .7
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_pagemenu ul li:first-child {
    width: auto;
    margin: 0
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_pagemenu ul li:first-child dl dd {
    margin-left: 10px
  }

  #footer .con_footer .con_sitemap .box_sitemap .con_f_pagemenu ul li:first-child dl dd a {
    padding-left: 20px
  }

  #footer .con_footer .con_f_partner {
    padding: 16px 0
  }

  #footer .con_footer .con_f_partner ul {
    width: 1080px;
    margin: 0 auto
  }

  #footer .con_footer .con_f_partner ul li {
    width: auto;
    padding: 0;
    margin: 8px 0;
    white-space: nowrap
  }

  #footer .con_footer .con_f_partner ul li:nth-child(8n+1) {
    width: 136px
  }

  #footer .con_footer .con_f_partner ul li:nth-child(8n+2) {
    width: 141px
  }

  #footer .con_footer .con_f_partner ul li:nth-child(8n+3) {
    width: 125px
  }

  #footer .con_footer .con_f_partner ul li:nth-child(8n+4) {
    width: 171px
  }

  #footer .con_footer .con_f_partner ul li:nth-child(8n+5) {
    width: 159px
  }

  #footer .con_footer .con_f_partner ul li:nth-child(8n+6) {
    width: 155px
  }

  #footer .con_footer .con_f_partner ul li:nth-child(8n+7) {
    width: 119px
  }

  #footer .con_footer .con_f_partner ul li:nth-child(8n) {
    width: 69px
  }

  #footer .con_footer .con_f_partner ul li a {
    -webkit-transition: opacity .2s ease-in-out 0ms;
    -moz-transition: opacity .2s ease-in-out 0ms;
    -ms-transition: opacity .2s ease-in-out 0ms;
    -o-transition: opacity .2s ease-in-out 0ms;
    transition-property: opacity;
    transition-duration: .2s;
    transition-timing-function: ease-in-out;
    transition-delay: 0ms
  }

  #footer .con_footer .con_f_partner ul li a:hover {
    opacity: .7
  }

  #footer .con_footer .con_f_partner ul li a i {
    display: block;
    width: 26px
  }

  #footer .con_footer .con_f_partner ul li a span {
    font-size: 1.5rem;
    padding-left: 8px
  }

  #footer .con_footer .con_f_other .box_f_other {
    padding: 10px 40px 10px 30px;
    display: flex;
    align-items: center
  }

  #footer .con_footer .con_f_other .box_f_other .con_f_sns ul li {
    width: 42px;
    margin: 0 6px 0 0
  }

  #footer .con_footer .con_f_other .box_f_other .con_f_sns ul li a {
    padding: 7px;
    -webkit-transition: opacity .2s ease-in-out 0ms;
    -moz-transition: opacity .2s ease-in-out 0ms;
    -ms-transition: opacity .2s ease-in-out 0ms;
    -o-transition: opacity .2s ease-in-out 0ms;
    transition-property: opacity;
    transition-duration: .2s;
    transition-timing-function: ease-in-out;
    transition-delay: 0ms
  }

  #footer .con_footer .con_f_other .box_f_other .con_f_sns ul li a:hover {
    opacity: .7
  }

  #footer .con_footer .con_f_other .box_f_other .con_f_othermenu {
    margin-top: 0;
    margin-left: 30px
  }

  #footer .con_footer .con_f_other .box_f_other .con_f_othermenu ul li {
    border-left: 1px solid #333350;
    padding: 0 15px
  }

  #footer .con_footer .con_f_other .box_f_other .con_f_othermenu ul li:first-child {
    border: none
  }

  #footer .con_footer .con_f_other .box_f_other .con_f_othermenu ul li a {
    font-size: 1.2rem;
    -webkit-transition: opacity .2s ease-in-out 0ms;
    -moz-transition: opacity .2s ease-in-out 0ms;
    -ms-transition: opacity .2s ease-in-out 0ms;
    -o-transition: opacity .2s ease-in-out 0ms;
    transition-property: opacity;
    transition-duration: .2s;
    transition-timing-function: ease-in-out;
    transition-delay: 0ms
  }

  #footer .con_footer .con_f_other .box_f_other .con_f_othermenu ul li a:hover {
    opacity: .7
  }

  #footer .con_footer .con_f_other .box_f_other .copyright {
    flex: 1 1 auto;
    text-align: right;
    font-size: 1.1rem;
    margin-top: 0;
    color: #858596
  }
}

.btn_gradient,
.btn_standard {
  display: block;
  font-size: 5vw;
  line-height: 1;
  padding: 5vw 0;
  border-radius: 7.5vw;
  text-align: center;
  color: #fff;
  letter-spacing: .2ex;
  text-indent: .2ex
}

.btn_gradient:active,
.btn_gradient:hover,
.btn_gradient:link,
.btn_gradient:visited,
.btn_standard:active,
.btn_standard:hover,
.btn_standard:link,
.btn_standard:visited {
  color: #fff
}

.btn_standard {
  background: #f10065
}

.btn_gradient,
.btn_status_4 {
  background: linear-gradient(45deg, #ffca00, #ffca00 10%, #f10065 50%, #f10065)
}

.btn_status_3 {
  background: linear-gradient(45deg, #f36265, #f36265 10%, #961276 50%, #961276)
}

.btn_status_2 {
  background: linear-gradient(45deg, #1bcedf, #1bcedf 10%, #5b247a 50%, #5b247a)
}

.btn_status_1 {
  background: linear-gradient(45deg, #57ca85, #57ca85 10%, #184e68 50%, #184e68)
}

.contents_title01 {
  text-align: center;
  line-height: 1
}

.contents_title01 i {
  display: block;
  width: 30vw;
  margin: 0 auto
}

.contents_title01 i img {
  display: block;
  width: 100%
}

.contents_title01 i+strong.ja {
  margin-top: 3vw
}

.contents_title01 strong.ja {
  display: block;
  font-size: 5.4vw;
  letter-spacing: .3ex;
  text-indent: .3ex
}

.contents_title01 span.en {
  margin-top: 3vw;
  display: inline-block;
  position: relative;
  color: #333350;
  font-size: 3vw;
  letter-spacing: .6ex;
  text-indent: .6ex
}

.contents_title01 span.en:after,
.contents_title01 span.en:before {
  content: "";
  display: block;
  width: 14px;
  position: absolute;
  top: 50%;
  border-top: 1px solid #333350
}

.contents_title01 span.en:before {
  left: -20px
}

.contents_title01 span.en:after {
  right: -20px
}

.anchor {
  padding-top: 60px;
  margin-top: -60px
}

@media only screen and (min-width:768px) {

  .btn_gradient,
  .btn_standard {
    font-size: 1.8rem;
    padding: 20px 0;
    border-radius: 29px
  }

  .btn_standard {
    -webkit-transition: opacity .2s ease-in-out 0ms;
    -moz-transition: opacity .2s ease-in-out 0ms;
    -ms-transition: opacity .2s ease-in-out 0ms;
    -o-transition: opacity .2s ease-in-out 0ms;
    transition-property: opacity;
    transition-duration: .2s;
    transition-timing-function: ease-in-out;
    transition-delay: 0ms
  }

  .btn_standard:hover {
    opacity: .7
  }

  .btn_gradient {
    position: relative;
    overflow: hidden;
    background: none
  }

  .btn_gradient span {
    display: block;
    position: relative;
    z-index: 1
  }

  .btn_gradient:before {
    content: "";
    display: block;
    width: 400%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #f10065;
    background: linear-gradient(45deg, #f10065, #ffca00 25%, #ffca00 30%, #faffaa 50%, #ffca00 70%, #ffca00 75%, #f10065 90%, #f10065);
    -webkit-transition: all .3s ease-in-out 0ms;
    -moz-transition: all .3s ease-in-out 0ms;
    -ms-transition: all .3s ease-in-out 0ms;
    -o-transition: all .3s ease-in-out 0ms;
    transition-property: all;
    transition-duration: .3s;
    transition-timing-function: ease-in-out;
    transition-delay: 0ms;
    transform: translateX(-75%)
  }

  .btn_gradient:hover:before {
    transform: translateX(0)
  }

  .btn_status_4:before {
    background: #f10065;
    background: linear-gradient(45deg, #f10065, #ffca00 25%, #ffca00 30%, #fff 50%, #ffca00 70%, #ffca00 75%, #f10065 90%, #f10065)
  }

  .btn_status_3:before {
    background: #7117ea 0;
    background: linear-gradient(45deg, #8c1bab, #f761a1 25%, #f761a1 30%, #fff 50%, #f761a1 70%, #f761a1 75%, #8c1bab 90%, #8c1bab)
  }

  .btn_status_2:before {
    background: #5b247a;
    background: linear-gradient(45deg, #5b247a, #1bcedf 25%, #1bcedf 30%, #fff 50%, #1bcedf 70%, #1bcedf 75%, #5b247a 90%, #5b247a)
  }

  .btn_status_1:before {
    background: #184e68;
    background: linear-gradient(45deg, #184e68, #57ca85 25%, #57ca85 30%, #fff 50%, #57ca85 70%, #57ca85 75%, #184e68 90%, #184e68)
  }

  .contents_title01 i {
    width: 140px
  }

  .contents_title01 i+strong.ja {
    margin-top: 12px
  }

  .contents_title01 strong.ja {
    font-size: 2.7rem
  }

  .contents_title01 span.en {
    margin-top: 18px;
    font-size: 1.2rem
  }

  .contents_title01 span.en:after,
  .contents_title01 span.en:before {
    width: 24px
  }

  .contents_title01 span.en:before {
    left: -34px
  }

  .contents_title01 span.en:after {
    right: -34px
  }

  .anchor {
    padding-top: 80px;
    margin-top: -80px
  }
}

.con_teller .box_teller {
  display: flex
}

.con_teller .box_teller .con_txt {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  order: 1;
  padding-left: 20px;
  padding-top: 8px
}

.con_teller .box_teller .con_txt .name {
  font-size: 2.2rem;
  order: 1;
  line-height: 1.5;
  margin-top: 5px
}

.con_teller .box_teller .con_txt .name .small {
  font-size: 70%
}

.con_teller .box_teller .con_txt .txt_belongs {
  font-size: 1.2rem;
  line-height: 1.5
}

.con_teller .box_teller .con_txt .con_icon {
  margin-top: 9px;
  order: 1;
  line-height: 1
}

.con_teller .box_teller .con_txt .con_icon li {
  display: inline-block;
  font-size: 1.2rem;
  line-height: 1;
  padding: 3px 10px;
  border-radius: 3px;
  color: #fff;
  background: #333350;
  margin-top: 1px
}

.con_teller .box_teller .con_img {
  flex: 0 0 100px;
  position: relative
}

.con_teller .box_teller .con_img .img {
  border-radius: 50%;
  overflow: hidden
}

.con_teller .box_teller .con_img .img img {
  width: 100px;
  height: 100px;
  -o-object-fit: cover;
  object-fit: cover
}

.con_teller .box_teller .con_img i {
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  right: 0;
  top: 70px
}

.con_teller .box_teller .con_img i img {
  max-width: 100%;
  max-height: 100%
}

.con_teller .con_profile {
  background: #f2f1fd;
  padding: 10px 5px 5px;
  margin-top: 15px;
  position: relative
}

.con_teller .con_profile .st {
  font-size: 1.3rem;
  display: inline-block;
  padding: 0 10px;
  background: #f2f1fd;
  line-height: 1;
  letter-spacing: .2ex;
  position: absolute;
  top: 5px;
  left: 20px
}

.con_teller .con_profile .txt {
  border: 1px dotted #b8b8c2;
  border-radius: 10px;
  padding: 15px 15px 12px;
  line-height: 1.7;
  font-size: 1.6rem;
  letter-spacing: .2ex;
  text-align: justify
}

.con_teller .txt_point {
  text-align: center;
  font-size: 1.6rem;
  margin-top: 5px
}

.con_teller .btn {
  margin-top: 10px;
  padding: 0 15px;
  display: block
}

.con_teller .btn .btn_standard {
  position: relative;
  overflow: hidden
}

.con_teller .btn .btn_standard span {
  display: inline-block;
  position: relative;
  z-index: 1
}

@media only screen and (min-width:768px) {
  .con_teller {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 20px;
    -webkit-transition: background .2s ease-in-out 0ms;
    -moz-transition: background .2s ease-in-out 0ms;
    -ms-transition: background .2s ease-in-out 0ms;
    -o-transition: background .2s ease-in-out 0ms;
    transition-property: background;
    transition-duration: .2s;
    transition-timing-function: ease-in-out;
    transition-delay: 0ms;
    border-radius: 10px
  }

  .con_teller.spread {
    cursor: pointer
  }

  .con_teller.spread:hover {
    background: #f9f9fa
  }

  .con_pickup .con_teller.spread:hover {
    background: #fef0f6
  }

  .con_teller.spread:hover .btn_gradient:before {
    transform: translateX(0)
  }

  .con_teller .box_teller .con_txt {
    padding-left: 30px;
    padding-top: 20px
  }

  .con_teller .box_teller .con_txt .name {
    margin-top: 5px
  }

  .con_teller .box_teller .con_txt .con_icon {
    margin-top: 9px;
    order: 1
  }

  .con_teller .box_teller .con_txt .con_icon li {
    display: inline-block;
    margin-top: 1px
  }

  .con_teller .con_profile {
    flex: 1 1
  }

  .con_teller .con_profile .txt {
    height: 100%
  }

  .con_teller .txt_point {
    margin-top: 10px;
    margin-bottom: 15px
  }

  .con_teller .btn {
    margin-top: auto;
    padding: 0 30px
  }
}

.con_pager {
  display: flex;
  justify-content: center
}

.con_pager a.next,
.con_pager a.prev,
.con_pager span.next,
.con_pager span.prev {
  padding-top: 30px;
  width: 30px;
  height: 30px;
  overflow: hidden;
  line-height: 1;
  position: relative
}

.con_pager a.next:after,
.con_pager a.prev:after,
.con_pager span.next:after,
.con_pager span.prev:after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  margin-top: -6px;
  transform: rotate(45deg)
}

.con_pager a.prev:after,
.con_pager span.prev:after {
  border-bottom: 1px solid #333350;
  border-left: 1px solid #333350;
  left: 10px
}

.con_pager a.next:after,
.con_pager span.next:after {
  border-top: 1px solid #333350;
  border-right: 1px solid #333350;
  right: 10px
}

.con_pager ol {
  display: flex;
  margin: 0 4px
}

.con_pager ol li {
  margin: 0 4px
}

.con_pager ol li a {
  display: block;
  width: 30px;
  line-height: 30px;
  text-align: center;
  font-size: 2rem;
  letter-spacing: normal;
  border-radius: 50%;
  color: #333350
}

.con_pager ol li a.active {
  background: #f10065;
  color: #fff;
  cursor: pointer;
  pointer-events: none
}

@media only screen and (min-width:768px) {

  .con_pager a.next:after,
  .con_pager a.prev:after {
    -webkit-transition: border .2s ease-in-out 0ms;
    -moz-transition: border .2s ease-in-out 0ms;
    -ms-transition: border .2s ease-in-out 0ms;
    -o-transition: border .2s ease-in-out 0ms;
    transition-property: border;
    transition-duration: .2s;
    transition-timing-function: ease-in-out;
    transition-delay: 0ms
  }

  .con_pager a.next:hover:after,
  .con_pager a.prev:hover:after {
    border-color: #f10065
  }

  .con_pager ol li a {
    -webkit-transition: all .2s ease-in-out 0ms;
    -moz-transition: all .2s ease-in-out 0ms;
    -ms-transition: all .2s ease-in-out 0ms;
    -o-transition: all .2s ease-in-out 0ms;
    transition-property: all;
    transition-duration: .2s;
    transition-timing-function: ease-in-out;
    transition-delay: 0ms;
    transition-property: background, color
  }

  .con_pager ol li a:hover {
    background: #f10065;
    color: #fff
  }
}

.con_partner_list {
  padding: 45px 0 55px
}

.con_partner_list ul {
  margin-top: 12px;
  padding: 0;
  display: flex;
  flex-wrap: wrap
}

.con_partner_list ul li {
  width: 32vw;
  margin-top: 12px;
  padding: 0 4vw
}

.con_partner_list ul li a {
  display: block
}

.con_partner_list .bn {
  margin-top: 35px;
  padding: 0 15px
}

.con_partner_list .bn a {
  display: block;
  border-radius: 6px;
  overflow: hidden
}

@media only screen and (min-width:768px) {
  .con_partner_list {
    padding: 40px 0 75px
  }

  .con_partner_list ul {
    margin: 20px auto 0;
    width: 1060px;
    padding: 0
  }

  .con_partner_list ul li {
    width: 212px;
    margin-top: 20px;
    padding: 0 28px
  }

  .con_partner_list ul li a {
    -webkit-transition: opacity .2s ease-in-out 0ms;
    -moz-transition: opacity .2s ease-in-out 0ms;
    -ms-transition: opacity .2s ease-in-out 0ms;
    -o-transition: opacity .2s ease-in-out 0ms;
    transition-property: opacity;
    transition-duration: .2s;
    transition-timing-function: ease-in-out;
    transition-delay: 0ms
  }

  .con_partner_list ul li a:hover {
    opacity: .7
  }

  .con_partner_list .bn {
    margin: 65px auto 0;
    padding: 0;
    width: 680px
  }

  .con_partner_list .bn a {
    border-radius: 8px;
    -webkit-transition: opacity .2s ease-in-out 0ms;
    -moz-transition: opacity .2s ease-in-out 0ms;
    -ms-transition: opacity .2s ease-in-out 0ms;
    -o-transition: opacity .2s ease-in-out 0ms;
    transition-property: opacity;
    transition-duration: .2s;
    transition-timing-function: ease-in-out;
    transition-delay: 0ms
  }

  .con_partner_list .bn a:hover {
    opacity: .7
  }
}

input[type=number],
input[type=text],
select,
textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  display: block !important;
  font-family: Hiragino Kaku Gothic ProN, ヒラギノ角ゴ Pro W3, 游ゴシック体, Yu Gothic, YuGothic, メイリオ, Meiryo, sans-serif;
  font-size: 1.3rem !important;
  color: #333350 !important;
  padding: 12px 10px !important;
  border: 1px solid #d6d6dc !important;
  background: #fff;
  width: 100% !important;
  border-radius: 6px !important;
  line-height: 1 !important;
  height: 39px
}

input[type=number]::-webkit-input-placeholder,
input[type=text]::-webkit-input-placeholder,
select::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #999
}

input[type=number]:-ms-input-placeholder,
input[type=text]:-ms-input-placeholder,
select:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #999
}

input[type=number]::-moz-placeholder,
input[type=text]::-moz-placeholder,
select::-moz-placeholder,
textarea::-moz-placeholder {
  color: #999
}

textarea {
  height: auto
}

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

select {
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-indent: .01px;
  text-overflow: ""
}

select:disabled {
  background: #ddd
}

textarea {
  padding: 6px 1ex
}

textarea::-webkit-input-placeholder {
  color: #999
}

textarea:-ms-input-placeholder {
  color: #999
}

textarea::-moz-placeholder {
  color: #999
}

input[type=text]:disabled {
  border: none;
  padding-left: 0
}

input[type=button],
input[type=submit] {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  text-align: center;
  margin: 0 auto;
  width: 100%;
  background: #f10065;
  color: #fff;
  font-size: 5vw;
  font-family: Hiragino Kaku Gothic ProN, ヒラギノ角ゴ Pro W3, 游ゴシック体, Yu Gothic, YuGothic, メイリオ, Meiryo, sans-serif;
  font-weight: 400;
  letter-spacing: .2ex;
  text-indent: .2ex;
  cursor: pointer;
  display: block;
  padding: 5vw 0;
  line-height: 1;
  border: none;
  border-radius: 7.5vw
}

input[type=button]#back,
input[type=submit]#back {
  background: #666
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: Hiragino Kaku Gothic ProN, ヒラギノ角ゴ Pro W3, 游ゴシック体, Yu Gothic, YuGothic, メイリオ, Meiryo, sans-serif
}

input[type=checkbox],
input[type=radio] {
  opacity: 0;
  display: block;
  position: absolute
}

input[type=checkbox]+label,
input[type=radio]+label {
  display: inline-block;
  position: relative;
  padding: 5px 0 5px 25px;
  vertical-align: middle;
  cursor: pointer;
  line-height: 20px
}

input[type=checkbox]+label:before,
input[type=radio]+label:before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border: 1px solid #d6d6dc;
  background: #fff;
  position: absolute;
  top: 5px;
  left: 0;
  box-sizing: border-box
}

input[type=checkbox]:checked+label:after,
input[type=radio]:checked+label:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1
}

input[type=radio]+label:before {
  border-radius: 50%
}

input[type=radio]:checked+label:after {
  width: 10px;
  height: 10px;
  left: 5px;
  top: 16px;
  margin-top: -6px;
  background: #f10065;
  border-radius: 50%
}

input[type=checkbox]+label:before {
  border-radius: 2px
}

input[type=checkbox]:checked+label:after {
  width: 10px;
  height: 5px;
  border-bottom: 2px solid #f10065;
  border-left: 2px solid #f10065;
  top: 9px;
  left: 4px;
  margin-top: -5px;
  transform: rotate(-45deg)
}

@media only screen and (min-width:768px) {

  input[type=text],
  select,
  textarea {
    font-size: 1.3rem !important;
    padding: 10px 14px !important;
    cursor: pointer
  }

  select {
    padding: 10px 14px
  }

  input[type=text]:disabled {
    padding-right: 0;
    width: auto;
    -webkit-text-fill-color: #000;
    opacity: 1
  }

  select {
    width: 100%
  }

  input[type=checkbox]+label,
  input[type=radio]+label {
    font-size: 1.6rem;
    padding: 5px 0 5px 34px;
    line-height: 26px
  }

  input[type=checkbox]+label:before,
  input[type=radio]+label:before {
    top: 4px;
    width: 26px;
    height: 26px
  }

  input[type=radio]:checked+label:after {
    width: 14px;
    height: 14px;
    top: 16px;
    left: 6px
  }

  input[type=checkbox]:checked+label:after {
    top: 10px
  }

  input[type=button],
  input[type=submit] {
    padding: 20px 0;
    font-size: 1.8rem;
    border-radius: 29px;
    -webkit-transition: opacity .2s ease-in-out 0ms;
    -moz-transition: opacity .2s ease-in-out 0ms;
    -ms-transition: opacity .2s ease-in-out 0ms;
    -o-transition: opacity .2s ease-in-out 0ms;
    transition-property: opacity;
    transition-duration: .2s;
    transition-timing-function: ease-in-out;
    transition-delay: 0ms
  }

  input[type=button]:hover,
  input[type=submit]:hover {
    opacity: .7
  }

  input[type=button]#submit,
  input[type=submit]#submit {
    float: right
  }

  input[type=button]#back,
  input[type=submit]#back {
    float: left;
    margin-top: 0
  }
}


