@charset "UTF-8";
/* -*- coding: utf-8; -*- */
/* =============================================================================
   HTML5 Boilerplate CSS: h5bp.com/css
   ========================================================================== */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}

audio,
canvas,
video {
  display: inline-block;
}

[hidden] {
  display: none;
}

html input,
html select,
html textarea {
  color: #222;
}

a {
  color: #08c;
  word-break: normal;
  word-wrap: break-word;
}

a:visited {
  color: #551a8b;
}

a:hover {
  color: #64b6ec;
}

a:focus {
  outline: thin dotted;
}

a:hover, a:active {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

blockquote {
  margin: 1em 10px;
}

dfn {
  font-style: italic;
}

del {
  color: #a0a0a0;
}

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

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

mark {
  background: #ff0;
  color: black;
  font-style: italic;
  font-weight: bold;
}

pre,
code,
kbd,
samp {
  font-family: monospace, serif;
  font-size: 1em;
  line-height: 1.1;
}

q {
  quotes: none;
}

small {
  font-size: 85%;
}

sub {
  bottom: -.25em;
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  top: -.5em;
  vertical-align: baseline;
}

ul,
ol {
  margin: 1em 0;
  padding: 0 0 0 40px;
}

dd {
  margin: 0 0 0 40px;
}

nav .main-nav li {
  margin-bottom: 1px;
}

nav .main-nav li:first-child > a {
  border-radius: 3px 3px 0 0;
}

nav .main-nav li:last-child > a {
  border-radius: 0 0 3px 3px;
}

nav .main-nav > li {
  position: relative;
}

nav .main-nav > li > a {
  background-repeat: no-repeat;
  font-size: 1em;
  padding-right: 60px;
  text-decoration: none;
}

nav .main-nav > li > a:hover {
  color: black;
  opacity: .7;
}

nav .main-nav > li > .menu-toggle {
  background-color: #c1e9a4;
  background-image: url("../img/arrow-down.png");
  background-position: 50%;
  background-repeat: no-repeat;
  border: 1px solid transparent;
  border-radius: 2px;
  height: 28px;
  line-height: 0;
  margin-top: -15px;
  overflow: hidden;
  position: absolute;
  right: 5%;
  text-decoration: none;
  text-indent: -10000px;
  top: 1.6em;
  width: 40px;
  z-index: 2;
}

nav .main-nav > li > .menu-toggle.open {
  background-image: url("../img/arrow-up.png");
}

nav .main-nav > li > .menu-toggle:hover {
  border: 1px solid white;
}

nav .sub-nav {
  display: none;
  margin: .5em 0 .25em;
}

nav .sub-nav li {
  line-height: 1.2;
  margin-bottom: 2px;
}

nav .sub-nav a {
  background-color: transparent;
  background-image: url("../img/icon_tri_1.png");
  background-position: 1em 1.3em;
  background-repeat: no-repeat;
  font-weight: normal;
  padding-left: 2em;
}

nav .sub-nav a:hover {
  background-color: rgba(255, 255, 255, 0.9);
}

nav li a {
  background-color: #d1ecbe;
  color: #333;
  display: block;
  padding: 1em;
  text-align: left;
  text-decoration: none;
}

nav li a:hover {
  color: #777;
  text-decoration: underline;
}

nav li a:visited {
  color: #333;
}

nav ul,
nav ol {
  list-style: none;
  list-style-image: none;
  margin: 0;
  padding: 0;
}

img {
  border: 0;
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}

img.left, img.right {
  margin-bottom: 5px;
  margin-right: 10px;
  padding-top: .3em;
}

img.left {
  float: left;
}

img.right {
  float: right;
}

figure {
  margin: 0;
  max-width: 100%;
}

figcaption {
  line-height: 120%;
}

form {
  margin: 0;
}

label {
  cursor: pointer;
}

legend {
  border: 0;
  border-left: 4px solid #777;
  color: #555;
  display: table;
  font-size: 1.05em;
  font-weight: bold;
  line-height: 1.1;
  padding: 0 0 0 5px;
  vertical-align: text-bottom;
  white-space: normal;
}

button,
input,
select,
textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
}

button,
input {
  line-height: normal;
}

button {
  cursor: pointer;
}

button[disabled] {
  cursor: default;
}

input[disabled] {
  cursor: default;
}

input[type="button"], input[type="reset"], input[type="submit"] {
  background: linear-gradient(to bottom, white 0, #e5e5e5 100%);
  border: 1px solid #7f7f7f;
  border-radius: 5px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6), 0 -1px 0 rgba(255, 255, 255, 0.4);
  color: #333 !important;
  cursor: pointer;
  display: inline-block;
  font-size: 1.1em;
  font-weight: normal;
  margin: 5px 2px;
  padding: 8px 20px;
  text-align: center;
  text-shadow: 0 1px 0 white;
}

input[type="button"]:hover, input[type="submit"]:hover, input[type="reset"]:hover {
  border-color: #333;
  color: black !important;
}

input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active {
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9), 0 1px 0 rgba(0, 0, 0, 0.2) inset;
}

input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  margin-bottom: 1px;
  margin-right: 2px;
  padding: 0;
}

input[type="search"] {
  box-sizing: content-box;
}

input[type="text"], input[type="url"], input[type="email"], input[type="search"], input[type="password"] {
  border-radius: 4px;
}

input[type="text"]:focus, input[type="password"]:focus, input[type="url"]:focus, input[type="email"]:focus, input[type="search"]:focus {
  background-color: #ffffe6;
  background-image: none;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2), 0 1px 0 0 #fafbfb;
  color: #222;
}

textarea {
  border-radius: 4px;
  font-size: 100%;
  margin: 0 auto;
  max-width: 35em;
  overflow: auto;
  resize: vertical;
  vertical-align: top;
  width: 100%;
}

td {
  vertical-align: top;
}

.browser-caution {
  background: #ccc;
  color: black;
  font-size: .9em;
  margin: .2em;
  padding: .2em;
  text-align: center;
}

nobr {
  display: inline-block;
}

/* ===== Initializr Styles =====================================================
   Author: Jonathan Verrecchia - verekia.com/initializr/responsive-template
   ========================================================================== */
body {
  font-family: "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "MS P Gothic", "ＭＳ Ｐゴシック", Osaka, sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
  margin: 0;
  padding-top: 118px;
  vertical-align: baseline;
}

#main-container {
  clear: both;
  font-size: 1.1em;
  margin-bottom: 15px;
  margin-top: 1em;
  overflow-wrap: break-word;
  position: relative;
  word-wrap: break-word;
}

#main-container.small {
  font-size: 1em;
}

#main-container.normal {
  font-size: 1.1em;
}

#main-container.large {
  font-size: 1.2em;
}

#main-container:after {
  content: "";
  display: table;
}

@media screen and (max-width: 980px) {
  #main-container {
    font-size: 1.1em !important;
  }
}

.center {
  text-align: center;
}

.g-b-search {
  display: none;
}

@media only screen and (min-width: 900px) {
  .g-b-search {
    display: block;
  }
}

.keep {
  word-break: normal;
}

.page-top {
  background-color: #f2fdea;
  line-height: 100%;
  padding: .2em;
  position: fixed;
  right: 2px;
  top: 66%;
  width: 1em;
  word-break: break-all;
  writing-mode: tb-rl;
}

.page-top a {
  color: #333;
  text-decoration: none;
}

.right {
  text-align: right;
}

.v4v6 {
  display: none;
  font-size: .85em;
  text-align: center;
}

.wrapper {
  margin: 0 2%;
  /*width: 96%;*/
  width: 92%;
}

.ie img {
  -ms-interpolation-mode: bicubic;
}

.main-article {
  margin-bottom: 5px;
}

.main-article a {
  text-decoration: underline;
}

.main-article .change-log {
  padding-left: 1em;
}

.main-article div[style*=width],
.main-article p {
  max-width: 100% !important;
}

.main-article h1,
.main-article h2,
.main-article h3,
.main-article h4,
.main-article h5,
.main-article h6 {
  color: #111;
  font-size: 1.05em;
  font-weight: bold;
  line-height: 1.1;
  margin-top: 0;
  position: relative;
}

.main-article h1 {
  background-color: #468618;
  background-position: 100% 0;
  background-repeat: no-repeat;
  color: white;
  font-size: 1.45em;
  margin: 0 0 1.25em;
  padding: .8em .9em .6em;
  position: relative;
  text-shadow: 0 1px 1px black;
}

.main-article h2 {
  background-color: #eaf6e2;
  font-size: 1.25em;
  margin: 1.5em 0 .5em;
  padding: .5em .5em .4em;
}

.main-article h1 + h2 {
  margin-top: .7em;
}

.main-article h3 {
  background-image: url("../img/bg_heading_3.png");
  background-position: 0 0;
  background-repeat: no-repeat;
  font-size: 1.15em;
  margin: 1.5em 0 .5em;
  padding: .1em 0 .1em 25px;
}

.main-article h4,
.main-article h5,
.main-article h6 {
  color: #333;
  margin: 1.2em 0 1em;
  padding: .1em 0 .1em .6em;
  position: relative;
}

.main-article h4:before,
.main-article h5:before,
.main-article h6:before {
  background-color: #26733e;
  content: " ";
  display: inline-block;
  height: 1.2em;
  left: 0;
  margin-right: 5px;
  position: absolute;
  top: 0;
  width: 5px;
}

.main-article h4:before {
  height: 1.2em;
  top: 0;
}

.main-article h5:before {
  height: .7em;
  top: .3em;
}

.main-article h6:before {
  height: .4em;
  top: .4em;
}

.main-article .mutual h1 {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.main-article .mutual a {
  background: linear-gradient(white, #a0a0a0);
  border: #a0a0a0;
  border-radius: 5px;
  color: #0f0f0f;
  font-size: small;
  margin-bottom: .2em;
  padding: .5em;
  text-decoration: none;
  text-shadow: none;
}

.main-article ol > li {
  background-image: none;
  padding-left: .5em;
}

.main-article p {
  margin: 1em 2% .5em;
}

.main-article .head {
  margin-bottom: -1em;
  margin-top: -1em;
}

.main-article .photo2 img {
  margin: 10px;
  width: 90%;
}

.main-article ul > li {
  background-image: url("../img/list_head.png");
  background-position: 0 .6em;
  background-repeat: no-repeat;
  list-style: none;
  margin: 0 0 .2em;
  padding: 0 0 0 1.3em;
}

.mobile-x-scroll {
  overflow-x: auto;
}

.mobile-xy-scroll {
  display: block;
  overflow: auto;
  margin: 1em 0;
  max-height: calc(100vh - 10em);
  width: 100%;
}

pre {
  font-size: 1.15em;
  margin: 1em 2em;
}

/* #Global Transitions */
nav li a,
img {
  transition: all .2s ease-in-out 0s;
}

/* list */
ul {
  padding: 0 0 0 20px;
}

ul li {
  list-style: none;
}

ol {
  padding: 0 0 0 20px;
}

.simple .indent {
  margin-left: 1.5em;
}

dl {
  margin-left: 1%;
}

dl dt {
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: .2em;
}

dl dd {
  margin-bottom: 1em;
  margin-left: 1.5em;
}

/* ========= form ========== */
input,
textarea {
  box-sizing: border-box;
  margin: 1px 2px 1px 1px;
  padding: 2px 3px;
}

button,
input,
select {
  font-size: 100%;
  margin: 0 auto;
  max-width: 100%;
}

textarea:focus {
  background-color: #ffffe6;
  background-image: none;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2), 0 1px 0 0 #fafbfb;
  color: #222;
}

fieldset {
  border: 0;
  display: block;
  margin: 15px 2% 5px;
  padding: 2px 5px;
  width: auto;
}

/*********** table ***********/
caption {
  caption-side: bottom;
  color: #333;
  font-size: smaller;
  margin: 0;
  padding: 0;
  text-align: left;
  width: auto;
}

td,
th {
  padding: .3em .5em;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 1em 0;
}

table[style*="width:80%"], table[style*="width:90%"] {
  margin-left: auto;
  margin-right: auto;
  width: 100% !important;
}

table.decoration-non {
  background: none;
  border: 0;
  text-shadow: none;
}

table.decoration-non th,
table.decoration-non td {
  background: none;
  border: 0;
  text-shadow: none;
}

table.format {
  background-color: #fafafa;
  border: 1px solid #ccc;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
  letter-spacing: normal;
  margin: auto;
  padding: 0;
}

table.format tr.even {
  background-color: #fafafa;
}

table.format td,
table.format th {
  border-collapse: collapse;
  border-left: solid #ccc 1px;
  border-top: solid #ccc 1px;
  padding: .3em .5em;
  vertical-align: top;
}

table.format td {
  box-shadow: 1px 1px 0 0 white inset;
}

table.format th {
  background-color: #d8eec8;
  box-shadow: 1px 1px 0 0 rgba(255, 255, 255, 0.6) inset;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
}

.conceal {
  display: none;
}

@media screen and (max-width: 700px) {
  .nav-link li {
    flex-wrap: wrap;
  }
  table.responsive .conceal {
    display: block;
  }
  table.responsive thead {
    display: none;
  }
  table.responsive tr {
    border-bottom: solid black 4px;
    display: block;
  }
  table.responsive td {
    border-bottom: solid #ccc 1px;
    display: block;
    text-align: center;
  }
  table.responsive td:before {
    content: attr(aria-label);
    float: left;
    font-weight: bold;
  }
}

.nowrap {
  white-space: nowrap;
}

/* ===================
    Theme
   =================== */
#section-tophat {
  background: #468618;
  color: white;
  font-size: .85em;
  min-height: 8px;
  padding: 8px 0;
}

#section-tophat a {
  color: white;
}

#section-tophat .change-fontsize {
  float: right;
}

#section-tophat .util {
  float: right;
  overflow: hidden;
}

.sub-title {
  display: none;
  float: left;
  font-weight: bold;
}

#min-title {
  clear: both;
  display: flex;
  justify-content: space-between;
}

@media only screen and (min-width: 960px) {
  #min-title {
    clear: none;
    display: block;
  }
}

#drop-menu {
  margin: 0;
  padding: 0 .2em;
}

.quick-link {
  float: left;
  margin: 0;
  margin-right: 2em;
  padding: 0;
}

.quick-link a {
  background-position: 0 46%;
  background-repeat: no-repeat;
  display: block;
  height: 14px;
  line-height: 14px;
  padding-left: 14px;
  text-decoration: none;
}

.quick-link a:hover {
  text-decoration: underline;
}

.quick-link li {
  display: inline-block;
  line-height: 1;
  margin-right: 10px;
}

.quick-link .qa a {
  background: url("/common/img/sprite.png") no-repeat top left;
  background-position: 0 -71px;
}

.quick-link .sitemap a {
  background: url("/common/img/sprite.png") no-repeat top left;
  background-position: 0 -142px;
}

.quick-link .top a {
  background: url("/common/img/sprite.png") no-repeat top left;
  background-position: 0 0;
}

.change-fontsize .active {
  border-bottom: 2px solid white;
  cursor: default;
}

.change-fontsize .active:hover {
  text-decoration: none;
}

.change-fontsize span {
  cursor: pointer;
  display: inline-block;
  line-height: 1.1;
  margin: 0 2px;
}

.change-fontsize span:hover {
  text-decoration: underline;
}

.search-site input[type="text"] {
  background: url("/common/img/sprite.png") white no-repeat top left;
  background-position: 3px -285px;
  font-size: .9em;
  max-width: 120px;
  padding-left: 20px;
}

.search-site input[type="submit"] {
  border-radius: 2px;
  font-size: .9em;
  margin-right: 0;
  min-width: inherit;
  padding: 2px 9px;
}

footer .search-site {
  float: none;
  text-align: center;
}

.quick-link,
#section-tophat .search-site {
  display: none;
}

#top-content a {
  color: #111;
}

.whois-search a {
  text-decoration: underline;
}

#top-content a:hover {
  color: #666;
  text-decoration: underline;
}

#footer-container {
  background-color: #f2fdea;
  clear: both;
  margin-top: 30px;
}

#footer-container a {
  color: #333;
  text-decoration: none;
}

#footer-container a:hover {
  text-decoration: underline;
}

#back-to-top {
  font-size: .9em;
  padding: 0 4%;
  position: relative;
  text-align: right;
}

#back-to-top a {
  background-color: #f2fdea;
  border: 2px solid #468618;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
  bottom: -2px;
  color: #333;
  display: inline-block;
  font-size: .9em;
  height: 1.6em;
  padding: .5em 3px;
  position: absolute;
  right: 4%;
  text-align: center;
  text-decoration: underline;
  width: 11em;
}

#header-container {
  background: url("../img/bg_header.png") 60% 0 no-repeat white;
  border-bottom: 5px solid #468618;
  min-height: 50px;
  padding: 5px 0;
  position: relative;
}

#header-container .social-btn {
  margin-left: 10px;
}

#title {
  color: black;
  margin: 5px 0;
  position: relative;
}

aside.logo-banner {
  clear: both;
  display: none;
  margin: 1em 0;
}

.rating-form {
  border: 2px solid #ccc;
  border-radius: 4px;
  margin: 20px -2px 10px;
}

.rating-form form {
  padding: .5em 1%;
  text-align: center;
}

.rating-form form > h3 {
  font-size: 1.2em;
  margin-bottom: .5em;
  margin-top: .5em;
  text-align: center;
}

.rating-form fieldset {
  background-color: #f5f5f5;
  position: relative;
  text-align: left;
}

.rating-form input[type=submit] {
  width: 10em;
}

#breadcrumb {
  float: left;
  font-size: .9em;
  margin-bottom: 8px;
  position: relative;
  width: auto;
}

#breadcrumb a:visited {
  color: #08c;
}

#breadcrumb a:hover {
  color: #64b6ec;
}

#breadcrumb .back-to-site-top {
  background-image: url("../img/breadcrumb_arrow_left.png");
  background-position: 0 50%;
  background-repeat: no-repeat;
  padding-left: 14px;
}

#breadcrumb .separator {
  background: url("../img/breadcrumb_arrow.png") 50% 50% no-repeat;
  display: inline-block;
  height: 0;
  overflow: hidden;
  padding-top: 9px;
  width: 30px;
}

.breadcrumb-list {
  background-color: #f5f5f5;
  border: 2px solid #888;
  border-radius: 3px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.4);
  display: none;
  margin: 0;
  max-width: 350px;
  min-width: 200px;
  padding: 7px 5px;
  position: absolute;
  z-index: 2;
}

.breadcrumb-list a {
  background-image: url("../img/icon_tri_1.png");
  background-position: 5px .5em;
  background-repeat: no-repeat;
  color: #333;
  display: block;
  padding: 1px 2px 1px 15px;
}

.breadcrumb-list a:hover {
  background-color: white;
}

.breadcrumb-list > li > ul {
  margin: 0;
  padding: 0;
}

.breadcrumb-list ul li {
  margin-bottom: 1px;
}

#util {
  float: right;
  margin-bottom: 10px;
  margin-top: 0;
  overflow: hidden;
  position: relative;
  text-align: right;
  width: auto;
}

#print-page-preview-btn {
  display: none;
}

@media only screen and (min-width: 700px) {
  #print-page-preview-btn {
    display: inline-block;
    margin-right: 5px;
    vertical-align: bottom;
  }
}

#print-preview {
  background-color: #eee !important;
  border: 1px solid black;
  display: none;
  font-size: .9em;
  padding: .2em 1em;
  text-align: left;
}

.print-btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.print-btn-wrapper {
  margin: 0;
  text-align: right;
}

.social-btn {
  align-items: center;
  display: none;
  justify-content: flex-end;
  margin-left: 20px;
  max-height: 22px;
  min-width: 150px;
  overflow: hidden;
  position: relative;
}

.social-btn > iframe {
  margin-right: 5px;
}

.social-btn2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin-top: 5px;
}

.social-btn2 > .fb_iframe_widget,
.social-btn2 > iframe {
  margin-right: 5px;
}

.switch_screen {
  margin-right: .5em;
}

.switch_screen a {
  color: black;
  text-decoration: none;
}

.switch_screen .button {
  background-color: #ff6;
  border-radius: 8px;
  padding: .1em .5em;
}

.switch_screen .pc_screen {
  font-size: 8vw;
}

.switch_screen .sp_screen {
  font-size: 5.5vw;
}

#fb-root {
  display: none;
}

.shadow {
  position: relative;
}

.shadow:after, .shadow:before {
  background: transparent;
  bottom: 12px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
  content: " ";
  height: 10px;
  left: 12px;
  position: absolute;
  transform: skew(-5deg) rotate(-5deg);
  width: 40%;
  z-index: -1;
}

.shadow:after {
  left: auto;
  right: 12px;
  transform: skew(5deg) rotate(5deg);
}

.inset-boxline {
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.7) inset;
}

.change-log {
  overflow: hidden;
}

.change-log li {
  clear: both;
}

.change-log li a {
  display: block;
  overflow: hidden;
}

.explanation {
  font-size: .9em;
  margin-left: 1em;
  margin-top: .5em;
}

#top-header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999;
}

/* Search page */
.search-page .main-article {
  float: none;
  overflow: hidden;
  width: 100%;
}

.select-search-result {
  text-align: center;
}

.search-result-box h2 {
  margin: -10px;
}

.search-result-box .inner {
  border: solid #d6d6d6 1px;
  margin: 5px;
  padding: 10px;
}

.search-result-box.bing {
  float: right;
}

.search-result-box .search-engine-sign {
  text-align: right;
}

/*********** search result paging ***********/
.search-result-paging {
  background-color: #f0f0f0;
  border-radius: 2px;
  clear: both;
  margin: 7px 0;
  overflow: hidden;
  padding: .4em 10px;
  text-align: center;
}

.search-result-paging .paging {
  display: inline-block;
  font-family: Arial;
}

.paging a,
.paging span {
  background-color: white;
  border: 1px solid #ccc;
  border-radius: 3px;
  display: inline-block;
  line-height: 1.5;
  margin: .2em .1em;
  padding: .1em .7em;
  text-decoration: none;
}

.paging .current {
  background-color: #f2fdea;
  border-color: #999;
  color: #222;
  cursor: default;
  font-weight: bold;
  text-decoration: none;
}

.paging a:hover {
  background-color: #f2fdea;
  border: 1px solid #999;
}

/* ============ For Legacy contents ========== */
a[name] {
  color: inherit;
  cursor: default;
  text-decoration: none;
}

.qadate {
  margin: auto;
}

h1 + p {
  margin-bottom: auto !important;
  margin-top: auto !important;
}

/* ==============
    MOBILE: Menu
   ============== */
#nav-container h3 {
  font-size: 1.2em;
  font-weight: normal;
  margin: 0 0 .2em;
}

.main-nav {
  background-color: #f8fbf9;
  overflow: hidden;
}

.menu2 .mailing-list-link {
  margin-bottom: -.5em;
  margin-left: 5px;
  margin-top: .5em;
  padding-left: .8em;
  text-indent: -.7em;
}

.contents-page #menu {
  margin-top: 20px;
}

.top-page #menu {
  font-size: .95em;
}

/* ==============
    MOBILE: Main
   ============== */
#main {
  clear: both;
  margin-bottom: 10px;
  margin-top: 5px;
}

body.top-page article h1 {
  display: none;
  font-size: 2em;
}

aside.logo-banner {
  text-align: center;
}

aside.logo-banner img {
  max-width: 100px;
}

#footer-container footer {
  border-top: 2px solid #468618;
  padding: 20px 0 0;
}

#footer-container footer.thin-footer {
  padding: 15px 0 0;
}

#footer-container footer .wrapper {
  overflow: hidden;
  position: relative;
}

#footer-container footer ul {
  font-size: .9em;
  margin: 0;
  overflow: hidden;
  padding: 0;
}

.footer-links h3 {
  margin: 0;
}

footer .links li {
  float: none;
}

#footer2 {
  background-color: #468618;
  color: white;
  margin: 15px 0 0;
  overflow: hidden;
  padding: 5px 2% 0;
  position: relative;
  text-align: center;
  width: auto;
}

footer .cat-menu,
footer .topics-for {
  display: none;
}

footer .footer-links {
  float: none;
  text-align: center;
}

footer .footer-links li {
  display: inline-block;
  float: none;
}

footer .footer-links.misc-1 li,
footer .footer-links.misc-2 li {
  font-size: 1em;
  margin-top: 0;
}

footer .footer-links.misc-2 .g-b-search {
  display: block;
}

footer .grid_5 {
  float: none;
  width: 100%;
}

#footer-container footer .footer-links.misc-1 ul.tab-link {
  font-size: 1.1em;
  font-weight: bold;
  margin-bottom: 2em;
}

footer.thin-footer .misc-1 li,
footer.thin-footer .misc-2 li {
  font-size: .9em;
}

footer.thin-footer .g-b-search {
  display: block;
}

#site-copyright {
  background-image: url("../img/logo_footer.png");
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: 90% auto;
  clear: both;
  font-family: arial;
  font-size: .8em;
  margin-top: 6px;
  padding-top: 40px;
  text-align: center;
}

.ipv6 {
  overflow: hidden;
  position: relative;
  text-align: center;
}

.ipv6 .ipv6-enabled,
.ipv6 img {
  display: inline-block;
}

/* ===============
    ALL: IE Fixes
   =============== */
/* ===== Primary Styles ========================================================
   Author: kanamei corp
   ========================================================================== */
header .util {
  float: right;
  font-size: .9em;
  position: absolute;
  right: 4%;
  text-align: right;
  top: -20px;
}

header .util a {
  color: white;
  text-decoration: none;
}

header .util a:hover {
  text-decoration: underline;
}

header .util .change-lang {
  display: inline;
  margin-right: .5em;
}

header .util .rss {
  display: none;
}

@media only screen and (min-width: 640px) {
  header .util .rss {
    display: inline;
    vertical-align: bottom;
  }
}

#section-tophat .change-fontsize,
header .search-site {
  display: none;
}

#header-container .social-btn {
  display: none;
}

#top-content {
  margin-bottom: 10px;
  overflow: hidden;
  position: relative;
}

.whois-search {
  background-color: #d1ecbe;
  border: 1px solid #d8d8d8;
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.7) inset;
  margin-bottom: 10px;
  margin-top: 5px;
  padding: 1.5% 4%;
}

.whois-search .wrapper {
  padding: 2% 0%;
}

.whois-search label {
  cursor: default;
  display: block;
  font-size: 1.4em;
  font-weight: bold;
  margin: 0 0 .2em;
}

.whois-search input[type='text'] {
  background: url("/common/img/sprite.png") white no-repeat top left;
  background-position: 3px -285px;
  box-sizing: border-box;
  font-size: 1em;
  line-height: 1.2;
  margin-right: 1%;
  max-width: 100%;
  padding-bottom: 1px;
  padding-left: 20px;
  padding-top: 1px;
  width: 100%;
}

.lt-ie9 .whois-search input[type='text'] {
  padding-left: 0;
  text-indent: 30px;
}

.whois-search input[type='submit'] {
  border-radius: 3px;
  box-sizing: border-box;
  font-size: 1.2em;
  margin-bottom: 0;
  min-width: 110px;
  padding: .2em;
  width: 100%;
}

.whois-links {
  text-align: center;
}

.whois-links a {
  display: inline-block;
}

.flex-container {
  margin: auto;
  margin-bottom: 10px;
}

.flex-control-nav {
  clear: both;
  line-height: 1.1;
  margin: 0 auto;
  margin-top: 3px;
  overflow: hidden;
}

.flex-control-nav ul {
  margin: 0;
  overflow: hidden;
  padding: 0;
}

.flex-control-nav img {
  height: auto;
  max-width: 100%;
  width: 100%;
}

.flex-control-nav img:hover {
  cursor: pointer;
}

.flexslider .slides img,
.movie .flexslider .slides img {
  width: 100%;
}

#movie-slide {
  border: 0;
  min-height: 100px;
  overflow: hidden;
  position: relative;
}

#movie-slide img {
  margin-left: 0;
  width: 49%;
}

#main-slide {
  min-height: 150px;
}

.flexslider {
  border: 0;
}

.flex-container .flex-control-nav li {
  float: left;
  width: 24.5%;
}

.flex-direction-nav {
  display: none;
}

.flex-direction-nav li a:hover {
  top: 51%;
}

.flex-control-nav-direction {
  display: none;
}

.flex-control-nav-direction .prev {
  background-color: white;
  background-image: url("../img/icon_tri_1_left.png");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  border: 1px solid #333;
  border-radius: 0;
  display: inline-block;
  height: 15px;
  left: 0;
  margin-top: -14px;
  opacity: .8;
  position: absolute;
  text-align: center;
  text-decoration: none;
  text-indent: -10000px;
  top: 50%;
  vertical-align: middle;
  width: 15px;
}

.flex-control-nav-direction .next {
  background-color: white;
  background-image: url("../img/icon_tri_1.png");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  border: 1px solid #333;
  border-radius: 0;
  display: inline-block;
  height: 15px;
  margin-top: -14px;
  opacity: .8;
  position: absolute;
  right: 0;
  text-align: center;
  text-decoration: none;
  text-indent: -10000px;
  top: 50%;
  vertical-align: middle;
  width: 15px;
}

.movie {
  background-color: #ffc;
  border: 1px solid #ccc;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.7) inset;
  line-height: 1.1;
  margin-bottom: 0;
  padding: 3%;
  position: relative;
}

.movie h3 {
  font-size: 1.1em;
  line-height: 1.3;
  margin-bottom: 0;
  margin-top: 0;
}

.movie .flex-caption {
  font-size: 1.1em;
  left: 50%;
  line-height: 1.2;
  top: 0;
  width: 45%;
}

.movie .play-btn {
  background: url("/common/img/sprite.png") no-repeat top left;
  background-position: 50% -889px;
  display: block;
  height: 34px;
  left: 50%;
  margin: -19px 0 0 -19px;
  opacity: .8;
  position: absolute;
  top: 50%;
  width: 34px;
}

.movie .view-all {
  font-size: .85em;
  margin: 0;
  padding: 0;
  position: absolute;
  right: 5%;
  top: 8px;
}

.movie-title {
  font-size: 81.25%;
  margin: .5em 0 0;
}

.support-members, .main-tabs, #news section {
  position: relative;
}

.support-members {
  background-color: white;
  overflow: hidden;
  text-align: center;
}

.support-members h3 {
  font-size: 1.2em;
  margin: .5em 0;
}

.support-members h3 a {
  color: #333;
  text-decoration: none;
}

.support-members a span {
  display: inline-block;
  text-decoration: underline;
}

.support-members ul {
  margin: 1em auto;
  padding: 0;
  width: 80%;
}

.support-members li {
  float: left;
  list-style: none;
  margin: 0;
  text-align: center;
  width: 33%;
}

.view-all {
  font-size: .9em;
  text-align: right;
}

.view-all a {
  color: #777;
  text-decoration: underline;
}

.view-all a:hover {
  color: #333;
}

.noscript {
  background-color: white;
  color: #f30;
  font-weight: bold;
  margin: 0;
  padding: 3px;
  text-align: center;
}

.link-1 {
  background-image: url("../img/icon_tri_2.png");
  background-position: 0 .4em;
  background-repeat: no-repeat;
  padding-left: .7em;
}

/* tab */
.tabs {
  border-bottom: 2px solid #86ce52;
  clear: both;
  margin-bottom: 0;
  padding: 0 5%;
}

.tabs .separator {
  display: none;
}

.tabs.tabs-3 .tab {
  width: 33.333%;
}

.tabs.tabs-3 .main-top.tab {
  width: 25.333%;
}

.tabs.tabs-3 .ip-member.tab {
  letter-spacing: -.1em;
  width: 41.333%;
}

.tabs:before {
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  width: 0;
}

.tabs:after {
  clear: both;
  content: "\0020";
  display: block;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  width: 0;
}

.tab {
  display: block;
  float: left;
  font-size: .9em;
  margin-bottom: 0;
}

.tab > span {
  background-color: white;
  border: 2px solid #86ce52;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
  display: block;
  margin-left: 1px;
  margin-right: 1px;
  position: relative;
  z-index: 1;
}

.tab.ip-member > span {
  border-color: #ffbb37;
}

.tab.current > span {
  bottom: -2px;
  margin-top: -2px;
}

.tab a {
  background-color: white;
  background: #beec9c;
  background: linear-gradient(to bottom, #beec9c 0%, #86c757 100%);
  border-left: 2px solid white;
  border-radius: 4px 4px 0 0;
  border-right: 2px solid white;
  color: black;
  display: block;
  height: 32px;
  line-height: 34px;
  margin-left: 0;
  margin-right: 0;
  margin-top: 2px;
  min-height: 32px;
  position: relative;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
}

.tab.current a {
  background: #c9e7b3;
  background: linear-gradient(to bottom, #c9e7b3 0%, #8dca60 80%);
  border-top: 2px solid white;
  bottom: -2px;
  color: #222;
  font-weight: bold;
  height: 35px;
  margin-top: -2px;
  padding-top: 1px;
}

.tab a:hover {
  background-color: #f5f5f5;
  text-decoration: underline;
}

.tab.current a:hover {
  background-color: #eee;
  cursor: default;
  text-decoration: none;
}

.top-page.ip-member-page .main-tabs {
  border-color: #ffbb37;
}

.tab.member > span, .top-page.member-page .main-tabs {
  border-color: #41c4ff;
}

.tab-bottom {
  background-image: url("../img/tab-bottom-1.png");
  background: linear-gradient(to bottom, #8dca60 0%, white 100%);
  background-position: 0 0;
  background-repeat: repeat-x;
  border-top: 2px solid white;
  height: 15px;
  margin-left: -1%;
  margin-right: -1%;
}

.tabs .ip-member a {
  background: #ffdd9d;
  background: linear-gradient(to bottom, #ffdd9d 0%, #f5b63e 100%);
}

.tabs .ip-member.current > span a {
  background: #ffde9e;
  background: linear-gradient(to bottom, #ffde9e 0%, #f5bb4d 60%);
}

.tab-bottom.ip-member {
  background: #f5bb4d;
  background: linear-gradient(to bottom, #f5bb4d 0%, white 100%);
}

.tabs .member a {
  background: #88daff;
  background: linear-gradient(to bottom, #88daff 0%, #46b5e7 100%);
}

.tabs .member.current > span a {
  background: #88daff;
  background: linear-gradient(to bottom, #88daff 0%, #45bdf3 60%);
}

.tab-bottom.member {
  background: #45bdf3;
  background: linear-gradient(to bottom, #45bdf3 0%, white 100%);
}

.main-top.tab a:before {
  background: url("/common/img/sprite.png") no-repeat top left;
  background-position: 0 -438px;
  content: " ";
  display: inline-block;
  height: 16px;
  margin-right: 5px;
  vertical-align: middle;
  width: 14px;
}

.main-tabs {
  letter-spacing: 0;
  margin-left: -1%;
  margin-right: -1%;
  padding: 0 1%;
}

.tab-wrapper {
  margin-bottom: 8px;
}

#news section h2 {
  background-color: transparent;
  background-repeat: no-repeat;
  border-bottom: 1px solid #246636;
  font-size: 1.3em;
  margin-bottom: .2em;
  padding: 0 .5em .15em 27px;
}

.blog h2 {
  background: url("/common/img/sprite.png") no-repeat top left;
  background-position: 0 -655px;
}

.info h2,
.icann h2 {
  background: url("/common/img/sprite.png") no-repeat top left;
  background-position: 0 -507px;
}

.event h2 {
  background: url("/common/img/sprite.png") no-repeat top left;
  background-position: 0 -732px;
}

.update h2 {
  background: url("/common/img/sprite.png") no-repeat top left;
  background-position: 0 -655px;
}

.mailmagazine h2 {
  background: url("/common/img/sprite.png") no-repeat top left;
  background-position: 0 -580px;
}

#news {
  clear: both;
  margin: 0;
  overflow: hidden;
  position: relative;
}

#news ul {
  line-height: 1.4;
  list-style: none;
  margin: 0 0 0 8px;
  padding: 0;
  width: auto;
}

#news section li {
  border-bottom: 1px dotted #ccc;
  overflow: hidden;
  padding: .4em 0;
  position: relative;
}

#news section li a {
  display: block;
  overflow: hidden;
}

#news li .cat {
  border-radius: 3px;
  color: white;
  display: inline-block;
  font-family: arial;
  font-size: .8em;
  margin: 0 3px 0 0;
  min-width: 8em;
  padding: 1px .5em;
  position: absolute;
  right: 0;
  text-align: center;
  text-shadow: none;
  top: .75em;
}

#news li .date {
  display: block;
  font-family: arial;
  font-size: 1.1em;
  font-weight: bold;
}

#news li .domain {
  background-color: #91268f;
}

#news li .governance {
  background-color: #c06;
}

#news li .member {
  background-color: #1a75bb;
}

#news li .important {
  background-color: red;
  padding: 1px .4em;
}

#news li .vulnerability {
  background-color: #ffe600;
  color: #666;
  padding: 1px .4em;
}

#news li .ip-member {
  background-color: #fbb03f;
}

#news li .maintenance {
  background-color: #8bc53f;
  padding: 1px .5em;
}

#news .event li {
  background-position: .5em .8em;
  background-repeat: no-repeat;
}

.event .schedule {
  color: #777;
  display: block;
  font-weight: normal;
}

#news section {
  margin-bottom: 2em;
}

#news #event1 li a {
  display: inline;
}

.co-operation {
  background-color: #fff7aa;
  border-radius: 3px;
  padding: 0 1em;
}

.host {
  background-color: #d1f1cc;
  border-radius: 3px;
  padding: 0 1em;
}

.support {
  background-color: #cbe6f3;
  border-radius: 3px;
  padding: 0 1em;
}

.rss-link a {
  background: url("/common/img/sprite.png") no-repeat top left;
  background-position: 0 -210px;
  display: inline-block;
  padding-left: 16px;
}

.mailmagazine .rss {
  background: url("/common/img/sprite.png") no-repeat top left;
  background-position: 0 -979px;
  padding-left: 16px;
}

.mailmagazine .link {
  margin-bottom: 0;
  margin-top: .5em;
  text-align: right;
}

.mailmagazine .link a {
  color: #777;
  margin-left: 2em;
  text-decoration: underline;
}

footer .footer-links {
  margin-left: 1%;
  margin-right: 1%;
  position: relative;
}

footer .footer-links li {
  border-right: 1px solid #5e886a;
  font-size: .9em;
  list-style: none;
  margin: .2em .3em 1em;
  padding: 0 .6em 0 0;
}

footer .misc-1 li,
footer .misc-2 li {
  border-right: 1px solid #5e886a;
  margin: .2em .3em .3em;
  padding: 0 .6em 0 0;
}

footer .misc-1 li:last-child, footer .misc-2 li:last-child {
  border-right: 0;
}

footer .rss-link {
  clear: both;
  margin: 1em 0;
  text-align: center;
}

/* 指定事業者TOP  */
#ip-member-tab-content #news section h2 {
  background-image: url("../img/cd_16x16_2.png");
  background-position: 0 .25em;
  background-repeat: no-repeat;
  border-bottom: 1px solid #fbc064;
  padding-left: 24px;
}

.info-important {
  background-color: #ffd06b;
  border: 1px solid #ffb23c;
  border-radius: 3px;
  padding: 5px;
}

.info-important .view-all a {
  color: white;
}

#ip-member-tab-content #news .info-important h2 {
  background: url("/common/img/sprite.png") no-repeat top left;
  background-position: 0 -1052px;
  border: 0;
  color: #463316;
  font-size: 1.2em;
  margin: 0 .4em .05em;
  padding-left: 24px;
}

#news .info-important ul {
  background-color: #ffffe3;
  border-radius: 3px;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25) inset;
  padding: 5px 10px;
}

#news .info-important li {
  background-image: url("../img/list-head_2.png");
  background-position: 0 1em;
  background-repeat: no-repeat;
  padding-left: 14px;
}

#news .info-important li:last-child {
  border-bottom: 0;
}

.nav-link {
  clear: both;
  margin: 1em 0;
}

.nav-link h3 {
  background-color: #ffebb6;
  background-image: url("../img/cd_16x16_2.png");
  background-position: 10px .7em;
  background-repeat: no-repeat;
  border: 1px solid #f1c35f;
  border-radius: 3px;
  font-size: 1.3em;
  margin-bottom: 0;
  padding: .4em .5em .25em;
  padding-left: 32px;
}

.nav-link ul {
  margin-top: 0;
  overflow: hidden;
  padding: 0;
}

.nav-link li {
  background-color: #f5f5f5;
  border: 1px solid #e6e6e6;
  border-radius: 3px;
  display: flex;
  line-height: 1.3;
  margin: 10px 0;
  overflow: auto;
  padding: 2%;
  position: relative;
}

.nav-link li p {
  align-items: center;
  border: 1px solid #aaa;
  border-radius: 6px;
  display: flex;
  flex-shrink: 0;
  margin: 0 0 .5em;
  position: relative;
  width: 100%;
}

.nav-link li a {
  color: black;
  display: block;
  font-size: 1.2em;
  font-weight: bold;
  margin-left: 2em;
  text-decoration: none;
}

.nav-link li a:hover {
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.4);
  text-decoration: underline;
}

.nav-link small {
  font-size: .9em;
}

.nav-link .nav-ip p {
  background-color: #fcdedd;
  border-color: #ffbaba;
}

.nav-link .nav-as p {
  background-color: #e8d7ff;
  border-color: #d1acff;
}

.nav-link .nav-pi-special p {
  background-color: #ddffbb;
  border-color: #b3e67f;
}

.nav-link .nav-pi-historical p {
  background-color: #bef6ff;
  border-color: #9ae2f2;
}

.nav-link .nav-jpirr p {
  background-color: #fefbbb;
  border-color: #fdf035;
}

.related-links {
  background-color: #f8f8f8;
  border: 1px solid #ccc;
  border-radius: 3px;
}

.related-links h3 {
  background-image: url("../img/cd_16x16_2.png");
  background-position: 0 .2em;
  background-repeat: no-repeat;
  border-bottom: 1px solid #fbc064;
  margin: 10px 15px;
  padding: 0 .5em .25em;
  padding-left: 24px;
}

.related-links ul {
  margin: 0 5px 10px;
  padding: 0;
}

.related-links li {
  background-image: url("../img/icon_tri_1.png");
  background-position: 0 .3em;
  background-repeat: no-repeat;
  line-height: 1.2;
  margin-bottom: .8em;
  margin-left: 16px;
  padding-left: 12px;
}

.related-links li a:link {
  color: #333;
  text-decoration: none;
}

.related-links li a:hover {
  color: #777;
  text-decoration: underline;
}

/* member page  */
#member-tab-content {
  margin: 10px 0;
}

.icon-auth {
  background-image: url("../img/icon_key.png");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  bottom: 2px;
  display: inline-block;
  height: 16px;
  position: relative;
  vertical-align: middle;
  width: 16px;
}

.login-link-area {
  background: #feffff;
  background: -moz-linear-gradient(top, #feffff 36%, #e5e5e5 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(36%, #feffff), color-stop(100%, #e5e5e5));
  background: -webkit-linear-gradient(top, #feffff 36%, #e5e5e5 100%);
  background: -o-linear-gradient(top, #feffff 36%, #e5e5e5 100%);
  background: -ms-linear-gradient(top, #feffff 36%, #e5e5e5 100%);
  background: linear-gradient(to bottom, #feffff 36%, #e5e5e5 100%);
  border: 3px solid #888;
  border-radius: 4px;
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.25);
  overflow: hidden;
  padding: 3%;
  text-align: center;
}

.login h2 {
  margin-bottom: 5px;
  margin-top: 5px;
  text-align: center;
}

.login h2 span {
  white-space: nowrap;
}

.login p {
  margin: .5em;
}

.login .linkto-member-page {
  background: white;
  background: -moz-linear-gradient(top, white 35%, #f2f2f2 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(35%, white), color-stop(100%, #f2f2f2));
  background: -webkit-linear-gradient(top, white 35%, #f2f2f2 100%);
  background: -o-linear-gradient(top, white 35%, #f2f2f2 100%);
  background: -ms-linear-gradient(top, white 35%, #f2f2f2 100%);
  background: linear-gradient(to bottom, white 35%, #f2f2f2 100%);
  border: 1px solid #7f7f7f;
  border-radius: 6px;
  -webkit-box-shadow: 0 1px 1px white,0 -1px 0 #ccc;
  box-shadow: 0 0 0 2px white inset,0 1px 0 white,0 -1px 0 #eee;
  color: black !important;
  display: inline-block;
  font-size: 1.2em;
  font-weight: bold;
  margin: 10px 5px;
  max-width: 320px;
  min-width: 120px;
  padding: 1em 20px;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 0 white;
}

.login .linkto-member-page span {
  background-image: url("../img/icon_arrow_right_round_1.png");
  background-position: 0 49%;
  background-repeat: no-repeat;
  padding: 15px;
  padding-left: 20px;
}

.login .linkto-member-page:hover {
  border-color: #333;
  color: #333 !important;
}

.login .linkto-member-page:active {
  background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#fefefe), to(#ddd));
  background: -moz-linear-gradient(top, #fefefe, #ddd);
  box-shadow: 0 1 0 rgba(255, 255, 255, 0.9), 0 1px 0 rgba(0, 0, 0, 0.2) inset;
  -moz-box-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9), 0 1px 0 rgba(0, 0, 0, 0.2) inset;
}

.member-intro h3 {
  background: #9FDAF1;
  /*border: 1px solid #ccc;*/
  border-radius: 3px;
  overflow: hidden;
  padding: 7px 15px 5px 20px;
  position: relative;
}

.member-intro dl {
  background-color: #e4f6ff;
  border-radius: 3px;
  margin: .8em 0;
  padding: 12px 3%;
}

.member-intro dt {
  background-image: url("../img/icon_arrow_round_gray.png");
  background-position: 0 50%;
  background-repeat: no-repeat;
  border: 0;
  font-size: 1.1em;
  margin-bottom: .2em;
  padding-left: 16px;
}

.member-intro dd {
  margin-bottom: .4em;
  margin-left: 16px;
}

.member-intro a {
  color: #222;
  text-decoration: underline;
}

.login-contact dl {
  line-height: 1.2;
  margin-left: 0;
}

.login-contact dt {
  border: 0;
  clear: left;
  float: left;
  font-size: 1em;
  margin-bottom: .3em;
}

.login-contact dd {
  margin-bottom: .3em;
}

.no-wrap {
  display: inline-block;
}

.pdf,
.pdf-l,
span.pdf,
.span.pdf-l {
  background-image: url("../img/pdficon_small.png");
  background-position: 100% 50%;
  background-repeat: no-repeat;
  display: inline;
  margin-right: 3px;
  min-height: 16px;
  padding-right: 18px;
}

.pdf-l {
  background-image: url("../img/pdficon_large.png");
  line-height: 32px;
  min-height: 32px;
  padding-right: 34px;
}

span.pdf-l {
  background-image: url("../img/pdficon_large.png");
  line-height: 32px;
  min-height: 32px;
  padding-right: 34px;
}

span.pdf, span.pdf-l {
  margin-right: .3em;
  text-indent: -20000px;
}

.middle {
  vertical-align: middle !important;
}

/* ==== simple text page ==== */
.main-article.simple * {
  text-shadow: none;
}

.main-article.simple h1,
.main-article.simple h2,
.main-article.simple h3,
.main-article.simple h4,
.main-article.simple h5,
.main-article.simple h6,
.main-article.simple ul,
.main-article.simple ol,
.main-article.simple ul li,
.main-article.simple ol li {
  background-color: transparent;
  background-image: none;
  border: 0;
}

.main-article.simple dl {
  background-color: transparent;
  background-image: none;
  border: 0;
  margin-left: 1em;
}

.main-article.simple dl dd {
  background-color: transparent;
  background-image: none;
  border: 0;
  margin-left: .5em;
  margin-right: .5em;
}

.main-article.simple h1,
.main-article.simple h2,
.main-article.simple h3,
.main-article.simple h4,
.main-article.simple h5,
.main-article.simple h6 {
  background-color: transparent;
  border: 0;
  border-bottom: 1px solid #468618;
  color: #222;
  padding-bottom: .2em;
  padding-left: 0;
  padding-right: 0;
}

.main-article.simple h1 {
  background-color: #eee;
  border: 0;
  clear: both;
  margin-bottom: 1em;
  padding: .8em;
  text-align: center;
}

.main-article.simple .mutual h1 {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.main-article.simple h4:before,
.main-article.simple h5:before,
.main-article.simple h6:before {
  display: none;
}

.main-article.simple ul,
.main-article.simple ol {
  margin-left: 1em;
  padding-left: 20px;
}

.main-article.simple ul li,
.main-article.simple ol li {
  padding-left: 0;
}

.main-article.simple ul {
  list-style-type: disc;
}

.main-article.simple ul li {
  list-style-type: disc;
}

/* ===== column number ===== */
.column-1 .main-article {
  float: none;
  width: auto;
}

.column-1 #main-container {
  margin-bottom: 25px;
}

/* =============================================================================
   Media Queries
   ========================================================================== */
/* For high pixel-ratio */
@media only screen and (min-resolution: 96dpi), only screen and (-webkit-min-device-pixel-ratio: 1.5) {
  #title a {
    background-image: url("../img/logo@2x.png");
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100% auto;
    display: block;
    height: 48px;
    max-width: 100%;
    width: 445px;
  }
  #title a img {
    display: none;
  }
  #site-copyright {
    background-image: url("../img/logo_footer@2x.png");
  }
}

@media only screen and (min-width: 480px) {
  /* ====================
    INTERMEDIATE: Menu
    ==================== */
  nav a {
    margin: 0;
  }
  nav .main-nav > li > .menu-toggle {
    right: 3%;
  }
  /* ========================
    Main
    ======================== */
  .sub-title {
    display: block;
  }
  #header-container {
    min-height: 70px;
    padding: 0;
  }
  #title {
    float: left;
    left: -5px;
    margin: 0;
    position: relative;
    top: 10px;
    width: 60%;
  }
  header .util {
    margin: 0;
    overflow: hidden;
    position: relative;
    right: auto;
    top: 5px;
    width: 40%;
  }
  .contents-page header .util {
    top: 20px;
  }
  header .util a {
    color: black;
  }
  #header-container .social-btn {
    margin-top: 6px;
  }
  .whois-search label {
    font-size: 1.1em;
    width: auto;
  }
  .whois-search input[type='text'] {
    width: 62%;
  }
  .whois-search input[type='submit'] {
    margin-top: 0;
    width: 35%;
  }
  .quick-link {
    display: block;
    margin-right: 0;
  }
  .main-tabs {
    font-size: 1em;
    margin-top: 5px;
    padding: 0 4.5%;
  }
  .support-members h3 {
    letter-spacing: .1em;
  }
  .tab {
    font-size: 1.15em;
    letter-spacing: 0;
  }
  .tabs.tabs-3 .main-top.tab,
  .tabs.tabs-3 .ip-member.tab {
    width: 33.333%;
  }
  footer .grid_5 {
    float: left;
    width: 46%;
  }
  footer .grid_6 {
    clear: both;
    float: none;
    width: 100%;
  }
  footer .links li {
    float: left;
    width: 44%;
  }
  footer .cat-menu li,
  footer .topics-for li {
    display: block;
    margin: .4em 0;
  }
  #site-copyright {
    background-size: 318px auto;
  }
  .view-all {
    margin: 0;
    padding: 0;
    position: absolute;
    right: 2%;
    top: .4em;
  }
  /* 指定事業者TOP */
  #ip-member-tab-content #news {
    float: none;
    width: auto;
  }
  #ip-member-tab-content #news section {
    float: none;
  }
  .main-article.simple ul,
  .main-article.simple ol {
    margin-left: 1em;
  }
}

@media only screen and (min-width: 700px) {
  #top-content {
    min-height: 215px;
  }
  #main-container {
    word-break: normal;
    word-wrap: normal;
  }
  .mobile-x-scroll {
    overflow-x: visible;
  }
  .keep {
    word-break: keep-all;
  }
  ul,
  ol {
    padding: 0 0 0 40px;
  }
  table ul,
  table ol {
    padding: 0 0 0 25px;
  }
  dl {
    margin-left: 2em;
  }
  dl dd {
    margin-left: 40px;
  }
  blockquote {
    margin: 1em 40px;
  }
  .main-article h3,
  .main-article h4,
  .main-article h5,
  .main-article h6 {
    margin-left: 1em;
  }
  .main-article .photo2 img {
    margin: 10px;
    width: 45%;
  }
  .movie .flex-caption {
    font-size: .8em;
  }
  .select-search-result {
    display: none;
  }
  .search-result-box {
    float: left;
    width: 49.9%;
  }
  .v4v6 {
    display: block;
  }
  /* === simple text page === */
  .main-article.simple ul,
  .main-article.simple ol {
    padding-left: 2em;
  }
  .main-article.simple dl {
    margin-left: 1.5em;
  }
  .main-article.simple dl dd {
    margin-left: 1em;
    margin-right: 1em;
  }
  .main-article.simple .indent {
    margin-left: 3em;
  }
  /* ============
    WIDE: Menu
    ============ */
  #nav-container {
    float: right;
    width: 30%;
  }
  nav .main-nav > li > .menu-toggle {
    right: 3%;
  }
  .contents-page #menu {
    float: none;
    width: auto;
  }
  /* ============
    WIDE: Main
    ============ */
  #section-tophat {
    padding: 6px 0;
  }
  #header-container {
    background-position: 100% 0;
  }
  #header-container .social-btn {
    display: flex;
    margin-top: 2px;
  }
  #title {
    width: 51%;
  }
  .quick-link {
    display: block;
    margin-right: 1.5em;
  }
  header .util {
    display: inline-table;
    line-height: 100%;
    overflow: hidden;
    top: 12px;
    width: 49%;
  }
  .contents-page header .util {
    top: 20px;
  }
  #section-tophat .change-fontsize {
    display: block;
  }
  header .search-site {
    align-items: center;
    display: flex;
    justify-content: flex-end;
  }
  #section-tophat .util {
    overflow: hidden;
    text-align: right;
  }
  .whois-search {
    margin-top: 0;
  }
  .whois-search form {
    text-align: center;
    width: 100%;
  }
  .whois-search label {
    text-align: left;
  }
  .whois-search input[type='text'] {
    float: left;
    width: 69%;
  }
  .whois-search input[type='submit'] {
    font-size: 82%;
    min-width: 24%;
    padding: 3px 2px;
    width: 24%;
  }
  .whois-links {
    clear: both;
    font-size: .85em;
    line-height: 1.8em;
    margin: 0;
    margin-top: 2px;
    padding: 0;
  }
  .flex-container {
    float: right;
    margin-bottom: 0;
    width: 63%;
  }
  .flex-container .flex-control-nav li {
    overflow: hidden;
    vertical-align: top;
  }
  #main-slide {
    min-height: 215px;
  }
  .left-wrapper {
    float: left;
    width: 35%;
  }
  #movie-slide {
    background-color: #d6d6d6;
    border: 1px solid #ccc;
    margin: 0% 10%;
    padding: 0;
  }
  .support-members {
    clear: both;
    margin-bottom: 1em;
    padding-top: .5em;
  }
  .support-members h3 {
    margin-top: 5px;
  }
  .main-tabs {
    padding: 0 9%;
  }
  .tab {
    font-size: 1.3em;
  }
  .tab.main-top {
    font-size: 1.4em;
  }
  .tabs.tabs-3 .ip-member.tab {
    letter-spacing: 0;
  }
  #news {
    float: left;
    width: 67%;
  }
  #news li .date {
    display: inline-block;
    float: left;
    margin-right: 1em;
  }
  #ip-member-tab-content #news li .date {
    display: block;
    float: none;
  }
  #news li .cat {
    float: right;
    line-height: 1.4;
    margin-left: 1.5em;
    position: relative;
    right: 0;
    top: 0;
  }
  #news section {
    background-image: none;
  }
  #news section h2 {
    background-color: transparent;
    margin-top: 0;
    padding-left: 22px;
  }
  #news section li {
    border-color: #ddd;
  }
  .view-all {
    right: 0;
  }
  aside.logo-banner {
    display: block;
  }
  footer .footer-links {
    float: left;
    text-align: left;
    width: 22.9%;
  }
  footer .footer-links li {
    border: 0;
    display: block;
    float: none;
  }
  footer ul {
    font-size: .9em;
    padding: 0;
  }
  footer .cat-menu,
  footer .topics-for {
    display: block;
  }
  footer .rss-link,
  footer .search-site {
    margin: 2em 0 1em;
    text-align: left;
  }
  footer.thin-footer .rss-link,
  footer.thin-footer .search-site {
    margin: 0;
  }
  footer.thin-footer .footer-links {
    float: none;
    width: auto;
  }
  footer.thin-footer .misc-1 li {
    border-right: 1px solid #5e886a;
    margin: .2em .3em .3em;
    padding: 0 .6em 0 0;
  }
  footer.thin-footer .misc-2 li {
    border-right: 1px solid #5e886a;
    margin: .2em .3em .3em;
    padding: 0 .6em 0 0;
  }
  footer.thin-footer .misc-2 ul {
    float: left;
  }
  footer.thin-footer .rss-link {
    display: inline-block;
    float: left;
    margin-right: 1em;
  }
  footer.thin-footer .search-site {
    display: inline-block;
    float: left;
  }
  footer.thin-footer .search-site input[type="submit"] {
    margin: 0;
  }
  footer.thin-footer .util {
    display: flex;
    float: right;
    text-align: right;
  }
  .ipv6 {
    position: absolute;
    right: 4%;
    top: 8px;
    width: 64px;
  }
  #footer2 {
    text-align: left;
  }
  #site-copyright {
    background-position: 0% 0;
    text-align: left;
  }
  /* 指定事業者TOP */
  #ip-member-tab-content #news section {
    float: left;
    margin-bottom: 1.2em;
  }
  #ip-member-tab-content #news section h2 {
    padding-left: 24px;
  }
  #ip-member-tab-content #news section.info-important .view-all {
    right: 2%;
    top: .9em;
  }
  .nav-link li {
    margin: 5px 0;
    padding: 7px 1.5%;
  }
  #ip-member-tab-content #news li a {
    display: block;
    overflow: hidden;
  }
  #ip-member-tab-content #news section {
    margin: 0 2% 1em 0;
    width: 58%;
  }
  #ip-member-tab-content #news #middle-right {
    float: right;
    margin-right: 0;
    padding: .7%;
    top: 3px;
    width: 38%;
  }
  #ip-member-tab-content #news section.info-important {
    width: 96%;
  }
  #ip-member-tab-content .nav-link {
    float: left;
    margin-bottom: 0;
    margin-top: 0;
    width: 70%;
  }
  #ip-member-tab-content .nav-link ul {
    margin-top: 0;
  }
  #ip-member-tab-content .related-links {
    float: right;
    margin-top: 1.1em;
    width: 28%;
  }
  .nav-link li p {
    height: 3em;
    margin-bottom: 0;
    margin-right: 1em;
    max-width: 50%;
    width: 18em;
  }
  #member-tab-content article {
    overflow: hidden;
  }
  .login,
  .member-intro {
    margin: 0;
  }
  .login {
    float: right;
    width: 49%;
  }
  .member-intro {
    float: left;
    margin-right: 2%;
    width: 48%;
  }
  .member-intro h3 {
    margin-bottom: .5em;
    margin-top: 0;
  }
  .member-intro h3 + p {
    margin-top: 0;
  }
  /* contents-page */
  .contents-page header #title {
    width: 60%;
  }
  .contents-page header .util {
    width: 39%;
  }
  .thin-footer .footer-links li,
  .change-log li span {
    float: left;
  }
}

@media only screen and (min-width: 868px) {
  #footer-container {
    margin-top: 20px;
  }
  #section-tophat .search-site {
    display: block;
    min-width: 185px;
  }
  .whois-search label {
    margin-bottom: 0;
  }
  .flex-container {
    float: right;
    margin-right: 24%;
    width: 49%;
  }
  .left-wrapper {
    float: left;
    margin-right: -22%;
    width: 25%;
  }
  .support-members {
    border: 2px solid #ccc;
    border-radius: 2px;
    box-shadow: 0 0 10px #ddd inset;
    clear: none;
    line-height: 1.5;
    min-height: 200px;
    padding: 10px 1%;
    position: absolute;
    right: 0%;
    width: 19.5%;
  }
  .support-members ul {
    margin: 0 auto;
  }
  .support-members ul li {
    float: none;
    margin: 8px 0;
    width: 100%;
  }
  .support-members h3 {
    font-size: 1em;
    letter-spacing: normal;
  }
  nav li a {
    padding: .4em 12px;
  }
  nav .sub-nav a {
    background-position: 1em .4em;
    padding-bottom: .2em;
    padding-top: .2em;
  }
  nav .sub-nav .menu-toggle {
    background-position: 1em .4em;
  }
  nav .main-nav > li > .menu-toggle {
    height: 18px;
    margin-top: -10px;
    right: 3%;
    top: 1.2em;
    width: 25px;
  }
  .column-1 #menu {
    float: right;
    margin-left: 2%;
    margin-top: 0;
    width: 30%;
  }
  .column-1 .rating-form {
    float: left;
    margin: 0 -2px;
    width: 68%;
  }
  .v4v6 {
    font-size: .8em;
  }
}

@media only screen and (min-width: 960px) {
  header .util {
    top: 10px;
  }
  .support-members ul li {
    margin: 12px 0;
  }
  #main-slide {
    min-height: 230px;
  }
  .main-tabs {
    padding: 0 14%;
  }
  #news {
    width: 77.9%;
  }
  #news li a {
    clear: both;
    display: block;
    text-decoration: none;
  }
  #news li a:link {
    color: #333;
  }
  #news li a:hover {
    text-decoration: underline;
  }
  #news section {
    margin: 0 3% 1.5em 0;
    overflow: hidden;
    width: 46.9%;
  }
  #news section.info {
    float: left;
  }
  #news section.mailmagazine, #news section.update {
    float: right;
  }
  #news section.event {
    clear: right;
    float: right;
  }
  #news section.icann {
    clear: left;
    float: left;
  }
  #ip-member-tab-content #news {
    border-bottom: 1px solid #ccc;
    padding-bottom: .5em;
  }
  #ip-member-tab-content #news li a {
    clear: none;
  }
  #nav-container {
    width: 22%;
  }
  nav .main-nav li a {
    font-size: 1em;
  }
  nav .main-nav > li > a {
    padding-right: 32px;
  }
  .main-article {
    float: left;
    width: 76%;
  }
  .rating-form {
    float: left;
    width: 76%;
  }
  .rating-form fieldset fieldset:first-child {
    float: left;
    width: 40%;
  }
  .rating-form fieldset fieldset:first-child + fieldset {
    float: right;
    width: 48%;
  }
  .contents-page #menu {
    float: right;
    font-size: .95em;
    margin-bottom: 10px;
    margin-top: 0;
    width: 22%;
  }
  .column-1 #menu {
    width: 30%;
  }
  .v4v6 {
    font-size: .85em;
  }
}

@media only screen and (min-width: 1140px) {
  /* ===============
    Maximal Width
    =============== */
  .wrapper {
    margin: 0 4%;
    width: 92%;
  }
  .main-tabs,
  .tab-bottom {
    margin-left: -2%;
    margin-right: -2%;
  }
  #news li a {
    clear: none;
    overflow: hidden;
  }
  #top-content {
    margin: auto;
    width: 1020px;
  }
  #footer2 {
    padding-left: 4%;
    padding-right: 4%;
  }
  footer.thin-footer .misc-1 {
    float: left;
    margin-right: 0;
  }
  .v4v6 {
    font-size: .9em;
  }
}

/* hide elements */
@media only screen and (max-width: 699px) {
  .top-page.member-page .flex-container,
  .top-page.member-page .left-wrapper {
    display: none;
  }
  .top-page.ip-member-page #top-content {
    margin-bottom: 0;
  }
}

/* no js */
.no-js .change-fontsize,
.no-js #print-page-preview-btn {
  display: none !important;
}

html.no-js nav .sub-nav {
  display: block;
}

/* =============================================================================
   Non-Semantic Helper Classes
   ========================================================================== */
.clearfix:before {
  content: "";
  display: table;
}

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

.ext::after {
  content: url("/common/img/external-link-orange-dark03-Shapes4FREE.png");
  padding-left: .5em;
}

.external::after {
  content: url("/common/img/external-link-orange-dark03-Shapes4FREE.png");
  padding-left: .5em;
}

.hidden,
.hide {
  display: none !important;
  visibility: hidden;
}

/* YouTube用ラッパ */
.iframe-wrapper {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}

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

.invisible {
  visibility: hidden;
}

.ir {
  background-color: transparent;
  background-repeat: no-repeat;
  border: 0;
  direction: ltr;
  display: block;
  overflow: hidden;
  text-align: left;
  text-indent: -999em;
}

.ir br {
  display: none;
}

.visuallyhidden {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

/* googleカスタム検索用 */
.gsc-control-searchbox-only * {
  box-sizing: content-box;
}

.gsc-control-searchbox-only * table {
  margin: auto;
}

.gsc-control-searchbox-only * table td {
  padding: 0;
}

.gsc-input {
  line-height: 1;
}

.gsc-input input[type="text"] {
  font-size: 160%;
}

/* 報告会プログラム用 */
.icann-report td {
  padding: 0;
}
