@charset "UTF-8";
/* CSS Document */

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, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr,
th, td                 { margin:0; padding:0; border:0; outline:0; font-weight: normal; vertical-align: bottom; background:transparent; color: #251E1C; font-size: 18px; line-height: 1.8; }
body                   { font-size: 18px; margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; background-color: #FFF; background-repeat:repeat-x; background-position: top center; background-attachment: fixed; word-wrap: break-word; }
html,body              { overflow-x: hidden;}
img                    { vertical-align:top; border: none; }
/*IE6*/
* html img             { vertical-align: bottom; }
/*IE7*/
*:first-child+html img { vertical-align: bottom; }
blockquote, dd, div, dl, dt, fieldset, form, h1, h2, h3,h4, h5, h6, input, li, ol, p, pre, select, span, textarea,
td, th, ul             { margin:0; padding:0; }
abbr, acronym          { border:0; }
address, caption, cite, code, dfn, em, th, 
strong, var            { font-style:normal; font-weight:normal; }
caption, th            { text-align:left; }
h1, h2, h3, h4, h5, h6 { font-size:100%;/*13px*/ font-weight:normal; }
input, select,
textarea               { font-size:1em;/*13px*/ }
ol, ul, li             { list-style:none; }
table                  { border-collapse:collapse; border-spacing:0; font-size:1em;/*13px*/ }
th, td                 { vertical-align: top; padding: 0.5em 1.5em; }
hr                     { display: none;}
strong, em             { font-weight: bold; }

/* ----- form -------*/
button, fieldset, form, input, label, legend, 
select, textarea       { font-size:1em;  /*13px*/ font-style:inherit; font-weight:inherit; margin:0; padding:0; vertical-align:baseline; }
input, textarea        { vertical-align: middle; padding: 1px; }
textarea               { width: 98%; }

p                      { margin-bottom: 1em; }

input[type="radio"], 
input[type="checkbox"] { vertical-align: baseline; margin-right: 3px; }

a,
p a ,
li a ,
a img,
a .fa                  { -webkit-transition-property: all; -moz-transition-property: all; -o-transition-property: all; transition-property: all; -webkit-transition-duration: 0.5s; -moz-transition-duration: 0.5s; -o-transition-duration: 0.5s; transition-duration: 0.5s; -webkit-transition-timing-function: ease-in-out; -moz-transition-timing-function: ease-in-out; -o-transition-timing-function: ease-in-out; transition-timing-function: ease-in-out; }


/*----- links color -----*/
a:link                 { color: #251E1C; text-decoration:none; }
a:visited              { color: #251E1C; text-decoration:none; }
a:hover                { color: #0066FF; filter: alpha(opacity=70);	-moz-opacity:0.7; opacity:0.7; }

a:hover img            { filter: alpha(opacity=100); -moz-opacity:1; opacity:1; }

/*a[target=_blank]::after { font-family: 'Material Icons'; content: " \e14d"; color: #1675ad; }
*/
.dropdwn_menu a[target=_blank]::after,
.hpLink a[target=_blank]::after { font-family: 'Material Icons'; content: " \e14d"; color: #FFF!important;}

.clear                 { clear: both; }

/* Clearfix */  
.clearfix:after        { content: "."; display: block; height: 0; clear: both; visibility: hidden; }  
.clearfix              { display: inline-block; min-height: 1%; }  


.right {
    text-align: right;
}
.left {
    text-align: left;
}
.center {
    text-align: center;
}

.flex {
    display: flex;
    justify-content: space-between;
}
.mb3em {
    margin-bottom: 3em;
}

/* Alignments */
.alignleft {
  /*rtl:ignore*/
  float: left;
  /*rtl:ignore*/
  margin-right: 1rem; }
  @media only screen and (min-width: 768px) {
    .alignleft {
      /*rtl:ignore*/
      margin-right: calc(2 * 1rem); } }

.alignright {
  /*rtl:ignore*/
  float: right;
  /*rtl:ignore*/
  margin-left: 1rem; }
  @media only screen and (min-width: 768px) {
    .alignright {
      /*rtl:ignore*/
      margin-left: calc(2 * 1rem); } }

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto; }

.headline2                { margin-bottom: 80px; letter-spacing: 0.01em; background: #e9f0e2;}

.headline3                { margin-bottom: 40px; letter-spacing: 0.01em; background: rgba(255,255,255,0.8); }

.headline2 h2,
.headline3 h2 {font-family: 'EB Garamond', serif; font-size: 320%; font-weight: 400; line-height: 1; text-align: left; color: #007072!important; width: 1200px; margin: auto; position: relative; padding-bottom: 0.18em; }

.headline2 h2 span.sub-jp,
.headline3 h2 span.sub-jp    { font-size: 28%; color: #007072!important; }

.headline2 h2 .uName         { position: absolute; top: 0; right: 0; }



h2                { font-size: 389%; font-weight: 400; line-height: 0.6; line-height: 1; text-align: left; margin-bottom: 40px; letter-spacing: 0.01em; color: #005789; }
h2 span.sub-jp    { font-size: 28%; color: #005789; }

#page-top                     { position: fixed; bottom: 80px; right: 1em; margin: 0; padding: 0; z-index: 60; text-align: right; }
#page-top a img               { width: 50px; height: auto; }


footer article,
section article        { position: relative; width: 1200px; margin: auto; z-index: 10; margin-bottom: 0em; }
article                { width: 1200px; margin: auto; }


figure img                  { width: 100%; height: auto; }


/************
トップページ
************/
main                        { padding: 0px; height: 805px; position: relative; }
/*#home main .mv              { background: url("img/mainVisual.png") 10% 50%;*/
#home main .mv              { background: url("img/mainVisual.png") 40% top;
background-repeat: no-repeat; background-size: cover;
height: 805px; }
/*#home main .logo            { padding: 35px 3.4%; max-width: 390px; }*/
#home main .logo            { padding: 35px 3.4%; width: 64vmin; }

/*main .mv .catch             { position: absolute; top: 25%; right: -68%; margin: auto; transform: translateX(-25%) translateY(-25%); width: 100%; }*/
/*main .mv .catch             { position: absolute; top: 258px; left: 118px; width: 432px; height: auto; }*/
main .mv .catch             { position: absolute; padding: 0 118px; top: 230px; width: 55vmin; }
main .mv .catch img         { max-height: 446px; }
/*main .mv h1                 { font-family: 'Roboto', sans-serif; font-size: 6.8vw; text-shadow: 2px 5px 8px rgb(0 0 0 / 50%); color: #FFF; line-height: 1; margin-bottom: 0; letter-spacing: -0.025em; }*/
/*main .mv h1                 { font-family: 'Roboto', sans-serif; font-size: 4.8vw; text-shadow:0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832; color: #FFF; line-height: 1.2; margin-bottom: 0; letter-spacing: -0.025em; }*/
main .mv .title             { position: absolute; top: 0; right: 0; }
main .mv h1                 { font-family: 'Roboto', sans-serif; font-size: 10px; color: #003172 }

main nav                    { background: rgba(0,112,114,0.85); color: #FFF; text-align: left; position: absolute; bottom: 0px; width: 100%; z-index: 20; }
main nav.pc ul              { display: flex; justify-content: center; }

/*PC グローバルナビ*/
/*下の階層のulや矢印の基点にするためliにrelativeを指定*/
nav ul li                   { position: relative; }
main nav.pc ul ul           { display: block; }
/*ナビゲーションのリンク設定*/
nav.pc ul li a              { display: block; text-decoration: none; color: #fff !important; font-size: 80%; padding: 1em 1.55em 1em 1.2em; box-sizing: border-box; transition:all .3s; }
nav.pc ul li a:before { content: "|"; position: absolute; right: 0px; color: #FFF; }
nav.pc ul li:last-child a:before { content: ""; }
nav ul li li a              { padding:1em 1.5em!important; }
nav ul li a:hover           { color:#fff !important; }
/*==矢印の設定*/
/*2階層目を持つliの矢印の設定*/
nav ul li.has-child::before { content: url(img/icon-key.svg); position: absolute; left: 4px; top: 10px; width: 10px; height: auto; color: #FFF; }

/*下の階層を持っているulの指定*/
nav li.has-child ul         { /*絶対配置で位置を指定*/ position: absolute; left:-1px; top:55px; z-index: 80; /*形状を指定*/ background: rgba(9,84,85,0.9); width:220px; /*はじめは非表示*/ visibility: hidden; opacity: 0; /*アニメーション設定*/ transition: all .3s; }
/*hoverしたら表示*/
nav li.has-child:hover > ul,
nav li.has-child ul li:hover > ul,
nav li.has-child:active > ul,
nav li.has-child ul li:active > ul{ visibility: visible; opacity: 1; }
/*ナビゲーションaタグの形状*/
nav li.has-child ul li a    { color: #fff; border-bottom:solid 1px rgba(255,255,255,0.6); }
nav li.has-child ul li a:before { content: " "!important; }
nav li.has-child ul li:last-child a{ border-bottom:none; }
nav li.has-child ul li a:hover,
nav li.has-child ul li a:active{ background:#3577CA; }
/*グローバルナビ　上に固定*/
.global-nav-fixed           { position:fixed; top:0; left:0; width: 100%; z-index: 20; animation:fade-in 0.5s; height: 54.7px; }


/*.mvUnder { background: url(img/deco_line3.png) repeat-x top; height: 121px;}
*/
.lineThree                          { background: #FFF url("img/deco_line3.png") repeat-x bottom; height: 121px; }

/*section.sec1                                     { padding: 350px 0 0px; background: url("img/s2.jpg") no-repeat 50% 50%; background-size: cover; height: auto; background-attachment: fixed; }*/
section.sec1                                     { padding: 0px; }
section.sec1 .sec1b          { width: 100%;}

section.sec1 .content                            { background: #FFF; padding: 80px 0 0;}
section.sec1 .content article.postNews           { display: flex; margin-bottom: 80px; }
section.sec1 .content article.postNews dt .new   { color: #FF0000; font-size: 96%;  border: solid 1px #F00; padding: 2px 5px; }


section.sec1 .content article.bulletinBoard      { padding-top: 80px; }
section.sec1 .content .postBulletinBoard         { margin-top: -40px; display: flex; }
section.sec1 .content article .left-column       { width: 21.6%; }
section.sec1 .content article .content-column    { width: 78.14%; }
section.sec1 .content article .content-column dl { border-top: solid 1px #949494; padding: 28px 80px; }
section.sec1 .content article .content-column dl:last-child { border-bottom: solid 1px #949494; }
section.sec1 .content article .content-column dt,
section.sec1 .content article .content-column dd { color: #005789; }

section.sec1 .content article .content-column p.bknum { border-top: solid 1px #949494; padding: 0; text-align: right; }
section.sec1 .content article .content-column p.bknum::before { content: url("img/icon-linkPlay.svg"); position: absolute; right: 7em; width: 16px; height: auto; }

/* 原子力産業情報 */
.lineOne                                              { background: #FFF url("img/deco_line3.png") repeat-x bottom; height: 40px; margin-bottom: 3em; }
section.sec1 .content article.gensanNews              { padding-bottom: 80px; width: 50%; margin: auto; }
section.sec1 .content article.gensanNews h2           { font-size: 180%; color: #007072; text-align: center; border-bottom: solid 1px #007072; line-height: 1.2em; }
section.sec1 .content article.gensanNews dt           { margin-bottom: 1em;}
section.sec1 .content article.gensanNews dt a         { font-size: 120%; line-height: 1;  }
section.sec1 .content article.gensanNews dt a::before { content: ""; display: inline-block; vertical-align: top; width: 20px; height: 20px; background: url("img/icon-linkPlay.svg") no-repeat; background-size: contain; margin-right: 0.5em; }
section.sec1 .content article.gensanNews dt a::after  { content: ""; display: inline-block; vertical-align: top; width: 15px; height: 15px; background: url("img/icon-link.svg") no-repeat; background-size: contain; margin-left: 0.5em; }
section.sec1 .content article.gensanNews dd           { margin-left: 1.6em; margin-bottom: 2em;}


section.sec2                 { background: #007072; height: 620px; }
section.sec2 .sec2b          { width: 100%; background: url("img/s2.jpg") no-repeat 50% 50%; background-size: cover; height: 574px; background-attachment: fixed; }


section.sec2 article h2      { color: #FFF;  padding-top:80px;}
section.sec2 article h2 span { color: #FFF;}

section.sec2 article .categoryArea       { margin-bottom: 50px; }
section.sec2 article .categoryArea h3    { font-size: 166%; text-align: right; color: #FFF; line-height: 1; transform: rotate(-90deg); }
section.sec2 article .categoryArea ul    { display: flex; width: 100%; margin:auto; z-index: 5; }
section.sec2 article .categoryArea ul li { width: 120px; text-align: center; height: 128px; padding: 15px 6px 0; box-sizing: border-box; }

section.sec2 article .categoryArea ul li { width: calc( 100% / 10 ); position: relative;}
section.sec2 article .categoryArea ul li a { position: absolute; width: 100%; height: 100%; top: 0; left: 0; text-indent: -99999px; }
section.sec2 article .categoryArea ul li a:hover {opacity: 0.4; filter: alpha(opacity=40); -ms-filter: "alpha( opacity=40 )"; background: #007072; }


section.sec2 article .categoryArea ul li.catg01:before,
section.sec2 article .categoryArea ul li.catg02:before,
section.sec2 article .categoryArea ul li.catg03:before,
section.sec2 article .categoryArea ul li.catg04:before,
section.sec2 article .categoryArea ul li.catg05:before,
section.sec2 article .categoryArea ul li.catg06:before,
section.sec2 article .categoryArea ul li.catg07:before,
section.sec2 article .categoryArea ul li.catg08:before,
section.sec2 article .categoryArea ul li.catg09:before,
section.sec2 article .categoryArea ul li.catg10:before { height: 0; display: block; position: absolute; left: 0px; content: ""; border-top:solid 20px #007072; border-right: solid 30px transparent; top: -2px; z-index: 2; }
section.sec2 article .categoryArea ul li.catg01 { background: #DD5434; position: relative;}

section.sec2 article .categoryArea ul li.catg01:after,
section.sec2 article .categoryArea ul li.catg02:after,
section.sec2 article .categoryArea ul li.catg03:after,
section.sec2 article .categoryArea ul li.catg04:after,
section.sec2 article .categoryArea ul li.catg05:after,
section.sec2 article .categoryArea ul li.catg06:after,
section.sec2 article .categoryArea ul li.catg07:after,
section.sec2 article .categoryArea ul li.catg08:after,
section.sec2 article .categoryArea ul li.catg09:after,
section.sec2 article .categoryArea ul li.catg10:after  { display: block; position: absolute; left: 0px; content: ""; border-top: solid 12px rgba(0,0,0, 0.25); border-right: solid 33px transparent; top: 8px; z-index: 2; transform: rotate(-34deg);   }

section.sec2 article .categoryArea ul li.catg02 { background: #EEAA3D; position: relative; }
section.sec2 article .categoryArea ul li.catg03 { background: #FDD000; position: relative; }
section.sec2 article .categoryArea ul li.catg04 { background: #A4C857; position: relative; }
section.sec2 article .categoryArea ul li.catg05 { background: #11A6A3; position: relative; }
section.sec2 article .categoryArea ul li.catg06 { background: #2AA5DC; position: relative; }
section.sec2 article .categoryArea ul li.catg07 { background: #1F79B9; position: relative; }
section.sec2 article .categoryArea ul li.catg08 { background: #4B4290; position: relative; }
section.sec2 article .categoryArea ul li.catg09 { background: #9E498F; position: relative; }
section.sec2 article .categoryArea ul li.catg10 { background: #DC5367; position: relative; }

section.sec2 article .categoryArea ul li dd     { color: #FFF; font-size: 70%; margin-top: 1em; line-height: 1.1; }

section.sec2 article .freeWordArea       { display: flex; margin: 95px 0; }
section.sec2 article .freeWordArea h3    { font-size: 125%; text-align: center; color: #FFF; line-height: 1; transform: rotate(-90deg); margin-left: -30px; }

section.sec2 article .freeWordArea .freeWordSearch { display: flex; justify-content: space-between; }
section.sec2 article .freeWordArea input.freeWord { width: 1018px; border: none; padding: 0.5em 1em; box-sizing: border-box; }
section.sec2 article .freeWordArea input[type="submit"] { padding: 0 3em; border: none; background: #31426a; color: #FFF; height: 39px; cursor: pointer;}

.searchFrame               { position: relative; display: inline-block; width: 100%; }
.searchFrame .clearButton  { width: 16px; height: 16px; position: absolute; right: 8px; top: 50%; background: url(img/icon-clear.svg) no-repeat left center; cursor: pointer; visibility:hidden; transform: translate(0, -50%); -webkit-transform: translate(0, -50%); -ms-transform: translate(0, -50%); }



section.sec3-1 { margin-top: 0px; }

/*section.sec3-1 { margin-top: 250px; }*/
section.sec3-1 .sec3b                { width: 100%;  background: url("img/s3-1b.jpg") no-repeat 50% 50%; background-size: cover; background-attachment: fixed; padding-top: 350px; padding-top: 150px; }

/*section.sec3-1 .sec3b                { width: 100%;  background: url("img/s3-1b.jpg") no-repeat 50% 50%; background-size: cover; background-attachment: fixed; }*/
section.sec3-1 .sec3b h2,
section.sec3-2 .sec3b h2             { padding-top: 0px; color: #FFF; }
section.sec3-1 .sec3b h2 span,
section.sec3-2 .sec3b h2 span        { color: #FFF; }
section.sec3-1 .sec3b h3,
section.sec3-2 .sec3b h3             { padding: 14px 0 14px 60px; color: #FFF; line-height: 1; font-size: 155.6%; margin-bottom: 25px; }


section.sec3-1 .sec3b h3#catg01      { background: #DD5434; background-image: url("img/category_logo_01.png"); background-repeat: no-repeat; background-position: 10px 50%; background-size: 3%; position: relative; }



section.sec3-1 .sec3b h3#catg02      { background: #EEAA3D; background-image: url("img/category_logo_02.png"); background-repeat: no-repeat; background-position: 10px 50%; background-size: 3%; }
section.sec3-1 .sec3b h3#catg03      { background: #FDD000; background-image: url("img/category_logo_03.png"); background-repeat: no-repeat; background-position: 10px 50%; background-size: 3%; }
section.sec3-1 .sec3b h3#catg04      { background: #A4C857; background-image: url("img/category_logo_04.png"); background-repeat: no-repeat; background-position: 10px 50%; background-size: 3%; }
section.sec3-1 .sec3b h3#catg05      { background: #11A6A3; background-image: url("img/category_logo_05.png"); background-repeat: no-repeat; background-position: 10px 50%; background-size: 3%; }
section.sec3-1 .sec3b h3#catg06      { background: #2AA5DC; background-image: url("img/category_logo_06.png"); background-repeat: no-repeat; background-position: 10px 50%; background-size: 3%; }
section.sec3-1 .sec3b h3#catg07      { background: #1F79B9; background-image: url("img/category_logo_07.png"); background-repeat: no-repeat; background-position: 10px 50%; background-size: 3%; }

section.sec3-2 .sec3b                { width: 100%;  background: url("img/s3-2b.jpg") no-repeat; background-position: bottom; background-size: cover; background-attachment: fixed; }
section.sec3-2 .sec3b h3#catg08      { background: #4B4290; background-image: url("img/category_logo_08.png"); background-repeat: no-repeat; background-position: 10px 50%; background-size: 3%; }
section.sec3-2 .sec3b h3#catg09      { background: #9E498F; background-image: url("img/category_logo_09.png"); background-repeat: no-repeat; background-position: 10px 50%; background-size: 3%; }
section.sec3-2 .sec3b h3#catg10      { background: #DC5367; background-image: url("img/category_logo_10.png"); background-repeat: no-repeat; background-position: 10px 50%; background-size: 3%; }

section.sec3-1 .sec3b .members,
section.sec3-2 .sec3b .members       { display: flex; flex-wrap: wrap; gap: 10px; padding-bottom: 80px; width: 100%; }
section.sec3-1 .sec3b .members li,
section.sec3-2 .sec3b .members li    { width: calc( (100% - 30px) / 4 ); background: #FFF; text-align: center; /*border: solid 1px #757575;*/ box-sizing: border-box; margin-bottom: 15px; position: relative;}
section.sec3-1 .sec3b .members li a,
section.sec3-2 .sec3b .members li a  { position: absolute; width: 100%; height: 100%; top: 0px; left: 0; text-indent: -99999px;}
section.sec3-1 .sec3b .members li a:hover,
section.sec3-2 .sec3b .members li a:hover {opacity: 0.4; filter: alpha(opacity=40); -ms-filter: "alpha( opacity=40 )"; background: #B2C9FF; }

section.sec3-1 .sec3b .members.catg01 li:before { height: 0; display: block; position: absolute; left: 0; content: ""; border-bottom: solid 50px #fff; border-right: solid 50px transparent; }
section.sec3-1 .sec3b .members.catg01 li:after  { height: 0; display: block; position: absolute; left: 0; content: ""; border-top: solid 50px #DD5434; border-right: solid 50px transparent; top: 0; }
section.sec3-1 .sec3b .members.catg02 li:after  { height: 0; display: block; position: absolute; left: 0; content: ""; border-top: solid 50px #EEAA3D; border-right: solid 50px transparent; top: 0; }
section.sec3-1 .sec3b .members.catg03 li:after  { height: 0; display: block; position: absolute; left: 0; content: ""; border-top: solid 50px #FDD000; border-right: solid 50px transparent; top: 0; }
section.sec3-1 .sec3b .members.catg04 li:after  { height: 0; display: block; position: absolute; left: 0; content: ""; border-top: solid 50px #A4C857; border-right: solid 50px transparent; top: 0; }
section.sec3-1 .sec3b .members.catg05 li:after  { height: 0; display: block; position: absolute; left: 0; content: ""; border-top: solid 50px #11A6A3; border-right: solid 50px transparent; top: 0; }
section.sec3-1 .sec3b .members.catg06 li:after  { height: 0; display: block; position: absolute; left: 0; content: ""; border-top: solid 50px #2AA5DC; border-right: solid 50px transparent; top: 0; }
section.sec3-1 .sec3b .members.catg07 li:after  { height: 0; display: block; position: absolute; left: 0; content: ""; border-top: solid 50px #1F79B9; border-right: solid 50px transparent; top: 0; }
section.sec3-2 .sec3b .members.catg08 li:after  { height: 0; display: block; position: absolute; left: 0; content: ""; border-top: solid 50px #4B4290; border-right: solid 50px transparent; top: 0; }
section.sec3-2 .sec3b .members.catg09 li:after  { height: 0; display: block; position: absolute; left: 0; content: ""; border-top: solid 50px #9E498F; border-right: solid 50px transparent; top: 0; }
section.sec3-2 .sec3b .members.catg10 li:after  { height: 0; display: block; position: absolute; left: 0; content: ""; border-top: solid 50px #DC5367; border-right: solid 50px transparent; top: 0; }



section.sec3-1 .sec3b .members li,
section.sec3-2 .sec3b .members li          { height: 280px; text-align: center;
box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.55);} 
section.sec3-1 .sec3b .members li img,
section.sec3-2 .sec3b .members li img      { max-width: 70%; max-height: 40%; position: absolute; top: 41%; left: 50%; transform: translate(-50%, -50%); }
section.sec3-1 .sec3b .members li p,
section.sec3-2 .sec3b .members li p        { width: 100%; text-align: center;  position: absolute; bottom: 1em; line-height: 1.2; padding: 0 6px; box-sizing: border-box; }


footer h3         { font-family: 'EB Garamond', serif;  font-size: 180%; color: #007072; line-height: 80px; text-align: center; }
footer .line    { width: 100%; background: url("img/deco_line2.png") repeat-x; background-position: top; height: 84px; }
footer .copy {    background: #007072; }
footer .copy p     { width: 1200px; font-size: 67%; color: #FFF; text-align: right; line-height: 50px; margin: 0; padding: 0; }


/******************
トップページ検索結果
******************/

#SearchResult section                                         { text-align: left; margin-top: 10%; margin-bottom: 20px; }

section .resultArea                                           { width: 1040px; height: auto; margin: auto; border-radius: 20px; background: #007072; box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.4);}
#SearchResult section .resultArea h1                          { color: #FFF; font-size: 100%; line-height: 41px; padding-left: 25px; }
#SearchResult section .resultArea ul                          { background: #FFF; padding: 0 20px 20px 20px; border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; }
#SearchResult section .resultArea ul li.corpArea              { border-bottom: solid 1px #5d5d5d; padding-bottom: 1em; padding-top: 20px; }
#SearchResult section .resultArea ul li dl                    { display: flex; }
#SearchResult section .resultArea ul li dl dt                 { width: 207px; margin-right: 30px; position: relative; }
#SearchResult section .resultArea ul li dl dt img             { max-height: 97px; max-width: 97px; position: absolute; top: 0; bottom: 0; top: 50%; left: 0%; transform: translateY(-50%); }
#SearchResult section .resultArea ul li dl ul                 { padding: 0; }
#SearchResult section .resultArea ul li dl ul h2              { font-size: 140%; line-height: 1; margin-bottom: 0px; letter-spacing: normal; color: #251e1c; }
#SearchResult section .resultArea ul li dl ul h2 a span       { margin-left: 2em; border-radius: 12px; background: rgba(0,112,114,0.35); box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.4); display: inline-block; font-size: 77.8%; padding: 5px 1.5em 3px; float: right; }
#SearchResult section .resultArea ul li dl ul h2 a:hover span { box-shadow: none; }
#SearchResult section .resultArea ul li dd                    { margin-top: -0.55em;}
#SearchResult section .resultArea ul li dd li                 { font-size: 88.9%; }
#SearchResult section .resultArea ul li dd li.resulttext      { padding: 0.8em 0 0.5em; line-height: 1.3; }

/****************
モーダルウィンドウ
*****************/
/*#Result_Search                                                  { scrollbar-width: none; -ms-overflow-style: none; }
#Result_Search::-webkit-scrollbar                               { display: none; }*/

#Result_Search section                                          { text-align: left; margin-top: 0; margin-bottom: 0; }

section .Area_result                                            { width: 1020px; height: auto; background: #007072;}
#Result_Search section .Area_result h1                          { color: #FFF; font-size: 100%; line-height: 41px; padding-left: 25px; }
#Result_Search section .Area_result ul                          { background: #FFF; padding: 0px 0px 5px 0px; }
#Result_Search section .Area_result ul li.corpArea              { border-bottom: solid 1px #5d5d5d; padding-bottom: 1em; padding-top: 20px; }
#Result_Search section .Area_result ul li dl                    { display: flex; width: 100%; }
#Result_Search section .Area_result ul li dl dt                 { width: 20%; margin-right: 30px; position: relative; }
#Result_Search section .Area_result ul li dl dt img             { max-height: 97px; max-width: 97px; position: absolute; top: 0; bottom: 0; top: 50%; left: 0%; transform: translateY(-50%); }
#Result_Search section .Area_result ul li dl ul                 { padding: 0; }
#Result_Search section .Area_result ul li dl ul h2              { font-size: 140%; line-height: 1; margin-bottom: 0px; letter-spacing: normal; color: #251e1c; }
#Result_Search section .Area_result ul li dl ul h2 a span       { margin-left: 2em; border-radius: 12px; background: rgba(0,112,114,0.35); box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.4); display: inline-block; font-size: 77.8%; padding: 5px 1.5em 3px; float: right; }
#Result_Search section .Area_result ul li dl ul h2 a:hover span { box-shadow: none; }
#Result_Search section .Area_result ul li dd                    { margin-top: -0.55em; width: 100%;}
#Result_Search section .Area_result ul li dd li                 { font-size: 88.9%; }
#Result_Search section .Area_result ul li dd li.resulttext      { padding: 0.8em 0 0.5em; line-height: 1.3; }
#Result_Search section .Area_result ul li dd li.resulttext b    { background: #ffa500; line-height: 1.1 }

#Result_Search section .Area_result .modal_close                { display: inline-block; padding: 4px 3px 4px; float: right; margin: 5px 10px 5px; color: #FFF; background: #007072; border-style: none; }
#Result_Search section .Area_result .none_Search                { color: #000; background: #FFF; text-align: center; padding-top: 5em;}

.modal { display: none; position: fixed; z-index: 2147483647; left: 0; top: 0; height: 100%; width: 100%; overflow: hidden; background-color: rgba(0,0,0,0.5); }
.modal-content { border-radius: 20px; background-color: #FFF; margin: 8% auto; width: 1055px; box-shadow: 0 5px 8px 0 rgba(0,0,0,0.2),0 7px 20px 0 rgba(0,0,0,0.17); animation-name: modalopen; animation-duration: 1s;
    height: 600px;
}
@keyframes modalopen { 
    from {opacity: 0}
    to {opacity: 1}
  }
.modal-header h1 { margin: 1rem 0; color: #FFF; font-size: 100%; line-height: 41px; padding-left: 25px; }
.modal-header { border-top-left-radius: 20px;	border-top-right-radius: 20px; height: 30px; color: #FFF; background: #007072; padding: 5px 15px; display: flex; justify-content: space-between; }
#modalResult { color: #FFF; margin: 0 auto; }
.modalClose { font-size: 1.55rem; color: #FFF; line-height: 35px; margin-left: 120px; }
.modalClose:hover { cursor: pointer; }
.modal-body { padding: 10px 10px; color: black; overflow: hidden;}
.modal-body iframe { height: 530px; }

/******************
下層ページ
******************/
#company main,
#page main,
#single main,
#single-com main                      { padding: 0; height: 350px; position: relative; background: url("img/page_visual.jpg") right center; }

#company main .logo,
#page main .logo,
#single main .logo,
#single-com main .logo                { padding: 35px 3.4%; max-width: 390px; }

#company main .mv .catch,
#page main .mv .catch,
#single main .mv .catch,
/*#single-com main .mv .catch           { position: absolute; top: 38%; left: 94%; margin: auto; transform: translateX(-25%) translateY(-25%); width: 100%; }*/
#company main .mv .catch,
#page main .mv .catch,
#single main .mv .catch,
#single-com main .mv .catch             { left: 120px; position: absolute; top: 125px; margin: auto; width: 85vmin; padding: 0; }

#company main .mv .catch h1,
#page main .mv .catch h1,
#single main .mv .catch h1,
#single-com main .mv .catch h1          {font-size: 3.8vw;}

#company section,
#page section,
#single section, 
#single-com section                   { width: 1200px; margin: auto; border-bottom: solid 1px rgba(0,112,114,0.85);}


#page section h2                      { font-size: 240%; font-weight: bold; }
#page section h3                      { font-size: 140%; font-weight: bold; margin-bottom: 1em; }
#page section p.btn                   { text-align: center; }
#page section p.btn a                 { background: #007072; border-radius: 12px; padding: 0 2em; line-height: 3em; color: #FFF; display: inline-block; box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.4); }   
#page section p.btn a:hover           { box-shadow: none; }


#page section .OverSeasSignUpArea li  { list-style: disc; margin-left: 1.5em; line-height: 1.4; margin-bottom: 0.5em; }
#page section .OverSeasSignUpArea li ol li         { list-style: none; counter-increment: cnt; margin-left: 0.3em; }
#page section .OverSeasSignUpArea li ol li::before { content: "(" counter(cnt) ") "; } 

#page section .OverSeasSignUpArea ul.register_links li { list-style: none!important; }

/************************************
NEWS  Bulleltin board 
************************************/

.content {
    width: 100%;
    background: #FFF;
    padding: 80px 0;
}
.content article.postNews {
    display: flex;
    margin-bottom: 80px;
}
.content article .left-column {
    width: 21.6%;
}
.content article .content-column {
    width: 78.14%;
}
.content article .content-column dt { font-size: 80%;
}
.content article .content-column dd h3 { font-size: 120%; font-weight: bold; line-height: 130%; margin: 1em 0 1.2em;
}
.content article .content-column dd p { }

/************************************
会員会社情報ページ　single-company.php
************************************/
#single-com section                    { font-family: "Palatino Linotype", "Book Antiqua", Palatino, "serif"; letter-spacing: normal; padding: 80px 0 0; position: relative;}
#single-com section .uName             { text-align: right; padding-bottom: 80px; position: absolute; top: 10px; right: 0;}
#single-com .data-table                { width: 100%; margin-bottom: 60px; }
#single-com .data-table .company-head  {
}
#single-com .logo-head                 { display: flex; padding-bottom: 2em; }
#single-com .logo-head-lf              { margin-right: 3%; }
#single-com .logo-head-lf img          { width: auto; height: 58px; }
#single-com .logo-head-ri h2           { font-size: 170%; line-height: 1; margin-bottom: 7px; font-family: "Lucida Sans Unicode", "Lucida Grande", "sans-serif"; color: #251E1C; }
#single-com .logo-head-ri .url-text    { line-height: 1; margin-bottom: 0; }
#single-com .logo-head-ri .url-text a    { line-height: 1; margin-bottom: 0; }
#single-com .logo-head-ri .url-text span { font-size: 80%; }

#single-com .company-head dl           { width: 100%; display: flex; }
#single-com .company-head dl dt        { width: 175px; color: #FFF; padding: 0.2em 0; box-sizing: border-box; text-align: center; border: solid 1px rgba(0,26,75,1.00); margin-bottom: -1px; margin-right: -1px;}


/* カテゴリー別色分け  */
#single-com.NuclearVendors .company-head dl dt { background: #DD5434; }
#single-com.Manufacturing .company-head dl dt  { background: #EEAA3D; }
#single-com.SteelMetal .company-head dl dt     { background: #FDD000; }
#single-com.Construction .company-head dl dt   { background: #A4C857; }
#single-com.NuclearFuel .company-head dl dt    { background: #11A6A3; }
#single-com.Transportation .company-head dl dt { background: #2AA5DC; }
#single-com.ChemicalWater .company-head dl dt  { background: #1F79B9; }
#single-com.Emergency .company-head dl dt      { background: #4B4290; }
#single-com.Services .company-head dl dt       { background: #9E498F; }
#single-com.Consulting .company-head dl dt     { background: #DC5367; }
#single-com.JAIF .company-head dl dt           { background: #007072; }


#single-com .company-head dl dd              { width: 1025px; padding: 0.2em 1em 0.1em; box-sizing: border-box; border: solid 1px rgba(0,26,75,1.00); margin-bottom: -1px; }
#single-com .company-head dl dd p            { margin-bottom: 0;}


#single-com .contentArea                     { border-radius: 15px; border: solid 1px #555; padding: 2em; box-sizing: border-box; margin-bottom: 2em; }
#single-com .contentArea h2                  { margin-bottom: 5px; }
#single-com .contentArea img                 { max-width: 78%; height: auto; margin-bottom: 1.5em; } 

#single-com .contentArea table               { border-collapse: collapse; border-spacing: 0; }
#single-com .contentArea table th,
#single-com .contentArea table td            { border: solid 1px #222; padding: 0.5em 1.5em; }

/* カテゴリー別ページの差し色  */
#single-com.NuclearVendors .contentArea h2   { padding: 0.5em; color: #FFF; background: #fa8796; border-bottom: solid 4px #DD5434; font-size: 130%; box-sizing: border-box; line-height: 0.8; }
#single-com.Manufacturing .contentArea h2    { padding: 0.5em; color: #FFF; background: #ffcc73; border-bottom: solid 4px #EEAA3D; font-size: 130%; }
#single-com.SteelMetal .contentArea h2       { padding: 0.5em; color: #FFF; background: #f7de47; border-bottom: solid 4px #FDD000; font-size: 130%; }
#single-com.Construction .contentArea h2     { padding: 0.5em; color: #FFF; background: #bbd56e; border-bottom: solid 4px #A4C857; font-size: 130%; }
#single-com.NuclearFuel .contentArea h2      { padding: 0.5em; color: #FFF; background: #64cecc; border-bottom: solid 4px #11A6A3; font-size: 130%; }
#single-com.Transportation .contentArea h2   { padding: 0.5em; color: #FFF; background: #61c3f9; border-bottom: solid 4px #2AA5DC; font-size: 130%; }
#single-com.ChemicalWater .contentArea h2    { padding: 0.5em; color: #FFF; background: #61aade; border-bottom: solid 4px #1F79B9; font-size: 130%; }
#single-com.Emergency .contentArea h2        { padding: 0.5em; color: #FFF; background: #918ac3; border-bottom: solid 4px #4B4290; font-size: 130%; }
#single-com.Services .contentArea h2         { padding: 0.5em; color: #FFF; background: #b069b0; border-bottom: solid 4px #9E498F; font-size: 130%; }
#single-com.Consulting .contentArea h2       { padding: 0.5em; color: #FFF; background: #ea95a1; border-bottom: solid 4px #DC5367; font-size: 130%; }
#single-com.JAIF .contentArea h2             { padding: 0.5em; color: #FFF; background: #219799; border-bottom: solid 4px #007072; font-size: 130%; }


#single-com .contentArea h3                  { font-size: 115%; font-weight: 700; padding: 0.7em 0 0; }
#single-com .contentArea p                   { line-height: 1.4; margin-top: 1.2em; }
#single-com .contentArea p.img               { width: 50%; margin-left: 10%; }
#single-com .contentArea p.img img           { width: 100%; height: auto; margin: 1em 0; border-radius: 20px; }
#single-com .contentArea ul li               { list-style: disc; margin-left: 1.5em; line-height: 1.4; margin-bottom: 0.5em; }
#single-com .contentArea ul li:first-child   { margin-top: 0.5em; }
#single-com .contentArea ul li ul li         { list-style: circle; margin-left: 1.5em; line-height: 1.4; margin-bottom: 0.5em; }
#single-com .contentArea ol li               { list-style:decimal; margin-left: 1.7em; line-height: 1.4; margin-bottom: 0.5em; }
#single-com .contentArea ol li:first-child   { margin-top: 0.5em; }
#single-com .contentArea ol li ol li         { list-style: none; counter-increment: cnt; margin-left: 0.3em; }
#single-com .contentArea ol li ol li::before { content: "(" counter(cnt) ") "; } 




/************************************
各固定ページテンプレート　page.php   
************************************/
#page section                    { font-family: "Palatino Linotype", "Book Antiqua", Palatino, "serif"; letter-spacing: normal; padding: 80px 0 0; position: relative;}
#page section .uName             { text-align: right; padding-bottom: 80px; position: absolute; top: 10px; right: 0;}





/************************************
新規ユーザ登録ページ　/signup/
************************************/
#wpmem_reg fieldset                        { border: none; padding: 0; margin: 40px 0 0!important; }
#wpmem_reg label                           { display: initial; line-height: 2.2; background: #eee; padding: 5px 10px; box-sizing: border-box; float: left; width: 23%; margin-right: 2%; border-radius: 6px!important; }

#wpmem_msg,
#wpmem_reg,
.wpmem_msg                                 { /*border: solid 1px rgba(163,163,163,1.00); border-radius: 10px; padding: 20px; width: 75%!important; box-sizing: border-box; margin: auto;
margin-bottom: 80px;*/ width: 100%!important; }
#wpmem_reg legend                          { font-size: 24px; line-height: 1; font-weight: 700; margin-bottom: 10px; width: 30%; }
#wpmem_reg .div_textarea textarea,
#wpmem_reg .file,
#wpmem_reg .image,
#wpmem_reg .password,
#wpmem_reg .textbox                        { width: 72%!important; background-color: white; border: 4px solid #eee!important; box-sizing: border-box; border-radius: 6px!important; }
#wpmem_reg .button_div                     { padding: 6px 0; text-align: right; float: right; }
#wpmem_reg .button_div input.buttons       { background: #007072; border: none; color: #FFF; border-radius: 5px; padding: 0.3em 2em; cursor: pointer; }
/*#wpmem_reg button,
#wpmem_reg input,
#wpmem_reg select,
#wpmem_reg textarea                        { -moz-box-sizing: border-box; font-size: 100%; margin: 0; max-width: 100%; padding: 0.3em 2em; vertical-align: baseline; background: #007072; border: none; color: #FFF; border-radius: 5px;}
*/

#wpmem_login fieldset                      { border: none; padding: 0; margin: 40px 0 0!important; }
#wpmem_login label                         { display: initial; line-height: 2.2; background: #eee; padding: 5px 10px; box-sizing: border-box; float: left; width: 30%; margin-right: 2%; border-radius: 6px!important; }
#wpmem_login                               { border: solid 1px rgba(163,163,163,1.00); border-radius: 10px; padding: 20px; width: 75%!important; box-sizing: border-box; margin: auto;
margin-bottom: 60px!important;}
#wpmem_login legend                        { font-size: 24px; line-height: 1; font-weight: 700; margin-bottom: 10px; width: 30%; }
#wpmem_login .password,
#wpmem_login .textbox,
#wpmem_login .username                     { width: 68%!important; background-color: white; border: 4px solid #eee!important; box-sizing: border-box; border-radius: 6px!important; }
#wpmem_login button,
#wpmem_login input                         { -moz-box-sizing: border-box; font-size: 100%; margin: 0; max-width: 100%; padding: 0.3em 2em; vertical-align: baseline; background: #007072; border: none; color: #FFF; border-radius: 5px; }
#wpmem_login .button_div                   { padding: 6px 0; text-align: center!important; }



.wpuf-message {
    background: #FFF!important;
    border: 1px solid rgba(163,163,163,1.00)!important;
    color: #8a6d3b;
    margin: 40px 40px 80px!important;
    padding: 20px!important;
    -webkit-border-radius: 5px!important;
    -moz-border-radius: 5px!important;
    border-radius: 5px!important;
    font-size: 100%!important;
    box-sizing: border-box;
}


p.login_status                             { width: 60%; margin: auto; margin-bottom: 80px; border: solid 1px; border-radius: 8px; padding: 2em; box-sizing: border-box; text-align: center; line-height: 2;
font-size: 130%; }
p.login_status a                           { background: #007072; border: none; color: #FFF; border-radius: 5px; padding: 0.5em 2em; }


.OverSeasSignUpArea                        { width: 80%; margin: auto; margin-bottom: 80px; border: solid 1px; border-radius: 8px; padding: 2em; box-sizing: border-box;}
.OverSeasSignUpArea .register_status       { text-align: center; font-size: 130%; } 
.OverSeasSignUpArea .register_links        { text-align: center; }
.OverSeasSignUpArea .register_links li:first-child a { -moz-box-sizing: border-box; font-size: 100%; margin: 0; max-width: 100%; padding: 0.3em 2em; vertical-align: baseline; background: #007072; border: none; color: #FFF; border-radius: 5px; cursor: pointer; line-height: 4.5; }



.OverSeasPostArea                          { width: 80%; margin: auto; margin-bottom: 80px; border: solid 1px; border-radius: 8px; padding: 2em; box-sizing: border-box;}
.OverSeasPostArea label                    { display: initial; line-height: 2.2; background: #eee; padding: 0 10px; box-sizing: border-box; float: left; width: 95%; margin-right: 2%; border-radius: 6px!important; }
.OverSeasPostArea .wpuf-fields input       { background-color: white; border: 4px solid #eee!important; box-sizing: border-box; border-radius: 6px!important; width: 100%; padding: 0.3em; }

.OverSeasPostArea .wpuf-submit-button      { -moz-box-sizing: border-box; font-size: 100%; margin: 0; max-width: 100%; padding: 0.3em 2em; vertical-align: baseline; background: #007072; border: none; color: #FFF; border-radius: 5px; cursor: pointer; }



/*****************************
イベントアーカイブページ event
*****************************/

.event section dl                          { border-top: solid 1px #949494; padding: 28px!important; display: flex; }
.event section dt                          { color: #005789; width: 20%; text-align: left; padding-right: 1.5em; box-sizing: border-box; font-family: 'Open Sans', sans-serif; font-size: 14.4px!important; }
.event section dt .new                     { color: #FF0000; font-size: 96%; border: solid 1px #F00; padding: 2px 5px; }


/******************
プライバシーポリシー
******************/
#privacy main .page-mv {
    align-items: center;
    background: url("img/privacy-mv.jpg")no-repeat 87% top/cover;
    height: 300px;
    flex-direction: row-reverse;
    position: relative;

}
#privacy ol {
    margin-top: 3em;
}
#privacy ol,
#privacy ol li {
    list-style: decimal !important;
    margin-bottom: 0.5em;
    padding-left: 1.2em;
}
#privacy ol li ul {
    margin: 0.5em 0;
    padding-left: 0;
}
#privacy ol li ul li {
    list-style: none !important;
    padding-left: 0;
    text-indent: -1.8em;
    margin-left: 2em;
}

/******************
contact form7
******************/
#page form.wpcf7-form dl                 { display: flex;}

#page form.wpcf7-form dl dt              { line-height: 1; background: #eee; padding: 1em; box-sizing: border-box; width: 25%; margin-right: 2%; border-radius: 6px!important; }
#page form.wpcf7-form dl dt span         { color: #FF0000;line-height: 1; }
#page form.wpcf7-form dl dd              { width: 75%; }
#page form.wpcf7-form dl dd input[type=password],
#page form.wpcf7-form dl dd input[type=text],
#page form.wpcf7-form dl dd input[type=date],
#page form.wpcf7-form dl dd input[type=email],
#page form.wpcf7-form dl dd input[type=number],
#page form.wpcf7-form dl dd input[type=password],
#page form.wpcf7-form dl dd input[type=text],
#page form.wpcf7-form dl dd input[type=url],
#page form.wpcf7-form dl dd textarea     { border: 4px solid rgba(0,0,0,.1); border-radius: 4px; color: #2b2b2b; padding: 0.7em 1em; background: none repeat scroll 0 0 #fff; box-sizing: border-box; width: 100%; box-sizing: border-box; }
#page form.wpcf7-form input              { -moz-box-sizing: border-box; font-size: 100%; margin: 0; max-width: 100%; padding: 0.3em 2em; vertical-align: baseline; background: #007072; border: none; color: #FFF; border-radius: 5px; }
#page form.wpcf7-form input[type=button] { margin-right: 1em; }

/******************
404
******************/
#notFound .notfound              { width: 100%; padding: 80px 0; text-align: center; }
#notFound .notfound .number      { font-family: Arial, Helvetica, "sans-serif"; font-size: 90px; line-height: 0.5; font-weight: bold; color: #505050; }
#notFound .notfound .comment     { font-weight: bold; font-size: 120%; margin-bottom: 2em; color: #505050; }
#notFound .notfound p            { color: #505050; }

.sp                              { display: none; }
.pc                              { display: block; }







/*
@media screen and (min-width: 600px) and (max-width: 1024px) {
.tbl                              { display: block; }

footer article, section article { width: 100%; }

.headline2 h2, .headline3 h2    { font-size: 230%; line-height: 1; width: 98%; margin: auto; padding: 0.25em 0; }

section.sec2 article .categoryArea {
    display: flex;
    margin-bottom: 50px;
}
section.sec2 article .categoryArea ul {
    width: 96%;
    margin: auto;
    display: flex;
}
section.sec2 article .categoryArea ul li {
    width: 100%;
    text-align: center;
    height: 128px;
    padding: 15px 6px 0;
    box-sizing: border-box;
}
section.sec2 article .categoryArea ul li dl {
    width: 100%;
}
section.sec2 article .categoryArea ul li dt img {
    width: 100%;
}
*/


@media screen and (min-width: 600px) and (max-width: 1024px ) {

        #company main .logo,
        #page main .logo,
        #single main .logo,
        #single-com main .logo                           { padding: 20px 2.4%; max-width: 390px; }
        #company main .mv .catch,
        #page main .mv .catch,
        #single main .mv .catch,
        #company main .mv .catch,
        #page main .mv .catch,
        #single main .mv .catch,
        #single-com main .mv .catch                      { left: 77px; position: absolute; top: 116px; margin: auto; width: 75vmin; padding: 0; }
        
        main .mv .catch { padding: 0 12%; top: 210px; width: 55vmin; }
        .global-nav-fixed                                 { height: 81px; }
        
        nav li.has-child ul                               { top: 81px; }

        .headline2 h2, .headline3 h2                      { width: 96%; margin: auto; }
        footer article, section article                   { width: 96%; margin: auto; }
        section.sec2 article .categoryArea ul li          { height: 128px; padding: 15px 3px 0; box-sizing: border-box;}
        section.sec2 article .categoryArea ul li dt img   { width: 100%; height: auto; }
        section.sec2 article .categoryArea ul li dd       { font-size: 65%; }
        section.sec2 article .freeWordArea                { margin: 60px 0; }
        section.sec2 article .freeWordArea form           { width: 100%; }
        section.sec2 article .freeWordArea input.freeWord { width: 100%; }

        .modal-body { padding: 10px 8px; } 
        .modal-body iframe { height: 730px; width: 100%; }
        .modal-content { border-radius: 20px; background-color: #FFF; margin: 15% 3%; width: 94%; box-shadow: 0 5px 8px 0 rgba(0,0,0,0.2),0 7px 20px 0 rgba(0,0,0,0.17); animation-name: modalopen; animation-duration: 1s; box-sizing: border-box; height: 800px; }
        section .Area_result { width: 100%; height: auto; background: #007072; }
        #Result_Search section .Area_result ul li dl ul h2 a span { margin: 10px 5px; }



        section.sec1 .content                             { padding: 60px 0 0; }
        section.sec1 .content article .left-column img    { width: 100%; height: auto; }
        section.sec1 .content article .content-column dl  { padding: 28px 40px; }
        
        section.sec3-1 .sec3b                             { padding-top: 150px; }
        
        footer .copy p                                    { width: 96%; margin: auto; }
        
        /************************************
        会員会社情報ページ　single-company.php
        ************************************/
        #company section,
        #page section,
        #single section,
        #single-com section { width: 96%; margin: auto; }

}


@media screen and (max-width: 599px) {

        .sp           { display: block; }
        .pc           { display: none !important; }
        
        .content      { width: 96%; margin: auto; }

        article       { width: 100%; }
 
        footer article, section article { position: relative; width: 96%; margin: auto; z-index: 10; }

        main                        { height: 805px; }
        main .mv video              { height: 400px; }
/*        main .mv h1                 { font-family: 'Roboto', sans-serif; font-size: 15.8vw; text-shadow:0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832,0 0 4px #001832; }*/
/*        #home .catch                { position: absolute; top: 35%; left: 49%; }*/
        main .mv .catch { padding: 0 12%; top: 210px; width: 73vmin; }


        .headline2                  { margin-bottom: 40px; letter-spacing: 0.01em; background: #e9f0e2; position: relative; }
        .headline2 h2 .uName        { position: inherit; text-align: right; padding-right: 10px; margin-top: -28px; }
        
        .lineThree                  { height: 0px; }
        
        section.sec2 article .categoryArea ul li.catg01:before,
        section.sec2 article .categoryArea ul li.catg02:before,
        section.sec2 article .categoryArea ul li.catg03:before,
        section.sec2 article .categoryArea ul li.catg04:before,
        section.sec2 article .categoryArea ul li.catg05:before,
        section.sec2 article .categoryArea ul li.catg06:before,
        section.sec2 article .categoryArea ul li.catg07:before,
        section.sec2 article .categoryArea ul li.catg08:before,
        section.sec2 article .categoryArea ul li.catg09:before,
        section.sec2 article .categoryArea ul li.catg10:before { top: 0px; }
        

        section.sec3-1 .sec3b { padding-top: 50px; }
        section.sec3-1 .sec3b .members,
        section.sec3-2 .sec3b .members       { display: flex; flex-wrap: wrap; gap: 10px; padding-bottom: 80px; justify-content: space-between; }


        .headline3                { padding: 0.3em 0 0.1em; margin-bottom: 40px; letter-spacing: 0.01em; background: rgba(255,255,255,0.8); }

        .headline2 h2,
        .headline3 h2               {font-family: 'EB Garamond', serif; font-size: 220%; font-weight: 400; line-height: 1; text-align: left; color: #007072!important; width: 98%; margin: auto;}
        .headline3 h2 { line-height: 0.8; }
        .headline2 h2 span.sub-jp,
        .headline3 h2 span.sub-jp    { font-size: 28%; color: #007072!important; }



        /*** スマホ用グローバルナビ ***/

        #sp-navi-btn ,
        #sp-navi-btn span                      { display: block; transition: all .3s; }
        #sp-navi-btn                           { display: block; width: 50px; height: 26px; position: absolute; right: 6%; top:20px; }
        #sp-navi-btn span                      { position: absolute; left: 0; width: 100%; height: 3px; border-radius: 3px; }
        #sp-navi-btn span:nth-of-type(1)       { top: 0px; background-color: #004ea2; background-color: #FFF; box-shadow: 0 2px 4px 0 rgb(0 0 0 / 40%); }
        #sp-navi-btn span:nth-of-type(2)       { top: 12px; background-color: #e8374a; background-color: #FFF; box-shadow: 0 2px 4px 0 rgb(0 0 0 / 40%); }
        #sp-navi-btn span:nth-of-type(3)       { bottom: 0px; background-color: #1674ad; background-color: #FFF; box-shadow: 0 2px 4px 0 rgb(0 0 0 / 40%); }
        #sp-navi-btn.open span:nth-of-type(1)  { -webkit-transform: translateY(12px)     rotate(-45deg); transform: translateY(12px) rotate(-45deg); }    
        #sp-navi-btn.open span:nth-of-type(2)  { opacity: 0; }
        #sp-navi-btn.open span:nth-of-type(3)  { -webkit-transform: translateY(-12px) rotate(45deg); transform: translateY(-12px) rotate(45deg); }

        nav                                    { margin: 0 !important; height: 0px !important; overflow: visible; width: 80%; top: 0px; left: 0; text-align: left; position: fixed !important; }
        nav ul                                 { display: none; padding: 0; position: absolute; top: 0px; left: 0; background:rgba(0,112,114,0.90); width: 80%; z-index: 999999; }
        nav ul li                              { border: none; width: 100%; border-bottom: solid 1px #fff; color: #FFF; text-align: left; padding: 0 1em; line-height: 65px; display: block; box-sizing: border-box; }
        nav ul li a                            { color: #FFF !important; display: block; line-height: 65px; }
        nav ul li.sub a:before                   { content: ""; display: inline-block; vertical-align: middle; width: 13px; height: 18px; background: url("img/icon-sp-sub-navi.svg") no-repeat; background-size: contain; margin-right: -0.5em; }



        section.sec1                                     { padding: 50px 0; }
        section.sec1 .content                            { padding-top: 1px; }
        section.sec1 .content article.postNews           { display: block; width: 100%; margin-bottom: 0; }
        section.sec1 .content article .left-column       { width: 100%!important; }
        section.sec1 .content article .left-column h2    { margin-top: 0.5em; text-align: center; }
        section.sec1 .content article .content-column    { width: 100%; }
        section.sec1 .content article .content-column dl { border-top: solid 1px #949494; padding: 20px 15px; }
        section.sec1 .content article.bulletinBoard      { width: 100%; }
        section.sec1 .content article.bulletinBoard h2   { font-size: 328%; letter-spacing: -0.01em; }
        section.sec1 .content article.bulletinBoard .left-column { display: none; }
        
        
        section.sec2                          { background: #007072; height: 930px; }
        section.sec2 .sec2b                   { background-size: cover; background-attachment: scroll; }
        section.sec2 article h2               { padding-top: 468px; color: #FFF; line-height: 0.75; }

        section.sec2 article .categoryArea          { display: block; }
        section.sec2 article .categoryArea h3       { font-size: 166%; text-align: left; transform: rotate(0deg); margin-bottom: 0.3em; }
        section.sec2 article .categoryArea ul       { display: flex; flex-wrap: wrap; width: 100%; margin-left: 0; }
        section.sec2 article .categoryArea ul li    { width: calc( 100% / 3 ); height: 115px; padding: 10px 6px 0;}
        section.sec2 article .categoryArea ul li dd { color: #FFF; margin-top: 0.5em; }

        section.sec2 article .freeWordArea form.freeWordSearch  { display: block;}
        section.sec2 article .freeWordArea                      { display: block; margin: 40px 0; }
        section.sec2 article .freeWordArea h3                   { font-size: 166%; text-align: left; transform: rotate(0deg); margin-left: 0px; margin-bottom: 0.3em; }
        section.sec2 article .freeWordArea input.freeWord       { width: 100%; box-sizing: border-box; }
        section.sec2 article .freeWordArea input[type="submit"] { float: right; margin-top: 0.3em; }


        /*section.sec3-1 .sec3b                  { width: 100%; background: #072c73; }*/
        /*section.sec3-1 .sec3b h2               { font-size: 370%; line-height: 0.75; padding-top: 7px; margin-top: -156px; }*/
        section.sec3-1 .sec3b h3               { background-size: 10%; padding-left: 60px; font-size: 155.6%; }
        section.sec3-1 .sec3b h3#catg01        { background-size: 10%; }
        section.sec3-1 .sec3b h3#catg02        { background-size: 10%; }
        section.sec3-1 .sec3b h3#catg03        { background-size: 10%; }
        section.sec3-1 .sec3b h3#catg04        { background-size: 10%; }
        section.sec3-1 .sec3b h3#catg05        { background-size: 10%; }
        section.sec3-1 .sec3b h3#catg06        { background-size: 10%; }
        section.sec3-1 .sec3b h3#catg07        { background-size: 10%; }
        section.sec3-2 .sec3b h3#catg08        { background-size: 10%; }
        section.sec3-2 .sec3b h3#catg09        { background-size: 10%; }
        section.sec3-2 .sec3b h3#catg10        { background-size: 10%; }

        section.sec3-1 .sec3b .members li,
        section.sec3-2 .sec3b .members li      { width: calc( (100% - 10px ) / 2 ); height: 220px; }
        section.sec3-1 .sec3b .members li dt,
        section.sec3-2 .sec3b .members li dt   { height: 120px; padding: 32px 0 31px; box-sizing: border-box; }
        section.sec3-1 .sec3b .members li img,
        section.sec3-2 .sec3b .members li img  { max-width: 70%; max-height: 40%; position: absolute; top: 29%; left: 50%; transform: translate(-50%, -50%); }
        section.sec3-1 .sec3b .members li p,
        section.sec3-2 .sec3b .members li p    { font-size: 90%; bottom: 0; }
        
        
        footer                    { padding: 30px 0 0;}
        footer article            { display: block; }
        footer .column1-2         { width: 100%; }
        footer h3                 { margin-bottom: 1.5em; line-height: 1.2; }



        /******************
        トップページ検索結果
        ******************/

        #SearchResult section                                         { text-align: left; margin-top: 10%; margin-bottom: 20px; }

        section .resultArea                                           { width: 92%; }
        #SearchResult section .resultArea ul li dl                    { display: block; }
        #SearchResult section .resultArea ul li dl ul h2 a span       { margin: 1em;}
        #SearchResult section .resultArea ul li dd                    { margin-top: 1em;}

        .modal-body { padding: 10px 8px; } 
        .modal-body iframe { height: 530px; width: 100%; }
        .modal-content { border-radius: 20px; background-color: #FFF; margin: 20% 3%; width: 94%; box-shadow: 0 5px 8px 0 rgba(0,0,0,0.2),0 7px 20px 0 rgba(0,0,0,0.17); animation-name: modalopen; animation-duration: 1s; box-sizing: border-box; height: 600px; }
        #Result_Search section .Area_result ul li dl { display: block; width: 100%; }
        #Result_Search section .Area_result ul li dl dt { width: 100%; margin-right: 30px; position: relative; text-align: center; }
        section .Area_result { width: 100%; height: auto; background: #007072; }
        #Result_Search section .Area_result ul li dl dt img { height: 50px; max-width: none; width: auto; position: static; transform: none; }
        #Result_Search section .Area_result ul li dl ul h2 { font-size: 140%; line-height: 1.2; color: #251e1c; margin: 0.5em 0; }
        #Result_Search section .Area_result ul li dl ul h2 a span { margin: 10px 5px; }
        #Result_Search section .Area_result ul li dd li.resulttext { padding: 2.2em 0 0.5em; }


        /******************
        下層ページ
        ******************/
        #company main,
        #page main,
        #single main,
        #single-com main                      { padding: 0; height: 250px; position: relative; background: url("img/page_visual.jpg") 65% 50%; }

        #company main .mv .catch,
        #page main .mv .catch,
        #single main .mv .catch,
        /*#single-com main .mv .catch           { position: absolute; top: 55%; left: 40%; margin: auto; transform: translateX(-25%) translateY(-25%); }*/
        #company main .mv .catch,
        #page main .mv .catch,
        #single main .mv .catch,
        #company main .mv .catch,
        #page main .mv .catch,
        #single main .mv .catch,
        #single-com main .mv .catch           { left: 16px; position: absolute; top: 125px; margin: auto; width: 90vmin; padding: 0; }
        #company section,
        #page section,
        #single section, 
        #single-com section                   { width: 96%;}

        #company main .mv .catch h1,
        #page main .mv .catch h1,
        #single main .mv .catch h1,
        #single-com main .mv .catch h1        {font-size: 8.8vw;}

        #single-com .content                  { padding: 60px 0; }
    
        .content article.postNews             { display: block; margin-bottom: 0; }
        .content article .left-column         { width: 100%; }
        .content article .left-column h2      { text-align: center; }
        .content article .content-column      { width: 100%; }

        #page section .uName,            
        #single-com section .uName             { text-align: right; padding-bottom: 0px; }


        #page section #wpmem_login,
        #page section .OverSeasSignUpArea,
        #page section .login_status            { width: 100%!important; padding: 1em; }
        
        #wpmem_reg .div_textarea textarea,
        #wpmem_reg .file, #wpmem_reg .image,
        #wpmem_reg .password,
        #wpmem_reg .textbox                    { width: 100%!important; }
        
        #wpmem_login .password,
        #wpmem_login .textbox,
        #wpmem_login .username                 { width: 1008%!important; }
        
        #page .OverSeasPostArea                { width: 100%; margin: auto; margin-bottom: 60px; padding: 1em 0.5em; }
        
        #page ul.wpuf-form li                  { padding: 10px 0; }

        /************************************
        会員会社情報ページ　single-company.php
        ************************************/
        #single-com section                    { width: 96%; margin: auto; padding: 30px 0; }
        #single-com section .data-table        { margin-bottom: 30px; }
        #single-com .logo-head                 { display: block; }
        #single-com .logo-head-lf              { margin: 1em 0; }
        #single-com .logo-head-lf img          { width: auto; height: 58px; }
        #single-com .logo-head-lf img          { max-width: 100%; height: auto; max-height: 80px; }
        #single-com .logo-head-ri h2           { font-size: 170%; line-height: 1;         margin-bottom: 7px; font-family: "Lucida Sans Unicode", "Lucida Grande", "sans-serif"; color: #251E1C; }

        #single-com .company-head dl           { width: 100%; display: block; border: solid 1px rgba(0,26,75,1.00); margin-bottom: -1px; }
        #single-com .company-head dl dt        { width: 100%; color: #FFF; padding: 0.2em 0; box-sizing: border-box; text-align: center; border: none; margin-bottom: 0; }

        #single-com .company-head dl dd        { width: 100%; padding: 0.2em 1em 0.1em; box-sizing: border-box; border: none; margin-bottom: 0;}

        #single-com .contentArea               { border-radius: 15px; border: solid 1px #555; padding: 1em 0.5em; box-sizing: border-box; }
        #single-com .contentArea h2            { margin-bottom: 5px; line-height: 1.2; }

        #single-com .contentArea h3            { font-size: 115%; font-weight: 700; line-height: 1.2; margin: 0.5em 0; }
        #single-com .contentArea p             { line-height: 1.4; }
        #single-com .contentArea p img         { min-width: 100%; height: auto; }
        #single-com .contentArea img           { min-width: 100%; height: auto; }


        /*****************************
        イベントアーカイブページ event
        *****************************/
        .event section dl                      { border-top: solid 1px #949494; padding: 10px 15px!important; display: block; }
        .event section dt                      { width: 100%;}








        footer .copy p { width: 98%; margin: auto; font-size: 63%; text-align: center; }

        header {
            display: block;
        }
        
        
        
        .flex {
            display: block;
        }
        .column1-2,
        .column3-2,
        .column3-1 {
            width: 100%
        }

    
        footer h2 {
            width: 100%;
        }
        footer .area-footer {
            display: block
        }
        footer .column34 {
            width: 100%;
        }
        
        th,
        td {
            display: block;
            width: 100%!important;
            padding: 0.5em 1em;
            box-sizing: border-box;
        }
        th {
            padding-bottom: 0;
        }

}
