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

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

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

a img {
  border: none; }

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

.hidden {
  display: none; }

/* base
----------------------------------------------------*/
html {
  font-size: 62.5%; }

body {
  font-size: 16px;
  font-size: 1.6rem;
  background: #fff;
  font-family: sans-serif;
  line-height: 1.5;
  color: #000;
  word-break: break-all; }

a {
  color: #e9526b; }

img {
  vertical-align: top; }

.container {
  padding: 70px 0 0 0; }
  @media screen and (min-width: 769px) {
    .container {
      padding: 75px 0 0 0; } }

/* header
----------------------------------------------------*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  height: 70px;
  padding: 20px;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.9); }
  @media screen and (min-width: 769px) {
    .header {
      height: 75px;
      padding: 0; } }

@media screen and (min-width: 769px) {
  .header_inner {
    width: 1000px;
    margin: 0 auto;
    overflow: hidden;
    *zoom: 1; } }

@media screen and (min-width: 769px) {
  .logo {
    float: left;
    width: 240px;
    padding: 20px 0; } }
.logo img {
  width: auto;
  height: 30px; }
  @media screen and (min-width: 769px) {
    .logo img {
      width: 100%;
      height: auto; } }

#menu_btn {
  position: absolute;
  display: block;
  right: 10px;
  top: 15px;
  width: 44px;
  height: 44px; }
  @media screen and (min-width: 769px) {
    #menu_btn {
      display: none !important; } }
  #menu_btn div, #menu_btn {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box; }
  #menu_btn div {
    position: absolute;
    left: 9px;
    width: 25px;
    height: 2px;
    background-color: #000; }
    #menu_btn div:nth-of-type(1) {
      top: 11px;
      animation: menu-bar01 .75s forwards; }
    #menu_btn div:nth-of-type(2) {
      top: 21px;
      transition: all .25s .25s;
      opacity: 1; }
    #menu_btn div:nth-of-type(3) {
      bottom: 11px;
      animation: menu-bar02 .75s forwards; }

.menu-open #menu_btn div:nth-of-type(1) {
  animation: active-menu-bar01 .75s forwards; }
.menu-open #menu_btn div:nth-of-type(2) {
  opacity: 0; }
.menu-open #menu_btn div:nth-of-type(3) {
  animation: active-menu-bar03 .75s forwards; }

@keyframes menu-bar01 {
  0% {
    transform: translateY(10px) rotate(45deg); }
  50% {
    transform: translateY(10px) rotate(0); }
  100% {
    transform: translateY(0) rotate(0); } }
@keyframes menu-bar02 {
  0% {
    transform: translateY(-10px) rotate(-45deg); }
  50% {
    transform: translateY(-10px) rotate(0); }
  100% {
    transform: translateY(0) rotate(0); } }
@keyframes active-menu-bar01 {
  0% {
    transform: translateY(0) rotate(0); }
  50% {
    transform: translateY(10px) rotate(0); }
  100% {
    transform: translateY(10px) rotate(45deg); } }
@keyframes active-menu-bar03 {
  0% {
    transform: translateY(0) rotate(0); }
  50% {
    transform: translateY(-10px) rotate(0); }
  100% {
    transform: translateY(-10px) rotate(-45deg); } }
#global {
  position: fixed;
  top: 70px;
  left: 0;
  width: 100%;
  height: 0;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.9);
  visibility: hidden;
  transition: all 0.5s ease; }
  @media screen and (min-width: 769px) {
    #global {
      position: static;
      float: right;
      width: auto;
      height: auto;
      visibility: visible;
      background: none; } }
  .menu-open #global {
    visibility: visible;
    height: calc(100vh - 70px); }
  @media screen and (min-width: 769px) {
    #global ul {
      padding: 20px 0;
      text-align: right;
      line-height: 35px; } }
  #global ul li {
    margin: 0 0 -1px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd; }
    @media screen and (min-width: 769px) {
      #global ul li {
        position: relative;
        display: inline-block;
        margin: 0 10px;
        border: none;
        font-size: 14px;
        font-size: 1.4rem; }
        #global ul li.current:after {
          position: absolute;
          display: block;
          left: 0;
          bottom: -20px;
          content: "";
          width: 100%;
          border-bottom: 2px solid #ee8699; }
        #global ul li.current a {
          color: #ee8699; } }
    #global ul li a {
      display: block;
      padding: 20px;
      text-align: center;
      color: #000;
      text-decoration: none; }
      @media screen and (min-width: 769px) {
        #global ul li a {
          display: inline;
          padding: 0;
          transition: all 0.2s ease; }
          #global ul li a:hover {
            color: #ee8699; } }

.btn {
  position: relative;
  display: block;
  margin: 10px 0 0 0;
  padding: 10px 15px;
  background: #e9526b;
  color: #fff;
  text-decoration: none;
  text-align: left;
  font-size: 15px;
  font-size: 1.5rem; }
  @media screen and (min-width: 769px) {
    .btn {
      display: inline-block;
      padding: 15px 30px 15px 15px; } }
  .btn:after {
    position: absolute;
    display: block;
    right: 10px;
    top: 50%;
    content: "";
    width: 10px;
    height: 10px;
    margin-top: -5px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg); }
    @media screen and (min-width: 769px) {
      .btn:after {
        right: 15px; } }
  .btn-under:after {
    margin-top: -8px;
    transform: rotate(135deg); }

@media screen and (min-width: 769px) {
  .btn_wrap {
    margin: 30px 0 0 0;
    text-align: center;
    font-size: 0; }
    .btn_wrap .btn {
      padding: 15px 45px 15px 30px;
      font-size: 16px;
      font-size: 1.6rem; }
      .btn_wrap .btn + .btn {
        margin-left: 15px; } }

/* visual
----------------------------------------------------*/
.visual {
  position: relative;
  margin: 0 0 -20px 0;
  padding: 40px 0;
  box-sizing: border-box;
  background-color: #ee8699;
  background-image: linear-gradient(114deg, #fec0ce, #ee869a);
  color: #fff;
  text-align: center; }
  @media screen and (min-width: 769px) {
    .visual {
      padding: 100px 0; } }
  .visual.home {
    padding: 40px 20px 50px; }
    @media screen and (min-width: 769px) {
      .visual.home {
        padding: 100px 0 120px; } }
    .visual.home:before {
      position: absolute;
      display: block;
      left: 0;
      top: 0;
      content: "";
      width: 100%;
      height: 100%;
      background: url(../images/visual_bg.png) no-repeat right -42% bottom;
      background-size: auto 200%;
      opacity: 0.8; }
      @media screen and (min-width: 769px) {
        .visual.home:before {
          background-position: right bottom;
          background-size: auto auto; } }
  .visual img {
    position: relative;
    width: 270px;
    height: auto;
    z-index: 2; }
    @media screen and (min-width: 769px) {
      .visual img {
        width: 700px; } }
  .visual p {
    width: 275px;
    margin: 15px auto;
    font-size: 14px;
    font-size: 1.4rem;
    text-align: left;
    color: #fff; }
    @media screen and (min-width: 769px) {
      .visual p {
        width: 540px;
        margin: 20px auto; } }
  .visual ul {
    width: 275px;
    margin: 0 auto -10px; }
    @media screen and (min-width: 769px) {
      .visual ul {
        display: table;
        width: 540px; } }
    @media screen and (min-width: 769px) {
      .visual ul li {
        display: table-cell;
        padding: 0 7px; }
        .visual ul li:first-child {
          padding-left: 0; }
        .visual ul li:last-child {
          padding-right: 0; } }
    .visual ul li .btn {
      background: rgba(233, 82, 107, 0.5); }
      @media screen and (min-width: 769px) {
        .visual ul li .btn {
          display: block; } }
  .visual h1 {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.3; }
    @media screen and (min-width: 769px) {
      .visual h1 {
        font-size: 40px;
        font-size: 4rem; } }
  .visual ol {
    margin: 5px 0 0 0;
    font-size: 0; }
    @media screen and (min-width: 769px) {
      .visual ol {
        margin: 10px 0 0 0; } }
    .visual ol li {
      display: inline-block;
      font-size: 10px;
      font-size: 1rem; }
      .visual ol li:after {
        content: ">";
        display: inline-block;
        margin: 0 5px; }
      .visual ol li a {
        color: #fff; }
      .visual ol li:last-child:after {
        display: none; }
      .visual ol li:last-child a {
        text-decoration: none; }

/* sec
----------------------------------------------------*/
.sec {
  padding: 50px 20px 20px; }
  @media screen and (min-width: 769px) {
    .sec {
      padding: 100px 0; } }
  .sec[id^='prep'] {
    padding-bottom: 50px; }
  .sec.bg-pink {
    background: #fdeeed; }
  .sec p {
    margin: 15px 0; }
  .sec img {
    width: 100%;
    height: auto; }
    @media screen and (min-width: 769px) {
      .sec img {
        float: right;
        width: 400px;
        margin: 0 0 20px 40px; }
        .sec img.full {
          float: none;
          width: auto;
          margin: 0; } }
    .sec img.icon {
      height: auto;
      padding: 10px 0; }
      .sec img.icon.icon01 {
        width: 128px; }
      .sec img.icon.icon02 {
        width: 124px; }
      .sec img.icon.icon03 {
        width: 128px; }
      .sec img.icon.icon04 {
        width: 115px; }
      .sec img.icon.icon05 {
        width: 72px;
        padding: 15px 0; }
      .sec img.icon.icon06 {
        width: 128px; }
  .sec b {
    color: #e9526b; }

@media screen and (min-width: 769px) {
  .sec_inner {
    width: 1000px;
    margin: 0 auto; } }

.sec_lead {
  margin: 0 0 25px 0;
  text-align: center;
  color: #e9526b;
  font-size: 20px;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.3; }
  @media screen and (min-width: 769px) {
    .sec_lead {
      margin: 0 0 30px 0;
      font-size: 30px;
      font-size: 3rem; } }

.ast li {
  padding: 0 0 0 1em;
  text-indent: -1em; }
  .ast li:before {
    content: "※"; }

.map {
  position: relative;
  padding-bottom: 100%;
  height: 0;
  overflow: hidden;
  margin-top: 15px; }
  .map iframe,
  .map object,
  .map embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  @media screen and (min-width: 769px) {
    .map {
      padding-bottom: 50%; } }

/* lead
----------------------------------------------------*/
.lead_inner {
  margin: 40px 0 30px 0; }
  .lead_inner section {
    margin: 20px 0 0 0; }
    .lead_inner section h4 {
      margin: 0 0 10px 0;
      font-weight: bold; }
    .lead_inner section ul {
      margin: 0 0 0 1.5em; }
      .lead_inner section ul li {
        list-style-type: disc;
        margin: 0 0 10px 0; }
  .lead_inner table {
    margin: 30px 0 0 0;
    border-collapse: collapse; }
    .lead_inner table td, .lead_inner table th {
      padding: 10px 0;
      border-top: 1px solid #ccc;
      border-bottom: 1px solid #ccc; }
    .lead_inner table td {
      padding-left: 15px;
      white-space: nowrap;
      text-align: right; }
    .lead_inner table thead th {
      text-align: right; }
      .lead_inner table thead th:first-child {
        text-align: left; }

.lead_lead {
  margin: 0 0 20px 0;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold; }

p.sig {
  margin-top: 30px;
  text-align: right; }

.lead_half {
  margin-top: 30px; }
  @media screen and (min-width: 769px) {
    .lead_half {
      display: inline-block;
      width: 49%;
      vertical-align: top; }
      .lead_half img {
        float: none;
        width: 100%;
        margin: 0;
        vertical-align: top; } }
  .lead_half .catch {
    margin: 20px 0 0 0;
    padding-left: 20px;
    padding-right: 20px;
    border: 1px solid #ee8699;
    text-align: center;
    text-align: left; }
    @media screen and (min-width: 769px) {
      .lead_half .catch {
        text-align: center; } }
    .lead_half .catch strong {
      font-weight: bold;
      color: #ee8699; }

/* prep
----------------------------------------------------*/
.prep_lead {
  margin: 0 0 15px 0;
  padding: 6px;
  background: #ee8699;
  color: #fff;
  font-weight: bold;
  text-align: center; }
  @media screen and (min-width: 769px) {
    .prep_lead {
      position: relative;
      text-align: left;
      margin: 0 0 30px 0;
      padding: 10px 20px;
      font-size: 20px;
      font-size: 2rem; }
      .prep_lead br {
        display: none; } }

.prep_inner {
  margin: 30px 0 0 0; }
  @media screen and (min-width: 769px) {
    .prep_inner {
      margin: 50px 0 0 0; } }
  .prep_inner.arrow {
    position: relative;
    margin-bottom: -20px;
    padding-bottom: 40px; }
    .prep_inner.arrow:after {
      position: absolute;
      bottom: 0;
      left: 50%;
      content: "";
      display: block;
      width: 0;
      height: 0;
      margin: 0 0 0 -15px;
      border-style: solid;
      border-width: 15px 15px 0 15px;
      border-color: #ee8699 transparent transparent transparent; }
  .prep_inner p {
    margin: 20px 0 0 0; }
    .prep_inner p.chu {
      margin: 10px 0 0 0;
      font-size: 14px;
      font-size: 1.4rem;
      color: #666; }
      .prep_inner p.chu b {
        color: #666;
        font-weight: bold; }
  .prep_inner ul {
    margin: 10px 0 0 0; }
    .prep_inner ul li {
      margin: 0 0 10px 0;
      padding: 0 0 0 1em;
      text-indent: -1em; }
      .prep_inner ul li:before {
        content: "・"; }

@media screen and (min-width: 769px) {
  .prep_img {
    margin: 20px 0;
    padding: 10px;
    background: #eee;
    font-size: 0; } }
.prep_img div {
  margin: 20px 0 0 0;
  padding: 10px;
  background: #eee;
  line-height: 1.4; }
  .prep_img div p {
    margin: 0; }
    @media screen and (min-width: 769px) {
      .prep_img div p {
        padding: 10px;
        background: #fcfcfc; } }
  @media screen and (min-width: 769px) {
    .prep_img div {
      display: inline-block;
      width: 485px;
      margin: 0;
      padding: 0;
      background: #fff;
      font-size: 14px;
      font-size: 1.4rem;
      text-align: center; }
      .prep_img div + div {
        margin: 0 0 0 10px; } }
  .prep_img div img {
    margin: 0 0 10px 0; }
    @media screen and (min-width: 769px) {
      .prep_img div img {
        margin: 0; } }

.img {
  width: 33%;
  float: right;
  margin: 0 0 0 20px; }
  @media screen and (min-width: 769px) {
    .img {
      width: 200px; } }
  .img img {
    width: 100%; }

.circle_img {
  width: 200px;
  height: 200px;
  margin: 0 auto;
  padding: 36px 0 0 0;
  box-sizing: border-box;
  background: #ee8699;
  border-radius: 100px;
  text-align: center; }
  @media screen and (min-width: 769px) {
    .circle_img {
      margin-bottom: 30px; } }
  .circle_img img {
    width: 128px; }
    @media screen and (min-width: 769px) {
      .circle_img img {
        float: none !important;
        margin: 0 !important; } }

.etc {
  text-align: right; }
  @media screen and (min-width: 769px) {
    .etc {
      text-align: left; } }

.table02 {
  display: block;
  width: 100%;
  margin: 30px 0 0 0;
  padding: 0 0 20px 0;
  border: 1px solid #ccc; }
  @media screen and (min-width: 769px) {
    .table02 {
      display: table;
      padding: 0;
      border: none; } }
  .table02 caption {
    display: block; }
    @media screen and (min-width: 769px) {
      .table02 caption {
        display: table-caption; } }
  .table02 tbody {
    display: block; }
    @media screen and (min-width: 769px) {
      .table02 tbody {
        display: table-row-group; } }
  .table02 tr {
    display: block; }
    @media screen and (min-width: 769px) {
      .table02 tr {
        display: table-row; } }
  .table02 thead {
    display: none; }
    @media screen and (min-width: 769px) {
      .table02 thead {
        display: table-header-group; }
        .table02 thead th {
          text-align: center;
          background: #eee; } }
  .table02 caption {
    padding: 10px;
    background: #eee;
    text-align: center; }
    @media screen and (min-width: 769px) {
      .table02 caption {
        padding: 0 0 10px 0;
        background: none;
        font-weight: bold; } }
  .table02 th, .table02 td {
    display: block;
    margin: 0 20px; }
    @media screen and (min-width: 769px) {
      .table02 th, .table02 td {
        display: table-cell;
        margin: 0;
        padding: 10px;
        border: 1px solid #ccc; } }
  .table02 th {
    margin-top: 20px;
    margin-bottom: 10px;
    padding: 0 0 5px 0;
    border-bottom: 1px solid #ccc;
    font-weight: bold; }
    @media screen and (min-width: 769px) {
      .table02 th {
        margin: 0;
        padding: 10px; } }
  .table02 td br {
    display: none; }
    @media screen and (min-width: 769px) {
      .table02 td br {
        display: block; } }
  @media screen and (min-width: 769px) {
    .table02 td:before {
      display: none !important; } }
  .table02 tr td:nth-of-type(1):before {
    content: "報告年："; }
  .table02 tr td:nth-of-type(2):before {
    content: "対象："; }
  .table02 tr td:nth-of-type(3):before {
    content: "人数："; }
  .table02 tr td:nth-of-type(4):before {
    content: "薬剤："; }
  .table02 tr td:nth-of-type(5):before {
    content: "服用用法："; }
  .table02 tr td:nth-of-type(6):before {
    content: "効果："; }

.table03 {
  width: 100%;
  margin: 30px 0 0 0;
  table-layout: fixed; }
  .table03 caption {
    padding: 0 0 10px 0;
    text-align: center; }
    @media screen and (min-width: 769px) {
      .table03 caption {
        font-weight: bold; } }
  .table03 td, .table03 th {
    width: 50%;
    text-align: center;
    padding: 10px;
    border: 1px solid #ccc;
    background: #fff; }
  .table03 thead th {
    background: #eee; }

.truvada dt {
  margin: 10px 0 0 0;
  font-weight: bold; }

.qa dt {
  margin: 30px 0 10px 0;
  padding: 0 0 5px 0;
  border-bottom: 1px solid #ccc;
  font-weight: bold; }
  @media screen and (min-width: 769px) {
    .qa dt {
      margin-top: 50px; } }
  .qa dt:before {
    content: "Q."; }

/* research
----------------------------------------------------*/
#research h3 {
  margin: 0 0 15px 0;
  padding: 6px;
  background: #ee8699;
  color: #fff;
  font-weight: bold;
  text-align: center; }
  @media screen and (min-width: 769px) {
    #research h3 {
      position: relative;
      text-align: left;
      margin: 0 0 30px 0;
      padding: 10px 20px;
      font-size: 20px;
      font-size: 2rem; }
      #research h3 br {
        display: none; } }
#research section div {
  margin: 0 0 30px 0; }
  @media screen and (min-width: 769px) {
    #research section div {
      margin: 0 0 50px 0; } }
  #research section div p {
    margin: 20px 0 0 0; }
    #research section div p.chu {
      margin: 10px 0 0 0;
      font-size: 14px;
      font-size: 1.4rem;
      color: #666; }
  #research section div ul {
    margin: 10px 0 0 0; }
    #research section div ul li {
      margin: 0 0 10px 0;
      padding: 0 0 0 1em;
      text-indent: -1em; }
      #research section div ul li:before {
        content: "・"; }
  #research section div .btn_wrap {
    margin: 20px 0 50px 0; }

/* note
----------------------------------------------------*/
#note {
  padding-bottom: 50px; }
  @media screen and (min-width: 769px) {
    #note {
      padding-bottom: 80px; } }

.note_inner {
  padding: 20px 5px 10px;
  border: 6px double #ee8699;
  text-align: center; }
  @media screen and (min-width: 769px) {
    .note_inner {
      width: 1000px;
      margin: 0 auto;
      box-sizing: border-box; } }
  .note_inner h3 {
    margin: 0 0 15px 0;
    font-weight: bold;
    text-align: center; }
    @media screen and (min-width: 769px) {
      .note_inner h3 {
        font-size: 18px;
        font-size: 1.8rem; } }
  .note_inner ul {
    margin-left: 1.5em;
    text-align: left; }
    @media screen and (min-width: 769px) {
      .note_inner ul {
        display: inline-block; } }
    .note_inner ul li {
      margin: 0 0 10px 0;
      list-style-type: disc; }

/* about
----------------------------------------------------*/
#about {
  padding-bottom: 50px;
  background: #fdeeed; }
  #about.sub {
    background: transparent; }

.about_inner {
  margin-top: -10px;
  padding: 20px 15px 10px;
  background: #ee8699;
  color: #fff; }
  @media screen and (min-width: 769px) {
    .about_inner {
      padding: 30px 50px;
      margin: 0 0 50px; } }
  .about_inner h3 {
    margin: 0 0 15px 0;
    text-align: center;
    font-weight: bold; }
    @media screen and (min-width: 769px) {
      .about_inner h3 {
        margin: 0 0 30px 0;
        font-size: 24px;
        font-size: 2.4rem; } }
  .about_inner ul {
    font-size: 14px;
    font-size: 1.4rem; }
    @media screen and (min-width: 769px) {
      .about_inner ul {
        font-size: 16px;
        font-size: 1.6rem;
        text-align: center; } }
    .about_inner ul li {
      margin: 0 0 10px 0; }

.detail_table {
  margin: 50px 0 0 0; }
  .sub .detail_table {
    margin: 0; }
  .detail_table, .detail_table tbody, .detail_table tr, .detail_table td, .detail_table th {
    display: block; }
  @media screen and (min-width: 769px) {
    .detail_table {
      display: table;
      border-bottom: 1px solid #ccc; }
      .detail_table tbody {
        display: table-row-group; }
      .detail_table tr {
        display: table-row; }
      .detail_table th, .detail_table td {
        display: table-cell; } }
  .detail_table th {
    margin: 0 0 15px 0;
    padding: 6px;
    background: #ee8699;
    color: #fff;
    font-weight: bold;
    text-align: center; }
    @media screen and (min-width: 769px) {
      .detail_table th {
        margin: 0;
        padding: 20px;
        background: none;
        border-top: 1px solid #ccc;
        color: #000;
        text-align: left;
        vertical-align: top;
        white-space: nowrap; } }
  .detail_table td {
    margin: 0 0 30px 0; }
    @media screen and (min-width: 769px) {
      .detail_table td {
        margin: 0;
        padding: 20px;
        background: none;
        border-top: 1px solid #ccc;
        color: #000;
        text-align: left;
        vertical-align: top; }
        .detail_table td p {
          margin-top: 0; } }
    .detail_table td b {
      display: block;
      margin: 0 0 5px 0;
      color: #000;
      font-weight: bold; }
  .detail_table ul {
    margin: 10px 0 0 0; }
    .detail_table ul li {
      padding: 0 0 0 1em;
      text-indent: -1em; }
      .detail_table ul li:before {
        content: "・"; }

.closed {
  margin: 0 0 30px 0;
  padding: 15px 0;
  background: #fff;
  text-align: center; }
  @media screen and (min-width: 769px) {
    .closed {
      padding: 20px; } }
  .closed dt {
    display: inline-block;
    margin: 0 0 10px 0;
    padding: 0 0 5px 0;
    border-bottom: 2px solid #333;
    font-weight: bold; }
    @media screen and (min-width: 769px) {
      .closed dt {
        margin: 0;
        padding: 0;
        border: none; }
        .closed dt:after {
          content: "： "; } }
  @media screen and (min-width: 769px) {
    .closed dd {
      display: inline-block;
      vertical-align: middle;
      text-align: left; }
      .closed dd:after {
        content: " / "; }
      .closed dd:last-of-type:after {
        display: none; } }

/* flow
----------------------------------------------------*/
.flow_lead {
  position: relative;
  display: table;
  width: 100%;
  margin: 0 0 15px 0;
  color: #fff;
  font-weight: bold; }
  @media screen and (min-width: 769px) {
    .flow_lead {
      margin: 0 0 30px 0;
      font-size: 20px;
      font-size: 2rem; }
      .flow_lead br {
        display: none; } }
  .flow_lead span {
    display: table-cell;
    text-align: center;
    vertical-align: middle; }
    .flow_lead span:nth-child(1) {
      width: 40px;
      background: #e9526b; }
      @media screen and (min-width: 769px) {
        .flow_lead span:nth-child(1) {
          width: 50px; } }
    .flow_lead span:nth-child(2) {
      padding: 6px;
      background: #ee8699; }
      @media screen and (min-width: 769px) {
        .flow_lead span:nth-child(2) {
          padding: 10px 20px;
          text-align: left; } }

.flow_inner {
  margin: 0 0 50px 0; }

.first {
  margin: 20px 0;
  text-align: center;
  color: #e9526b; }
  @media screen and (min-width: 769px) {
    .first {
      margin: 30px 0;
      padding: 0 0 10px 0;
      font-size: 24px;
      font-size: 2.4rem; } }
  .first b {
    display: inline-block;
    font-weight: bold;
    border-bottom: 2px dashed #e9526b; }

@media screen and (min-width: 769px) {
  .flow_lists {
    overflow: hidden;
    *zoom: 1; } }

.flow_list {
  margin: 0 0 30px 0; }
  @media screen and (min-width: 769px) {
    .flow_list {
      position: relative;
      float: left;
      width: 30%;
      margin: 0 5% 0 0; }
      .flow_list:after {
        position: absolute;
        display: block;
        right: -30px;
        top: 100px;
        content: '';
        display: block;
        width: 20px;
        height: 20px;
        border-top: 2px solid #e9526b;
        border-right: 2px solid #e9526b;
        transform: rotate(45deg); }
      .flow_list:last-child {
        margin-right: 0; }
        .flow_list:last-child:after {
          display: none; }
      .flow_list.double {
        width: 65%; }
        .flow_list.double:before {
          position: absolute;
          display: block;
          left: 50%;
          top: 100px;
          content: '';
          display: block;
          width: 20px;
          height: 20px;
          margin-left: -20px;
          border-top: 2px solid #e9526b;
          border-right: 2px solid #e9526b;
          transform: rotate(45deg); }
      .flow_list.triple {
        width: 100%; }
        .flow_list.triple .flow_img {
          float: right;
          width: 300px;
          text-align: center; } }

.flow_img {
  margin-bottom: -5px;
  text-align: center; }
  .flow_img img + img {
    margin-top: 15px; }
  @media screen and (min-width: 769px) {
    .flow_img {
      margin: 0; }
      .flow_img img {
        float: none;
        width: 100%;
        height: auto;
        margin: 0; } }

@media screen and (min-width: 769px) {
  .flow_list.double .flow_img img {
    width: 46%; }
    .flow_list.double .flow_img img + img {
      margin: 0 0 0 8%; } }
/* option
----------------------------------------------------*/
.option_table {
  width: 100%;
  margin: 50px 0 20px 0;
  border-bottom: 1px solid #e7e7e9; }
  .option_table caption {
    padding: 6px;
    border-bottom: 15px solid #fff;
    background: #ee8699;
    color: #fff;
    font-weight: bold;
    text-align: center; }
    @media screen and (min-width: 769px) {
      .option_table caption {
        padding: 10px; } }
  .option_table th {
    padding: 15px 0;
    border-top: 1px solid #e7e7e9;
    vertical-align: top; }
    .option_table th sup {
      margin-left: 5px; }
    @media screen and (min-width: 769px) {
      .option_table th {
        padding: 20px; }
        .option_table th br {
          display: none; } }
    .option_table th span {
      display: block;
      font-size: 12px;
      font-size: 1.2rem;
      color: #666; }
      @media screen and (min-width: 769px) {
        .option_table th span {
          display: inline;
          padding: 0 0 0 2em; } }
  .option_table td {
    padding: 15px 0 15px 15px;
    border-top: 1px solid #e7e7e9;
    vertical-align: top;
    white-space: nowrap;
    text-align: right; }
    @media screen and (min-width: 769px) {
      .option_table td {
        padding: 20px; } }

/* footer
----------------------------------------------------*/
.footer {
  margin-top: 30px;
  padding: 15px;
  background: #fdeeed;
  color: #666; }
  @media screen and (min-width: 769px) {
    .footer {
      margin: 0;
      padding: 30px;
      overflow: hidden;
      *zoom: 1; } }

@media screen and (min-width: 769px) {
  .footer_inner {
    width: 1000px;
    margin: 0 auto; } }

.project {
  margin: 0 0 15px 0;
  font-size: 14px;
  font-size: 1.4rem; }
  @media screen and (min-width: 769px) {
    .project {
      float: left;
      margin: 0; } }

.share div {
  display: inline-block;
  vertical-align: top; }
  .share div.fb-share-button {
    margin-top: -4px; }
@media screen and (min-width: 769px) {
  .share {
    float: right;
    text-align: right; } }

.phc {
  margin: 0 0 10px 0; }
  @media screen and (min-width: 769px) {
    .phc {
      margin: 0 0 0 100px; } }

/* link
----------------------------------------------------*/
.links {
  margin: 70px 20px 50px; }
  .links h2 {
    margin: 0 0 15px 0;
    padding: 6px;
    background: #ee8699;
    color: #fff;
    font-weight: bold;
    text-align: center; }
    @media screen and (min-width: 769px) {
      .links h2 {
        position: relative;
        text-align: left;
        margin: 0 0 30px 0;
        padding: 10px 20px;
        font-size: 20px;
        font-size: 2rem; }
        .links h2 br {
          display: none; } }
  .links ul {
    margin-left: 1.5em;
    text-align: left; }
    .links ul li {
      margin: 0 0 10px 0;
      list-style-type: disc; }
