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

body {
  line-height: 1; }

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

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

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

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* additional reset */
li {
  list-style-type: none; }

br.br_sp {
  display: none; }
  @media screen and (max-width: 767px) {
    br.br_sp {
      display: inline; } }

br.br_pc {
  display: inline; }
  @media screen and (max-width: 767px) {
    br.br_pc {
      display: none; } }

body {
  font-family: sans-serif; }
  @media screen and (min-width: 768px) {
    body {
      min-width: 1200px; } }

.section {
  width: 100%; }
  @media screen and (max-width: 767px) {
    .section .inner {
      width: 100%; } }
  @media screen and (min-width: 768px) {
    .section .inner {
      width: 1200px;
      margin: 0 auto; } }

@media screen and (max-width: 767px) {
  header {
    margin-bottom: 35px; } }

@media screen and (min-width: 768px) {
  header {
    margin-bottom: 70px; } }

@media screen and (max-width: 767px) {
  header .area_servicelogo {
    margin: 0 20px; } }

@media screen and (min-width: 768px) {
  header .area_servicelogo {
    width: 1000px;
    margin: 0 auto; } }

@media screen and (max-width: 767px) {
  header .area_servicelogo #service_logo {
    text-align: center;
    margin: 15px 0; } }

@media screen and (min-width: 768px) {
  header .area_servicelogo #service_logo {
    margin: 23px 0 21px; } }

header .area_servicelogo #service_logo img {
  width: 190px; }

header .area_pagetitle {
  display: flex;
  justify-content: center;
  align-items:center;
  text-align: center;
  padding: 20px;
  color: #fff; }
  @media screen and (max-width: 767px) {
    header .area_pagetitle {
      background: url(../img/header_bg_sp.jpg) no-repeat center center;
      background-size: cover; } }
  @media screen and (min-width: 768px) {
    header .area_pagetitle {
      height: 200px;
      background: url(../img/header_bg.jpg) no-repeat center center;
      background-size: cover; } }
  @media screen and (max-width: 767px) {
    header .area_pagetitle #page_title {
      font-size: 28px;
      line-height: 42px; } }
  @media screen and (min-width: 768px) {
    header .area_pagetitle #page_title {
      font-size: 42px;
      line-height: 63px; } }

@media screen and (max-width: 767px) {
  #top {
    height: 480px; } }

@media screen and (min-width: 768px) {
  #top {
    height: 550px;
    background: -moz-linear-gradient(top, rgba(224, 224, 224, 0) 0%, rgba(224, 224, 224, 0) 81%, rgba(224, 224, 224, 0.65) 100%);
    background: -webkit-linear-gradient(top, rgba(224, 224, 224, 0) 0%, rgba(224, 224, 224, 0) 81%, rgba(224, 224, 224, 0.65) 100%);
    background: linear-gradient(to bottom, rgba(224, 224, 224, 0) 0%, rgba(224, 224, 224, 0) 81%, rgba(224, 224, 224, 0.65) 100%); } }

@media screen and (max-width: 767px) {
  #top .bg {
    height: 480px;
    background: url(../img/top_bg_sp.jpg) no-repeat center bottom;
    background-size: cover; } }

@media screen and (min-width: 768px) {
  #top .bg {
    height: 550px;
    background: url(../img/top_bg.jpg) no-repeat center top; } }

#top .inner {
  position: relative; }
  @media screen and (max-width: 767px) {
    #top .inner .logo {
      width: 90%;
      margin: 0 auto 40px;
      padding-top: 40px; }
      #top .inner .logo img {
        width: 100%; } }
  @media screen and (min-width: 768px) {
    #top .inner .logo {
      position: absolute;
      top: 126px;
      left: 90px; } }
  @media screen and (max-width: 767px) {
    #top .inner .btn_list {
      position: absolute;
      top: 410px;
      left: 20px;
      width: calc(100% - 40px); } }
  @media screen and (min-width: 768px) {
    #top .inner .btn_list {
      position: absolute;
      top: 380px;
      left: 120px; } }
  #top .inner .btn_list li {
    display: inline-block; }
    @media screen and (max-width: 767px) {
      #top .inner .btn_list li {
        width: calc(50% - 10px);
        margin-right: 20px; }
        #top .inner .btn_list li:last-child {
          margin-right: 0; } }
    @media screen and (min-width: 768px) {
      #top .inner .btn_list li {
        width: 231px;
        margin-right: 20px; } }
    #top .inner .btn_list li img {
      width: 100%; }
    #top .inner .btn_list li a:hover {
      opacity: 0.75; }

@media screen and (max-width: 767px) {
  #description {
    background: url(../img/description_bg_sp.jpg) no-repeat center center;
    background-size: cover; } }

@media screen and (min-width: 768px) {
  #description {
    height: 200px;
    background: url(../img/description_bg.jpg) no-repeat center top; } }

#description .inner p {
  color: #fff;
  text-align: center; }
  @media screen and (max-width: 767px) {
    #description .inner p {
      padding: 40px 20px;
      font-size: 15px;
      line-height: 25px; } }
  @media screen and (min-width: 768px) {
    #description .inner p {
      display: table-cell;
      width: 1200px;
      height: 200px;
      vertical-align: middle;
      font-size: 20px;
      line-height: 36px; } }

@media screen and (max-width: 767px) {
  #feature .list_feature {
    margin: 50px 20px; } }

@media screen and (min-width: 768px) {
  #feature .list_feature {
    display: flex;
    padding: 70px 75px 40px; } }

@media screen and (max-width: 767px) {
  #feature .list_feature li {
    margin-bottom: 30px; }
    #feature .list_feature li:last-child {
      margin-bottom: 0; } }

@media screen and (max-width: 767px) {
  #feature .list_feature li .point {
    margin-bottom: 15px; }
    #feature .list_feature li .point img {
      width: 100%; } }

@media screen and (min-width: 768px) {
  #feature .list_feature li .point {
    width: 300px;
    margin: 0 auto 15px; } }

#feature .list_feature li .text {
  text-align: center;
  font-size: 15px;
  line-height: 24px;
  margin-bottom: 15px; }
  @media screen and (min-width: 768px) {
    #feature .list_feature li .text {
      padding: 0 25px; } }

@media screen and (max-width: 767px) {
  #feature .list_feature li .img {
    width: 60%;
    margin: 0 auto; }
    #feature .list_feature li .img img {
      width: 100%; } }

@media screen and (max-width: 767px) {
  #forenotice {
    height: 220px;
    background: url(../img/forenotice_bg_sp.jpg) no-repeat center bottom;
    background-size: cover; } }

@media screen and (min-width: 768px) {
  #forenotice {
    height: 600px;
    background: url(../img/forenotice_bg.jpg) no-repeat center top; } }

@media screen and (max-width: 767px) {
  #forenotice .word {
    width: 95%;
    margin: 0 auto;
    padding-top: 30px; }
    #forenotice .word img {
      width: 100%; } }

@media screen and (min-width: 768px) {
  #forenotice .word {
    width: 900px;
    margin: 0 auto;
    padding-top: 50px; } }

@media screen and (max-width: 767px) {
  #download {
    height: 180px; } }

@media screen and (min-width: 768px) {
  #download {
    height: 300px;
    background: -moz-linear-gradient(top, rgba(233, 233, 233, 0) 0%, rgba(233, 233, 233, 0) 81%, rgba(233, 233, 233, 0.65) 100%);
    background: -webkit-linear-gradient(top, rgba(233, 233, 233, 0) 0%, rgba(233, 233, 233, 0) 81%, rgba(233, 233, 233, 0.65) 100%);
    background: linear-gradient(to bottom, rgba(233, 233, 233, 0) 0%, rgba(233, 233, 233, 0) 81%, rgba(233, 233, 233, 0.65) 100%); } }

@media screen and (max-width: 767px) {
  #download .bg {
    height: 180px;
    background: url(../img/download_bg_sp.jpg) no-repeat center top;
    background-size: cover; } }

@media screen and (min-width: 768px) {
  #download .bg {
    height: 300px;
    background: url(../img/download_bg.jpg) no-repeat center top; } }

#download .inner {
  position: relative; }
  @media screen and (max-width: 767px) {
    #download .inner .logo {
      position: absolute;
      top: 40px;
      left: 20px;
      width: 65%; }
      #download .inner .logo img {
        width: 100%; } }
  @media screen and (min-width: 768px) {
    #download .inner .logo {
      position: absolute;
      top: 58px;
      left: 145px; } }
  @media screen and (max-width: 767px) {
    #download .inner .btn_list {
      position: absolute;
      top: 120px;
      left: 20px; } }
  @media screen and (min-width: 768px) {
    #download .inner .btn_list {
      position: absolute;
      top: 186px;
      left: 138px; } }
  #download .inner .btn_list li {
    display: inline-block; }
    @media screen and (max-width: 767px) {
      #download .inner .btn_list li {
        width: 35%;
        margin-right: 10px; } }
    @media screen and (min-width: 768px) {
      #download .inner .btn_list li {
        width: 225px;
        margin-right: 12px; } }
    #download .inner .btn_list li img {
      width: 100%; }
    #download .inner .btn_list li a:hover {
      opacity: 0.75; }

/*#about {
	.list_about {
		@include sp($point-sp) {
			padding: 30px 20px;
			text-align: center;
		}
		@include pc($point-pc) {
			padding: 40px 100px 35px;
		}
		li {
			display: inline-block;
			@include sp($point-sp) {margin-right: 10px;&:last-child {margin-right: 0;}}
			@include pc($point-pc) {margin-right: 30px;&:last-child {margin-right: 0;}}
			a {
				@include sp($point-sp) {
					height: 16px;
					padding: 0 10px 0 24px;
					font-size: 12px;
					line-height: 16px;
					background-size: 16px 16px;
				}
				@include pc($point-pc) {
					height: 22px;
					padding: 0 30px 0 35px;
					font-size: 16px;
					line-height: 22px;
					background-size: 22px 22px;
				}
				display: block;
				background: url(../img/li_arrow01.png) no-repeat left center;
				text-decoration: none;
				color: #131313;
				&:hover {
					text-decoration: underline;
				}
			}
		}
		li:first-child a {
			border-right: 1px solid #d3d3d3;
		}
	}
}*/
.section_legal {
  margin-bottom: 60px; }
  .section_legal.last {
    margin-bottom: 100px; }
  @media screen and (max-width: 767px) {
    .section_legal .inner {
      margin: 0 20px; } }
  @media screen and (min-width: 768px) {
    .section_legal .inner {
      width: 1000px;
      margin: 0 auto; } }
  @media screen and (max-width: 767px) {
    .section_legal .inner .section_title {
      font-size: 21px;
      line-height: 28px;
      margin-bottom: 30px; } }
  @media screen and (min-width: 768px) {
    .section_legal .inner .section_title {
      font-size: 26px;
      line-height: 34px;
      margin-bottom: 36px; } }
  .section_legal .inner .legal_item.display_list .item_title {
    font-size: 14px;
    line-height: 24px;
    margin-bottom: 18px; }
  .section_legal .inner .legal_item.display_list .item_contents {
    margin-left: 28px; }
  @media screen and (max-width: 767px) {
    .section_legal .inner .legal_item .item_title {
      font-size: 17px;
      line-height: 24px;
      margin-bottom: 10px; } }
  @media screen and (min-width: 768px) {
    .section_legal .inner .legal_item .item_title {
      font-size: 18px;
      line-height: 24px;
      margin-bottom: 12px; } }
  .section_legal .inner .legal_item .item_contents {
    font-size: 14px;
    line-height: 24px;
    margin-bottom: 30px; }
  .section_legal .inner .legal_item .item_contents.shorten {
    font-size: 14px;
    line-height: 24px;
    margin-bottom: 10px; }
  .section_legal .inner .legal_item .list_bullet {
    font-size: 14px;
    line-height: 24px;
    margin-left: 35px; }
    .section_legal .inner .legal_item .list_bullet.disc {
      margin-bottom: 35px; }
    .section_legal .inner .legal_item .list_bullet.disc li,
    .section_legal .inner .legal_item .list_bullet .first {
      list-style-type: disc;
      margin-bottom: 10px; }
      .section_legal .inner .legal_item .list_bullet.disc li em,
      .section_legal .inner .legal_item .list_bullet .first em {
        font-weight: bold; }
    .section_legal .inner .legal_item .list_bullet .second {
      list-style-type: circle;
      padding-bottom: 25px; }
    .section_legal .inner .legal_item .list_bullet ul {
      margin-left: 30px;
      margin-top: 15px; }
  .section_legal .inner .legal_item .list_alphabet {
    font-size: 14px;
    padding-bottom: 20px; }
    @media screen and (max-width: 767px) {
      .section_legal .inner .legal_item .list_alphabet {
        margin-left: 35px; } }
    @media screen and (min-width: 768px) {
      .section_legal .inner .legal_item .list_alphabet {
        margin-left: 70px; } }
    .section_legal .inner .legal_item .list_alphabet li {
      list-style-type: lower-alpha;
      margin-bottom: 10px;
      line-height: 24px; }
  .section_legal .inner .legal_item .list_terms {
    font-size: 14px;
    line-height: 24px;
    margin-left: 20px; }
    .section_legal .inner .legal_item .list_terms li {
      list-style-type: decimal;
      margin-bottom: 25px; }
      .section_legal .inner .legal_item .list_terms li ul {
        margin-left: 28px;
        margin-top: 20px; }
        .section_legal .inner .legal_item .list_terms li ul li {
          list-style-type: lower-alpha;
          margin-bottom: 7px; }
          .section_legal .inner .legal_item .list_terms li ul li ul {
            margin-left: 28px;
            margin-top: 10px; }
            .section_legal .inner .legal_item .list_terms li ul li ul li {
              list-style-type: lower-roman;
              margin-bottom: 7px; }
  .section_legal .inner .legal_item a {
    color: #f729c7;
    text-decoration: none; }
    .section_legal .inner .legal_item a:hover {
      text-decoration: underline; }

.section_inquiry {
  margin-bottom: 60px; }
  .section_inquiry .inner {
    box-sizing: border-box;
    border: 1px solid #ccc;
    padding: 35px 30px; }
    @media screen and (max-width: 767px) {
      .section_inquiry .inner {
        margin: 0 20px; } }
    @media screen and (min-width: 768px) {
      .section_inquiry .inner {
        width: 1000px;
        margin: 0 auto; } }
    @media screen and (max-width: 767px) {
      .section_inquiry .inner .section_title {
        font-size: 18px;
        margin-bottom: 16px; } }
    @media screen and (min-width: 768px) {
      .section_inquiry .inner .section_title {
        font-size: 22px;
        margin-bottom: 20px; } }
    .section_inquiry .inner .legal_item .item_contents {
      font-size: 14px;
      line-height: 24px; }
    .section_inquiry .inner a {
      color: #f729c7;
      text-decoration: none; }
      .section_inquiry .inner a:hover {
        text-decoration: underline; }

.section_establishment {
  margin-bottom: 80px; }
  .section_establishment .inner {
    text-align: right; }
    @media screen and (max-width: 767px) {
      .section_establishment .inner {
        margin: 0 20px; } }
    @media screen and (min-width: 768px) {
      .section_establishment .inner {
        width: 1000px;
        margin: 0 auto; } }
    .section_establishment .inner p {
      font-size: 14px;
      line-height: 24px; }

footer {
  background-color: #040404; }
  footer .inner {
    color: #fff; }
    @media screen and (max-width: 767px) {
      footer .inner {
        padding: 40px 20px; } }
    @media screen and (min-width: 768px) {
      footer .inner {
        display: flex;
        justify-content: center;
        position: relative; } }
    @media screen and (max-width: 767px) {
      footer .inner .c_link {
        margin-bottom: 30px; } }
    @media screen and (min-width: 768px) {
      footer .inner .c_link {
        width: 600px;
        padding: 50px 50px 35px 100px; } }
    @media screen and (min-width: 768px) {
      footer .inner .c_link .ft_link_wrap {
        display: flex; } }
    footer .inner .c_link .ft_link {
      box-sizing: border-box;
      border-left: 1px solid #fff;
      padding: 4px 0 4px 15px; }
      @media screen and (max-width: 767px) {
        footer .inner .c_link .ft_link {
          margin-bottom: 15px; } }
      @media screen and (min-width: 768px) {
        footer .inner .c_link .ft_link {
          width: 50%; } }
      footer .inner .c_link .ft_link li {
        font-size: 12px;
        margin-bottom: 12px; }
        footer .inner .c_link .ft_link li:last-child {
          margin-bottom: 0; }
        footer .inner .c_link .ft_link li a {
          color: #fff;
          text-decoration: none; }
          footer .inner .c_link .ft_link li a:hover {
            text-decoration: underline; }
    @media screen and (max-width: 767px) {
      footer .inner .c_company {
        margin-bottom: 30px; } }
    @media screen and (min-width: 768px) {
      footer .inner .c_company {
        width: 300px;
        padding: 50px 100px 35px 50px; } }
    footer .inner .c_company .logo {
      margin-bottom: 10px; }
      @media screen and (min-width: 768px) {
        footer .inner .c_company .logo {
          width: 300px; } }
      footer .inner .c_company .logo img {
        width: 100%; }
    footer .inner .c_company .address, footer .inner .c_company .url {
      font-size: 12px;
      line-height: 18px; }
      footer .inner .c_company .address a, footer .inner .c_company .url a {
        color: #fff;
        text-decoration: none; }
        footer .inner .c_company .address a:hover, footer .inner .c_company .url a:hover {
          text-decoration: underline; }
    footer .inner .copyright {
      font-size: 11px; }
      @media screen and (max-width: 767px) {
        footer .inner .copyright {
          text-align: center; } }
      @media screen and (min-width: 768px) {
        footer .inner .copyright {
          position: absolute;
          display: inline-block;
          bottom: 37px;
          left: calc(50% - 500px); } }
    footer .inner .h_title {
      font-size: 14px;
      color: #fff;
      letter-spacing: 2px; }
      @media screen and (max-width: 767px) {
        footer .inner .h_title {
          margin-bottom: 10px; } }
      @media screen and (min-width: 768px) {
        footer .inner .h_title {
          margin-bottom: 18px; } }
